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

时间:2014-07-23 06:15:07

标签: android sqlite mobile samsung-mobile

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

检查其数据库
  

数据 - >数据 - >包名称文件夹 - >数据库 - >数据库名称.bb文件

然后使用

访问它
  

SQLite浏览器

但如果我想在我的Android移动设备上访问数据库,我该怎么办呢。我搜索了很多,但可以找到如何访问或查看特定应用程序的Android移动设备中的数据库。任何帮助都会得到满足。

2 个答案:

答案 0 :(得分:5)

另一种解决方案是将数据库复制到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 Browser通过拉动db文件或使用Eclipse插件http://www.4shared.com/file/usHZdRdz/comquestoidsqlitemanager_100.html?locale=en来访问,通过它可以在Eclipse内部访问它。

答案 1 :(得分:2)

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

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

  1. 在模拟器上测试所有与移动SQLite数据相关的内容。
  2. 在通过USB连接的手机中进行测试时,记录从手机的SQLite访问的所有数据,以便可以在logcat中查看。