如何在Android移动设备中访问Android应用程序数据库?

如何在Android移动设备中访问Android应用程序数据库?,android,sqlite,mobile,samsung-mobile,Android,Sqlite,Mobile,Samsung Mobile,我有一个查询,如果我在模拟器上运行任何android应用程序,我可以从 数据->数据->包名文件夹->数据库->数据库名.db文件 然后使用 SQLite浏览器 但是,如果我想在我的Android移动设备上访问数据库,我该怎么做呢。我搜索了很多,但能找到如何在android移动设备上访问或查看特定应用程序的数据库。任何帮助都将收到通知。您只能从模拟器访问sqlite.db。由于安全限制,您无法从手机查看数据库 我有同样的要求,在搜索时发现使用根设备是可能的。然后我想出了这个替代方案 在emula

我有一个查询,如果我在模拟器上运行任何android应用程序,我可以从

数据->数据->包名文件夹->数据库->数据库名.db文件

然后使用

SQLite浏览器


但是,如果我想在我的Android移动设备上访问数据库,我该怎么做呢。我搜索了很多,但能找到如何在android移动设备上访问或查看特定应用程序的数据库。任何帮助都将收到通知。

您只能从模拟器访问sqlite.db。由于安全限制,您无法从手机查看数据库

我有同样的要求,在搜索时发现使用根设备是可能的。然后我想出了这个替代方案

在emulator上测试所有与移动SQLite数据相关的东西。 在通过USB连接的手机中进行测试时,记录从手机的SQLite访问的所有数据,以便在logcat中查看。
另一种解决方案是将数据库复制到SD卡并从SD卡访问

要复制数据库文件,请执行以下操作:

File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
FileChannel source = null;
FileChannel destination = null;
String currentDBPath = "/data" + context.getPackageName() + "/databases/" + DATABASE_NAME;
String backupDBPath = FOLDER_NAME + NEW_DATABASE_NAME;
File currentDB = new File(data, currentDBPath);
File backupDB = new File(sd, backupDBPath);
try {
    source = new FileInputStream(currentDB).getChannel();
    destination = new FileOutputStream(backupDB).getChannel();
    destination.transferFrom(source, 0, source.size());
    source.close();
    destination.close();
} catch (IOException e) {
    e.printStackTrace();
}

现在,在backupDBPath指定的SD卡中的给定位置有了所需的数据库文件。它可以通过SQLite浏览器通过拉db文件访问,也可以使用Eclipse插件在Eclipse内部访问。

根设备是什么意思?