有没有一种工具可以让我在Android设备上浏览数据库?类似于Sql Management Studio这样的GUI工具,它可以显示数据库、表、表中的行等等。
我正在使用Eclipse进行开发(如果重要的话,可以提供插件建议)。
谢谢!
我正在使用Eclipse进行开发(如果重要的话,可以提供插件建议)。
谢谢!
adb shell
(adb包含在SDK中),当您进入该shell时,您可以使用sqlite3
命令来浏览数据库。sqlite3
不提供GUI界面...但是,你可以将想要浏览的数据库复制到电脑上,并在那里使用任何sqlite的GUI界面。adb shell
从sqlite3中获取数据,你仍需要具有root
权限。 - Matt是的,我们可以用不同的方式来做到这一点。使用这种方法,您将在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我的建议是在模拟器上运行你的应用程序(这样你就可以直接从ADT文件浏览器中复制数据库文件),然后使用SQLite Manager Firefox插件查看它。
您可以下载一个名为“com.questoid.sqlitebrowser_1.2.0”的插件...只需在谷歌上搜索并下载即可。将其拖放到Eclipse运行文件夹下的插件文件夹中。 当您在模拟器上运行应用程序时,您将能够在DDMS部分查看所有数据库信息。