我使用了ShredPreferences中的方法,这样我保存了我的应用程序设置,但我有一个问题。是否可以重置我保存的设置,并恢复到默认值?我正在使用的代码保存了ImageButton图像的更改。单击特定的重置按钮后,我想重置设置并恢复默认值。谢谢你所做的一切!privatestaticfinalStringMypref="pref";finalSharedPreferencespref=getSharedPreferences(Mypref,Context.MODE_PRIVATE);buttonClick1.setImageResource(pref.getInt(Mypref,R.
我正在尝试使用SharedPreferences为我的应用程序存储一些用户设置。我的Activity.onCreate方法中有这段代码:sharedPreferences=context.getSharedPreferences("MMPreferences",0);soundOn=sharedPreferences.getBoolean("soundOn",true);但它给了我这个错误(产生错误的是getBoolean):11-1016:32:24.652:D/StrictMode(706):StrictModepolicyviolation;~duration=229ms:and
我第一次使用sharedPreferences,我似乎无法克服这个错误。我有一个子菜单应该允许用户设置他们的区域。这应该会打开正确的区域Activity,并在再次打开应用程序时存储和调用。我一直在兜圈子很多次,所以有些代码会有点奇怪。我一直专注于从美国(默认)更改为英国。在DDMS中我得到这个:05-1311:22:39.344:ERROR/AndroidRuntime(960):java.lang.NullPointerException05-1311:22:39.344:ERROR/AndroidRuntime(960):atandroid.content.ContextWrapp
在登录后的应用程序中,我必须将用户名和图像保存在其他页面的共享首选项中。我可以优先保存名称,但不知道如何保存图像。我正在尝试类似的东西-SharedPreferencesmyPrefrence;StringnamePreferance="name";StringimagePreferance="image";SharedPreferences.Editoreditor=myPrefrence.edit();editor.putString("namePreferance",itemNAme);editor.putString("imagePreferance",itemImagePre
我正在开发Android应用A,以便另一个B可以读取A的SharedPreferences。在android.content.Context的javadoc中,关于MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE的描述如下:ThisconstantwasdeprecatedinAPIlevel17.Creatingworld-writablefilesisverydangerous,andlikelytocausesecurityholesinapplications.Itisstronglydiscouraged;instead,application
编辑:下面描述的问题是由于一个非常特殊的设备问题引起的,而不是由任何与编码相关的问题引起的。我有一个preferenceActivity,其中有很多checkBoxPreferences。checkBoxPreference假设保存默认的共享首选项文件,然后在我打开应用程序时再次调用以更新UI。这并没有像预期的那样发生。如果我关闭应用程序并重新打开它,我的值将保持原样,但如果我使用任务管理器结束应用程序,或者如果我重启手机(当应用程序未运行时),则会调用defaultValues再次。因此,我在我的onResume()中创建了一个SharedPreference来测试它。SharedP
Android备份服务requires备份共享首选项的文件名:publicstaticfinalStringPREFS="PrefFile";SharedPreferencesBackupHelperhelper=newSharedPreferencesBackupHelper(this,PREFS);如果在首选项创建过程中给出了文件名,那么使用什么就很清楚了publicstaticfinalStringPREF_FILE_NAME="PrefFile";SharedPreferencespreferences=getSharedPreferences(PREF_FILE_NAME,M
我将尝试解释一个简单的应用场景:我的应用会直接进入“主视图”。在此主视图中,我插入了一个TextView,它显示通过PreferenceManager创建的当前设置。为简单起见,假设我的设置中有一个复选框。当我第一次启动我的应用程序时-主视图上的TextView正确显示了我的复选框设置(true)。现在我转到设置菜单,它弹出,然后我将其更改为false。我回到主视图,没有看到任何变化。即使我将其更改为false,它仍然说是true。如果我结束应用程序然后重新启动它-一切正常,它会显示我的更改。在我更改设置时,显然主视图只是停留在后台?更改设置后如何重绘或更新主视图?
现在我可以运行下面的行来清除我的应用程序中的首选项。但是有没有办法在我的代码之外做到这一点?我可以从Eclipse或模拟器运行的命令来完成同样的事情?SharedPreferencessettings=getSharedPreferences(PREF_FILE_NAME,0);Editore=settings.edit();e.clear();e.commit(); 最佳答案 作为使用shell的替代方法,您还可以通过进入DDMS从Eclipse中删除文件。透视,然后选择FileBrowser选项卡(默认位于右上面板)并导航至/d
开篇废话开局一张图,说明一切问题。MMKV优势可以看出MMKV相比SP的优势还是比较大的,除了需要引入库,有一些修改上的成本以外,就没有什么能够阻挡MMKV了。当然了,MMKV也有着不广为人知的缺点,放在最后。MMKV还直接支持了将SharedPreferences的历史数据转换为MMKV进行存储,只不过需要注意一点,不可回退。且听我慢慢道来SP具体存在哪些问题容易anr,无论是commit、apply、getxxx都可能导致ANR。SharedPreferences本身是一个接口,其具体的实现类是SharedPreferencesImpl,而Context的各个和SharedPreferen