将文件保存到手机而不是SD卡

时间:2011-01-13 09:36:56

标签: android file save

在我的应用中,我通过File newxmlfile = new File(Environment.getExternalStorageDirectory() + "/Message.xml");

将XML文件保存到用户的SD卡

但并非所有用户手机都有SD卡,因此我的应用可能会崩溃。

如何更改文件创建方法以将文件保存到手机内存而不是SD卡?

另外,我该如何更改文件的加载? (目前:new InputSource(new FileInputStream(Environment.getExternalStorageDirectory() + "/Message.xml"))

编辑:我不认为你的问题是正确的。我知道Android Docs的数据存储页面,我已经阅读过了。我只是想知道如何调整它以匹配我当前保存和加载文件的方式。

4 个答案:

答案 0 :(得分:4)

通过更改

获得
Environment.getExternalStorageDirectory() + "/Message.xml"

Environment.getDataDirectory() + "/data/com.companyname.appname/files/Message.xml"

答案 1 :(得分:3)

首先,您应该检查外部存储(SD卡)是否可用并通过检查getExternalStorageState()来准备写入。 在此处阅读更多内容:http://developer.android.com/guide/topics/data/data-storage.html#filesExternal

然后,如果SD卡不可用,您可以写入内部存储器。 在此处阅读更多信息,例如如何撰写和阅读:http://developer.android.com/guide/topics/data/data-storage.html#filesInternal

答案 2 :(得分:2)

尝试andriods Data-Storage

希望这有帮助。

答案 3 :(得分:1)

您可以使用openFileOutput来访问内部存储空间。有关详细信息,请阅读documentation on internal storage