Bar*_*rey 6 android sharedpreferences
我的英语很不好因为我是俄罗斯人.:)
在我的应用程序中,我SharedPreferences用来存储我的值.数据存储在SharedPreferences应用程序运行时和退出之后.一切正常,直到我重新启动设备.重启后我无法使用SharedPreferences,应用程序不会从那里读取和写入数据.我使用该函数getPreferences(0)从应用程序数据文件夹中获取首选项.我也试过用getSharedPreferences(myPref, MODE_PRIVATE),但效果是一样的.仅保存一个解决方案 - 重启设备后的数据清理应用程序
favoriteButton = (ImageView) findViewById(R.id.favorite_button);
SharedPreferences favorite = getSharedPreferences("Favorites", MODE_PRIVATE);
if(favorite.getString(""+Loader.currentVideo.getTitle()+"", "") == "true") {
favoriteButton.setImageDrawable(getResources().getDrawable(R.drawable.fav_selected));
} else {
favoriteButton.setImageDrawable(getResources().getDrawable(R.drawable.fav_empty));
}
favoriteButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
SharedPreferences favorite = getSharedPreferences("Favorites", MODE_PRIVATE);
SharedPreferences.Editor editor = favorite.edit();
if(favorite.getString(""+Loader.currentVideo.getTitle()+"", "") == "true") {
favoriteButton.setImageDrawable(getResources().getDrawable(R.drawable.fav_empty));
Loader.favoriteVideos.remove(Loader.currentVideo);
editor.remove(""+Loader.currentVideo.getTitle()+"");
} else {
favoriteButton.setImageDrawable(getResources().getDrawable(R.drawable.fav_selected));
Loader.favoriteVideos.add(Loader.currentVideo);
editor.putString(""+Loader.currentVideo.getTitle()+"", "true");
}
editor.commit();
}
});
Run Code Online (Sandbox Code Playgroud)
以下代码应该可以帮助您保存共享首选项。重要的部分是 edit.commit(); 如果这不起作用,那么您使用的手机可能有一些不同的行为,因为手机制造商可能已经修改了某些内容。
private static final String PREFERENCES = "Preferences";
static protected SharedPreferences getSharedPreferences( Context context ) {
return context.getSharedPreferences( PREFERENCES, Context.MODE_PRIVATE);
}
public void setString(String setting, String value) {
SharedPreferences settings = getSharedPreferences( getApplicationContext() );
Editor edit = settings.edit();
edit.putString(setting, value);
edit.commit();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8389 次 |
| 最近记录: |