Saving Key-value Sets 保存键值对html
SharedPreferences只能用来保存一些简单的数据,而且这些数据能够是共享的,也能够是私有的。
java
SharedPreferences没有构造方法,只能同个Context中的getSharePreference得到。
android
您能够经过调用如下两种方法之一建立新的共享首选项文件或访问现有的文件:app
getSharedPreferences()
— 若是您须要按照您用第一个参数指定的名称识别的多个共享首选项文件,请使用此方法。 您能够从您的应用中的任何 Context
调用此方法。getPreferences()
— 若是您只需使用 Activity 的一个共享首选项,请从 Activity
中使用此方法。 由于此方法会检索属于该 Activity 的默认共享首选项文件,您无需提供名称。例如,如下代码在 Fragment
内执行。它访问经过资源字符串 R.string.preference_file_key
识别的共享首选项文件而且使用专用模式打开它,从而仅容许您的应用访问文件。ide
例如,如下代码在 Fragment
内执行。它访问经过资源字符串 R.string.preference_file_key
识别的共享首选项文件而且使用专用模式打开它,从而仅容许您的应用访问文件。spa
Context context = getActivity();
SharedPreferences sharedPref = context.getSharedPreferences(
getString(R.string.preference_file_key), Context.MODE_PRIVATE);
命名您的共享首选项文件时,您应使用对于您的应用而言惟一可识别的名称,好比 "com.example.myapp.PREFERENCE_FILE_KEY"
code
或者,若是您只需 Activity 的一个共享首选项文件,您能够使用 getPreferences()
方法:htm
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
要写入共享首选项文件,请经过对您的 SharedPreferences
调用 edit()
来建立一个 SharedPreferences.Editor
。blog
传递您想要使用诸如 putInt()
和 putString()
方法写入的键和值。而后,调用 commit()
以保存所作的更改。例如:资源
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score), newHighScore);
editor.commit();
要从共享首选项文件中检索值,请调用诸如 getInt()
和 getString()
等方法,为您想要的值提供键,并根据须要提供要在键不存在的状况下返回的默认值。例如:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
int defaultValue = getResources().getInteger(R.string.saved_high_score_default);
long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue);
代码:
public class MainActivity extends Activity { TextView view; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fragment_layout); view=(TextView) findViewById(R.id.textView1); Button write=(Button) findViewById(R.id.button1); write.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub SharedPreferences sp=getPreferences(MODE_PRIVATE); Editor editor=sp.edit(); editor.putInt(getString(R.string.flag), 1); editor.commit(); } }); Button read=(Button) findViewById(R.id.button2); read.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub SharedPreferences sp=getPreferences(MODE_PRIVATE); int defalt=-1; int res=sp.getInt(getString(R.string.flag), defalt); view.setText(String.valueOf(res)); } }); } }