Android PreferenceActivity获取SharedPreferences2015-07-30 07:37:41

( 1人已投票,[高质量] )
分享: ╬收藏
31.3K

在Android传参是很常用的方法,许多应用程序都提供一个方法,使得在一个特定的应用程序或者仅仅从activity中来捕获用户的参数。

import android.preference.PreferenceManager;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.getBoolean("keystring", true);//获取

Android中提供了一组简单的API,参数是典型的成对的名称。

他们可以跨过一个应用程序的各种activities作为“Shared Preferences” 被存储(注意目前它不能跨进程共享),或者它可能是一些需要特殊存储到一个activity中。
1.共享参数:共享参数可以被所有的组件(activities、services等等)脱离应用程序使用
2.activity处理参数:这些参数只能在activity中使用,不能被应用的其他组件使用。
共享参数:
共享参数在context类下的getSharedPreferences方法的帮助下是被托管的。参数是存储在一个默认的文件(1)中,或者你可以指定一个文件名(2)来存储参数。
这就是当你指定文件名称的时候如何获得示例:


public static final String PREF_FILE_NAME= "PrefFile"; 
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);

MODE_PRIVATE是操作模式的参数。它是默认的模式,而且意味着创建的文件夹只能被调用的应用程序访问。其他两个被支持的模式参数是MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE。在MODE_WORLD_READABLE中其他的应用程序可以读创建的文件夹但是不能修改。在MODE_WORLD_WRITEABLE中其他的应用程序也有写创建的文件夹的权限。
下边介绍的方法就是使用默认的模式,没有指定文件名。


SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);


最终,一旦你有了参数实例,这事你怎么从参数中检索到存储值:
为了在参数文件SharedPreference中存储值,必须要使用Editor对象。Editor是SharedPreference 类内嵌的接口。


SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference);
// value to storeeditor.commit();


Editor还支持像用remove() 和 clear()方法从文件中删除参数值。


Activity参数:


共享参数可以被其他应用程序组件使用。但是如果你不想和其他组件分享参数,想要有activity私有参数,你可以在activity的getPreferences() 方法的帮助下实现。getPreference 方法使用带着activity类名字的getSharedPreferences()方法给参数文件命名。。
下边的代码就是获得参数:


SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);
//The code to store values is also same as in case of shared preferences.


下边存储值得代码和共享参数的情况下一样


SharedPreferences preferences = getPreference(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference);
editor.commit();


你也可以使用其他方法,就像在数据库中存储activity状态。注意android也包含了一个叫做android.preference的包。这个包定义了类来实现应用程序参数UI。






头像

snowcoal
  • Android
  • 共享优先权

本文标签:

Android共享优先权

收藏到我的私密空间

标题:Android PreferenceActivity获取SharedPreferences

作者:柳岸花明

你暂未登录,请登录后才可收藏至您的私密空间 确认取消
雪炭网

键盘操作 更便捷 -雪炭网雪中送炭-乐趣无限