我使用Eclipse打开data/data/your.package.name/databases
,但data
中没有任何内容。
有些人说我没有获得" root权限"。
如何查看我的SQLite?
答案 0 :(得分:1)
我认为最简单的方法是在您的应用中编写一个小功能,将/data/.../etc
复制到/sdcard/
或其他地方。
之后,您将能够从计算机上打开该数据库。
以下是完整的答案,如何将文件复制到SD卡中:https://stackoverflow.com/a/19093736/2891426
我会在一个全新的类中实现这个函数,并创建一个调用它的按钮。或类似的东西。
您可以从此处下载小型Windows应用程序,以浏览数据库文件:http://sqlitebrowser.org/
答案 1 :(得分:0)
您需要root权限才能查看设备上的数据库。您可以使用模拟器而不是物理设备,这样您就可以在Eclipse中浏览数据库。
答案 2 :(得分:0)
您无需拥有root权限即可访问外部存储空间。你需要内部存储。在ddms的eclipse中转到android / data / yourpackage,在那里你应该找到你的应用程序创建的所有文件。如果没有文件,则没有数据库。 一旦找到数据库,就可以使用sqliteman查看其内容 http://sourceforge.net/projects/sqliteman/files
最佳解决方案是使用内部存储,然后在您想要访问它时将其导出到外部。看这里:https://stackoverflow.com/a/19093736/2026478
public void exportDatabse(String databaseName) {
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite()) {
String currentDBPath = "//data//"+getPackageName()+"//databases//"+databaseName+"";
String backupDBPath = "backupname.db";
File currentDB = new File(data, currentDBPath);
File backupDB = new File(sd, backupDBPath);
if (currentDB.exists()) {
FileChannel src = new FileInputStream(currentDB).getChannel();
FileChannel dst = new FileOutputStream(backupDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
}
}
} catch (Exception e) {
}
}
答案 3 :(得分:0)
您应该使用SQLiteBrowser,因为您可以轻松访问您的数据库。 您可以从这里下载http://sqlitebrowser.org/