使用Windows文件管理器时,sdcard中不显示Sqlite数据库

时间:2014-01-07 13:34:55

标签: android sqlite file-manager

我将数据库的默认目录更改为sdcard,我想使用sqlitebrowser来访问此数据库并查看其数据,但是我可以从我的android文件管理器中看到这个数据库但是当我使用Windows文件管理器时我看不到我的SD卡中的数据库文件,我认为这是关于权限问题,但我该如何解决呢?

我的数据库在这里

public static String SDCard =  Environment.getExternalStorageDirectory().getAbsolutePath()
    + File.separator ;
    public DatabaseHelper(Context context) {


        super(context, SDCard +DATABASE_NAME, null, DATABASE_VERSION);
        transactionManager = new TransactionManager(getConnectionSource());
    }

3 个答案:

答案 0 :(得分:1)

有些Android手机的内存分为两个区块。

一个用于内部或/文件夹。内部存储器的另一部分由getExternalStorageDirectory()返回。这仍然是用户和/或PC端的内部存储器。但对于Android来说,它是外部存储器。

所以你可能正在寻找错误的文件夹。

例如在我的三星S4中我有:

  /
  /storage/emulated/0
  /storage/extSdCard

“/ storage / emulated / 0”从getExternalStorageDirectory()返回,而“/ storage / extSdCard”是我的外部SD卡。

答案 1 :(得分:0)

物理设备

您需要拥有 root访问权限的手机才能浏览Android手机上的数据文件夹(data/data/your.app.package.name),这意味着您拥有开发者设备或者您已经< em> rooted 您的设备。

(您还需要以root模式运行ADB,这可以使用adb root在命令行上实现)

如果您的手机没有root访问权限,您将无法访问数据库。

数据库默认具有rw-rw----作为权限。要访问数据库,您应该使用* nix系统上的chmod或Windows中的文件夹权限对话框更改权限级别(右键单击文件夹并为所有人设置权限

仿真设备

previous answer。您可以使用DDMS透视图访问数据库

答案 2 :(得分:0)

在MTP模式下挂载设备时bug,MTP数据库无法正确更新,客户端计算机无法看到新创建的对象。

作为一种变通方法,您可以在创建目录/文件后使用MediaScannerConnection scanFile()强制刷新数据库。