1

这是我试图在 android 的内部存储中创建文件的代码。它在模拟器中工作,我可以在 data/data/packagename/ 中看到该文件,但在真实设备中我找不到该文件。 为了更清楚,我在真实设备中找不到路径 data/data/peckagename/,也没有看到任何文件名 data.txt。我也想使用 eclipse 或任何其他应用程序导出它

File mydir = this.getDir("mydir", Context.MODE_PRIVATE); //Creating an internal dir;
    File    heapFile = new File(mydir, "data.txt"); 
     FileWriter heapFileWritter = null;
     String file="";
    try{
        if (!heapFile.exists()) {

             heapFile.createNewFile();

        }
         file = heapFile.getAbsolutePath();
           heapFileWritter = new FileWriter(file);

           heapFileWritter.write(MyService.callcount);
4

4 回答 4

2

您只能看到外部存储中的文件,您无法看到设备内部存储中的文件,除非您为此植根或安装了应用程序,

于 2013-07-24T08:16:22.787 回答
2

要访问真实设备中的 data/data/peckagename 目录,您需要有根设备。这是一个设备。在模拟器中,您可以看到使用 DDMS fileexplorer。但对于您需要根设备的设备。

对于有根设备:

  1. 使用终端转到 adb 目录
  2. 亚行外壳

  3. cd /data/data/peckagename
于 2013-07-24T08:37:55.740 回答
1

将此权限添加到您的 Minifest

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
于 2013-07-24T08:07:20.450 回答
1

如果这适用于您的模拟器,那么做一件事。使用数据线连接手机并启用 USB 调试模式。并查看在与 en eclipse 连接时在手机上运行您的应用程序。并检查 logcat。这应该告诉你发生了什么..或者你可以在创建文件之前和之后做一些吐司来告诉你它是否对你有用……这可能看起来像 (if (heapFile.exists()) { toast .makeText(this, "created"+path,1000).show();

我对第一个解决方案并不积极,但第二个应该有效!

于 2013-07-24T08:27:36.407 回答