【问题标题】:Finding Internal App Data using Windows Explorer使用 Windows 资源管理器查找内部应用数据
【发布时间】:2013-06-07 15:10:15
【问题描述】:

我正在将一个 XML 文件保存到设备的内部存储中,如下所示:

public void saveFriendData(FriendDetails friend, Context context) throws IOException 
{
        XmlSerializer serializer = Xml.newSerializer();
        StringWriter writer = new StringWriter();
        ContextWrapper wrapper = new ContextWrapper(context);

        File friendDir = wrapper.getDir("friend", Context.MODE_PRIVATE);
        File xmlFile = new File(friendDir, String.valueOf(friend.getId()) + ".xml");
        FileOutputStream os = new FileOutputStream(xmlFile);


        serializer.setOutput(os, "UTF-8");

        //start
        serializer.startDocument(null, true);
        serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);

        serializer.startTag("", "Friend");

        serializer.startTag("", "Id");
        serializer.text(String.valueOf(friend.getId()));
        serializer.endTag("", "Id");

        serializer.startTag("", "ImageUrl");
        serializer.text(friend.get_photoUri());
        serializer.endTag("", "ImageUrl");

        serializer.endTag("", "Friend");
        serializer.endDocument();

        serializer.flush();
        os.close();


    }

使用该应用程序后,我进入 Windows 资源管理器,进入 Android/Data 目录,我希望保存 XML 的包的文件夹不存在。

谁能解释我的 XML 保存在哪里?该文件是指要保存到的目录如下:

/data/data/com.test.test/

谢谢!

【问题讨论】:

  • 没有 SD 卡的 Nexus 4 应该一文不值
  • 这里的“Windows 资源管理器”是什么?
  • 你犯了一个大错误。请阅读developer.android.com/guide/topics/data/data-storage.html
  • 我说的是当我插入 Nexus 4 并转到 Android/Data 时。我希望查看已保存到设备中的 XML。对不起,如果我没有完全理解,我是 Android 开发的新手。

标签: android


【解决方案1】:

/data/ 是私有存储,无法通过 MTP/Windows 资源管理器访问。这是设计和安全功能。

要访问/data/,您需要拥有root权限来绕过它。

Read more here

【讨论】:

  • 感谢您的回复。有没有办法可以查看我保存到手机中的 XML?它用于调试目的比什么都重要。谢谢。
  • 不要写入内部存储,写入外部存储。然后它将显示在 Windows 资源管理器中
  • 已经有很多这样的例子了,例如 (stackoverflow.com/questions/5625315/…)
【解决方案2】:
android 上的

/data 是私有的,只有存储数据的应用程序才能访问数据(并且只有他们自己的数据)。但是,您可以将文件写入 /data/local/tmp/ 文件夹。这是我所知道的唯一一个文件夹(在 /data 中),它允许任何人在没有 root 的情况下进行读写。您可以通过 adb shell 连接您的 Nexus 4 并从那里提取您的文件。请记住,在 ls 开始在 android shell 中工作之前,您必须到达 /data/local/tmp 目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-07
    • 2012-07-21
    • 1970-01-01
    • 2013-12-04
    • 2023-03-22
    • 1970-01-01
    • 2012-02-20
    • 1970-01-01
    相关资源
    最近更新 更多