我知道SharedPreferences有putFloat() , putLong() putString() , putFloat() , putLong() putInt()和putBoolean() 。 但是我需要在SharedPreferences存储Serializabletypes的对象。 我怎样才能做到这一点?
在我的应用程序,我想在广播接收器内使用共享首选项…但我不能访问里面的getPreferences()方法… SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE); 我不能与上下文对象调用…任何其他方法?
我正在使用共享首选项来存储我的应用程序的某些值。 我想查看信息实际存储在手机上的文件。 我发现有很多方法可以在Eclipse上执行此操作,但我正在Android Studio上进行debugging。 我的手机已经扎根。 我读过具有根访问权限对于读取这些types的文件非常重要。 如果没有办法,那么我将查找如何通过我的程序访问信息,然后输出到日志猫。 不过,我希望可以直接在手机上查看文件,因为它更简单。 谢谢。
在我的首选项活动中使用一个简单的EditTextPreference : <EditTextPreference android:key="SomeKey" android:title="@string/some_title" android:summary="…" android:numeric="integer" android:maxLength="2" /> 有没有办法将这个configuration值保存为整数? 现在看来,它只是允许input数字,但值仍然保存为string: 呼叫: SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); int value = preferences.getInt("SomeKey", -1); 抛出我java.lang.ClassCastException: java.lang.String ,和: SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); String value = preferences.getString("SomeKey", "-1"); 成功检索值。 如何使PreferenceActivity默认保存为整数值?
我有一个对象的ArrayList。 该对象包含types的“位图”和“string”,然后只是getters和setters两者。 首先是位图序列化? 我将如何去序列化它存储在SharedPreferences? 我看到很多人提出类似的问题,但似乎没有一个好的答案。 如果可能,我会更喜欢一些代码示例。 如果位图不是可序列化的,那么我该如何去存储这个ArrayList? 非常感谢。
我有一个扩展PreferenceActivity的类,并显示我的应用程序的首选项屏幕。 是否可以检查是否对首选项进行了更改? 这有助于… http://developer.android.com/reference/android/content/SharedPreferences.OnSharedPreferenceChangeListener.html 其他相关的文章: SharedPreferences.onSharedPreferenceChangeListener不被一致调用 public class PreferenceClass extends PreferenceActivity { OnSharedPreferenceChangeListener listener; public void onCreate(Bundle savedInstanceState) { SharedPreferences prefs = this.getSharedPreferences("settings", 0); listener = new SharedPreferences.OnSharedPreferenceChangeListener() { public void onSharedPreferenceChanged(SharedPreferences prefs, String key) { int flag = 1; } }; prefs.registerOnSharedPreferenceChangeListener(listener); super.onCreate(null); addPreferencesFromResource(R.xml.settings); } }
我正在尝试阅读Fragment内部的SharedPreferences。 我的代码就是我用来获取其他Activity的首选项。 SharedPreferences preferences = getSharedPreferences("pref", 0); 我得到错误 Cannot make a static reference to the non-static method getSharedPreferences(String, int) from the type ContextWrapper 我试图遵循这些链接,但没有运气通过静态方法和静态SharedPreferences 访问 SharedPreferences 。 感谢您的任何解决scheme。
我有一个应用程序,我必须实施“login”活动。 我有这些组件: EditText用户名 EditText密码 buttonlogin button取消 我想让我的应用程序记住用户login后的login细节,直到用户按下“注销”button。 我没有在我的XML使用偏好。 如何获取getSharedPreferences(String name,int mode)在我的应用程序中工作?
如果没有,是否有任何解决方法? 我有一个具有名称和图标指针的对象的数组列表。 我不想使用数据库。
如上所述,我将PreferenceFragment子类化并在Activity中显示。 该文档解释了如何在此处侦听首选项更改,但仅限于PreferenceActivity的子类。 由于我没有这样做,我如何倾听偏好改变? 我试过在我的PreferenceFragment实现OnSharedPreferenceChangeListener,但它似乎并没有工作( onSharedPreferenceChanged似乎永远不会被调用)。 这是我的代码到目前为止: SettingsActivity.java public class SettingsActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Display the fragment as the main content. getFragmentManager().beginTransaction().replace(android.R.id.content, new SettingsFragment()).commit(); } } SettingsFragment.java public class SettingsFragment extends PreferenceFragment implements OnSharedPreferenceChangeListener { public static final String KEY_PREF_EXERCISES = "pref_number_of_exercises"; @Override public void onCreate(Bundle savedInstanceState) { […]