Android - 如何在设备上查看SQLite数据库?

8
有没有一种工具可以让我在Android设备上浏览数据库?类似于Sql Management Studio这样的GUI工具,它可以显示数据库、表、表中的行等等。
我正在使用Eclipse进行开发(如果重要的话,可以提供插件建议)。
谢谢!

可能是重复的问题:查看Android数据库、表和数据的工具 - Thilo
4个回答

5
首先,除非你以root用户身份登录(有几个教程可以解释如何在Android上获取root权限),否则无法“浏览”数据库。其次,您可以使用adb shell(adb包含在SDK中),当您进入该shell时,您可以使用sqlite3命令来浏览数据库。
当然,sqlite3不提供GUI界面...但是,你可以将想要浏览的数据库复制到电脑上,并在那里使用任何sqlite的GUI界面。

5
需要澄清的是,即使是使用adb shell从sqlite3中获取数据,你仍需要具有root权限。 - Matt

4

是的,我们可以用不同的方式来做到这一点。使用这种方法,您将在SD卡中获得数据库。

        String sourceLocation = "/data/data/com.sample/databases/yourdb.sqlite" ;// Your database path
        String destLocation = "yourdb.sqlite";
        try {
            File sd = Environment.getExternalStorageDirectory();
            if(sd.canWrite()){
                File source=new File(sourceLocation);
                File dest=new File(sd+"/"+destLocation);
                if(!dest.exists()){
                    dest.createNewFile();
                }
                if(source.exists()){
                    InputStream  src=new FileInputStream(source);
                    OutputStream dst=new FileOutputStream(dest);
                    // Copy the bits from instream to outstream
                    byte[] buf = new byte[1024];
                    int len;
                    while ((len = src.read(buf)) > 0) {
                        dst.write(buf, 0, len);
                    }
                    src.close();
                    dst.close();
                }
            }
            return true;
        } catch (Exception ex) {
            ex.printStackTrace();
            return false;
        }

您需要授予权限

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

/data/data 是一个受权限保护的存储空间。只能在模拟器上访问(也许在已经获取 root 权限的手机上也可以)。 - AlikElzin-kilaka
谢谢。我没有越狱的手机,这个解决方案对我有效! - Ocean Airdrop

3

我的建议是在模拟器上运行你的应用程序(这样你就可以直接从ADT文件浏览器中复制数据库文件),然后使用SQLite Manager Firefox插件查看它。


对我很有帮助,非常感谢! - fbfatboy

0

您可以下载一个名为“com.questoid.sqlitebrowser_1.2.0”的插件...只需在谷歌上搜索并下载即可。将其拖放到Eclipse运行文件夹下的插件文件夹中。 当您在模拟器上运行应用程序时,您将能够在DDMS部分查看所有数据库信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接