草庐IT

sharedpreference

全部标签

Android 自定义 SharedPreferences 实现持久化到数据库?

我正在尝试使用SharedPreferences接口(interface)的自定义实现将应用程序的首选项保存到数据库(而不是默认的XML)。为什么?我想利用PreferenceActivity的便利来构建UI,但此应用将在多个设备上使用,因此用户设置的首选项需要跨设备保留。所以..我已经编写了实现,但无法弄清楚如何将特定的SharedPreference与PreferenceActivity相关联。我知道它使用getSharedPreferences(),但我该如何覆盖它?我可以通过某种方式注册我的SharedPreferences吗?我在API中没有看到执行此操作的任何内容。或者..

android - SharedPreferences.getBoolean 为默认值返回 true

出于某种原因,对于默认值,每次都会返回true。我卸载了我的应用程序并重新安装,然后执行以下操作来初始化值。但由于某种原因,bool值设置为true而不是false。SharedPreferencesprefs=PreferenceManager.getDefaultSharedPreferences(LoadingActivity.this);finalintlocationType=prefs.getInt(Constants.PREFS_LOCATION,0);finalbooleanskipWhatsNew=prefs.getBoolean(Constants.PREFS_DO

android - 将 SparseBooleanArray 保存到 SharedPreferences

对于我的应用程序,我需要将一个简单的SparseBooleanArray保存到内存中并稍后读取它。有什么方法可以使用SharedPreferences保存它吗?我考虑过使用SQLite数据库,但对于像这样简单的事情来说它似乎有点过分了。我在StackOverflow上找到的其他一些答案建议使用GSON将其保存为字符串,但我需要使该应用程序的文件大小保持非常轻巧和快速。有没有什么方法可以在不依赖第三方库的情况下实现这一点,同时保持良好的性能? 最佳答案 您可以使用JSON的强大功能来保存任何类型对象的共享首选项例如SparseIntA

android 不清除 sharedpreference

我想清除我在第一个Activity中放置的所有sharedpref,并在第二个Activity中将其删除。但是清除功能不起作用..这是我的代码publicclassMyActivityextendsActivityimplementsView.OnClickListener{/***Calledwhentheactivityisfirstcreated.*/publicstaticfinalStringPREFS_NAME="ResumePrefs";SharedPreferencessettings;publicvoidonCreate(BundlesavedInstanceStat

android - 用 Dagger 2 和 RxJava2 包装 SharedPreferences

我是否需要包装AndroidSharedPreferences类?如果是,能否请您提供一个简单的工作示例?我知道如何使用SharedPreferences,但是当涉及到包装它并为它提供Dagger2和RxJava2时,我感到很困惑。 最佳答案 我通常只是使用一个名为LocalStorage或类似的接口(interface)来包装它。然后将Context注入(inject)到实现中,并像往常一样实现您的SharedPreferences。如果您想使用Rx,只需确保您的接口(interface)方法返回Observables。然后,每当

android - 尝试在 ActionbarActivity 的 fragment 中对 SharedPreferences 的空对象引用调用虚拟方法

我的应用需要在后台访问共享首选项文件。自从我开始使用v21支持库的actionbaractivity来保存我的fragment后,我的应用程序就强制关闭了。只要fragment离开屏幕,它就会强制关闭,但异步任务仍在运行并尝试访问该sharedpreferences文件。为什么会出现此错误,我该如何解决?这是堆栈跟踪:12-2223:49:49.469:E/AndroidRuntime(23016):FATALEXCEPTION:AsyncTask#412-2223:49:49.469:E/AndroidRuntime(23016):Process:com.bernard.beacon

android - 如何在android中的sharedpreferences中存储位图对象

这个问题在这里已经有了答案:HowtostoreandretrievebitmapinsharedPreferencesinAndroid?(4个答案)关闭9年前。我想将位图对象存储在共享首选项中,并在恢复方法中检索该对象并将其设置在后台。请告诉我如何从共享首选项中存储和检索它。问题是在共享首选项中我们可以放置String、int、bolean、long等值,但不是bitmao对象。请帮我解决这个问题。下面是我的代码:@OverrideprotectedvoidonResume(){super.onResume();rl_changeBackground.setBackgroundDr

安卓 : SharedPreferences in BroadcastReceiver RadioButton's integer value do not update?

我有更改单选按钮的Activity。在oncreate方法中sharedPreferences=PreferenceManager.getDefaultSharedPreferences(this);radioGroup=(RadioGroup)findViewById(R.id.radiogroup);radioGroup.setOnCheckedChangeListener(radioGroupOnCheckedChangeListener);实现覆盖的方法并获取单选按钮保存共享偏好RadioGroup.OnCheckedChangeListenerradioGroupOnChec

android - 使用 SharedPreference 保存字符串数组

我有4个数组,希望能够在设备内部保存:String[]debtName=newString[10];String[]debtAmount=newString[10];String[]debtRate=newString[10];String[]debtPayment=newString[10];我的完整onCreate在这里:packagebiz.midl.debtsnowball;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.HashSet;importjava.util.List;importjav

java - SharedPreferences.Editor apply() 失败

正如文档所说,Unlikecommit(),whichwritesitspreferencesouttopersistentstoragesynchronously,apply()commitsitschangestothein-memorySharedPreferencesimmediatelybutstartsanasynchronouscommittodiskandyouwon'tbenotifiedofanyfailures.这是否意味着,如果出现某些故障(例如可用空间不足),我的SharedPreferences将恢复到以前的状态,并且不会创建任何异常?我的应用会崩溃吗?