我正试图用以下代码在Android中保存用户偏好:
import java.util.prefs.Preferences;
class MyClass {
void save() throws Exception {
_prefs.put("NAME","VALUE");
_prefs.flush(); // Throws exception
}
private final Preferences _prefs = Preferences.userNodeForPackage(MyClass.class);
}
但是";"冲洗";调用生成以下异常:
W/java.util.prefs: Could not lock User prefs. Unix error code 2.
W/System.err: java.util.prefs.BackingStoreException: Couldn't get file lock.
我猜是权限问题。所以我在AndroidManifest.xml 中添加了以下内容
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
但我还是有例外。
如何使用java.util.prefs.preferences类在Android中保存用户首选项?
阅读一些文档,尤其是警告部分
在Android上;系统";以及";用户";首选项存储在文件系统中应用程序无法访问的部分中。此外,允许应用程序设置";"全系统";偏好与android的安全模型相悖。
代替Preferences
使用SharedPreferences
,HERE 中的一些文档