我注意到我的应用程序在外部存储(即SD卡)上的数据在“adb install -r”期间被删除。虽然这对于卸载是正常的(然后安装后可选择注意它),但我不明白为什么重新安装这种情况(因此也适用于市场更新)。我本可以发誓这并非总是如此。
参考http://developer.android.com/guide/topics/data/data-storage.html#filesExternal我在Android 2.2上专门使用“访问外部存储上的文件”,但没有“保存应该共享的文件”或“保存缓存文件”。所以我在“/ sdcard / Android / data // files / somefolder / data”中编写和读取数据。我的偏好确实坚持。
@Commonsware:问题不在于getExternalFilesDir()恕我直言,因为我看到我的数据写在我期望的地方。它只是不坚持。我正在使用a.o。:
public static File getDefaultDirectory(Context context, String packageName) {
File dir;
if(mActivity_getExternalFilesDir!=null){//API >=8
dir = invokeGetExternalFilesDir(context, "fortune");
}else if(mEnvironment_getExternalStorageDirectory!=null){//API <=7
dir = invokeGetExternalStorageDirectory();
dir = new File(dir.getPath() + "/Android/data/" + packageName + "/files/");
}else{
//should never occur
return null;
}
return dir;
}
答案 0 :(得分:5)
getExternalFilesDir()
直到姜饼。