在我的应用中,我通过File newxmlfile = new File(Environment.getExternalStorageDirectory() + "/Message.xml");
但并非所有用户手机都有SD卡,因此我的应用可能会崩溃。
如何更改文件创建方法以将文件保存到手机内存而不是SD卡?
另外,我该如何更改文件的加载? (目前:new InputSource(new FileInputStream(Environment.getExternalStorageDirectory() + "/Message.xml"))
)
答案 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。