我几乎感到尴尬的问这个,但我真的找不到我的手机上的应用程序。我读到应用程序应安装在/ data / data /文件夹中,但在Astro中查看时,我的/ data文件夹似乎是空的。我的应用程序绝对安装在手机上,我应该将其转移到SD以使其可见吗?我在Orange UK上有一个无根的HTC Desire HD。我只需要看看我的App管理的SQLite数据库。
答案 0 :(得分:11)
我几乎感到很尴尬,但我真的找不到我手机上的应用程序了。
在“设置”中查找>应用程序以查看是否已安装。如果是,您在LAUNCHER
类别(操作MAIN
)中声明的任何活动都将显示在主屏幕启动器中。
我读到应用程序应安装在/ data / data /文件夹中,但在Astro中查看时,我的/ data文件夹似乎是空的。
您无权在非root电话上查看该目录。
我的应用程序绝对安装在手机上,我应该将其转移到SD才能看到它吗?
您的应用程序将不再“可见”。
我只需要看看我的App管理的SQLite数据库。
为您的应用添加备份/还原功能,将SQLite文件复制到外部存储或从外部存储复制。但请确保先关闭所有SQLiteDatabase
个对象。
答案 1 :(得分:7)
简单的答案是,
快乐的编码!!!
<强>更新强>
通过以下功能将数据库复制到SD卡还有另一种方法,
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) {
}
}
答案 2 :(得分:0)
root 不(android:debuggable="true"
)请参阅How can I see the contents of a sqlite db of my app in a real device?