我的应用在哪里?/ data显示为空

Tom*_*ala 4 android sd-card

我几乎感到尴尬的问这个,但我真的找不到我的手机上的应用程序.我读到应用程序应安装在/ data/data /文件夹中,但在Astro中查看时,我的/ data文件夹似乎是空的.我的应用程序绝对安装在手机上,我应该将其转移到SD以使其可见吗?我在Orange UK上有一个无根的HTC Desire HD.我只需要看看我的App管理的SQLite数据库.

Com*_*are 11

我几乎感到尴尬的问这个,但我真的找不到我的手机上的应用程序.

在"设置">"应用程序"中查找它是否已安装.如果是,您在LAUNCHER类别(操作MAIN)中声明的任何活动都将显示在主屏幕启动器中.

我读到应用程序应安装在/ data/data /文件夹中,但在Astro中查看时,我的/ data文件夹似乎是空的.

您无权在非root用户的手机上查看该目录.

我的应用程序绝对安装在手机上,我应该将其转移到SD以使其可见吗?

您的应用将不再"可见".

我只需要看看我的App管理的SQLite数据库.

为您的应用添加备份/还原功能,将SQLite文件复制到外部存储或从外部存储复制.但是,请确保SQLiteDatabase先关闭所有对象.


Pra*_*ysa 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) {

    }
}
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

23500 次

最近记录:

9 年,6 月 前