Android Saving Data

笛里谁知壮士心,沙头空照征人骨。这篇文章主要讲述Android Saving Data相关的知识,希望能为你提供帮助。
Saving Key-value Sets  保存键值对
SharedPreferences只能用来保存一些简单的数据,并且这些数据可以是共享的,也可以是私有的。
SharedPreferences没有构造方法,只能同个Context中的getSharePreference获得。
获取共享首选项的句柄您可以通过调用以下两种方法之一创建新的共享首选项文件或访问现有的文件:

  • getSharedPreferences() — 如果您需要按照您用第一个参数指定的名称识别的多个共享首选项文件,请使用此方法。 您可以从您的应用中的任何 Context 调用此方法。
  • getPreferences() — 如果您只需使用 Activity 的一个共享首选项,请从 Activity 中使用此方法。 因为此方法会检索属于该 Activity 的默认共享首选项文件,您无需提供名称。
例如,以下代码在 Fragment 内执行。它访问通过资源字符串 R.string.preference_file_key 识别的共享首选项文件并且使用专用模式打开它,从而仅允许您的应用访问文件。
例如,以下代码在 Fragment 内执行。它访问通过资源字符串 R.string.preference_file_key 识别的共享首选项文件并且使用专用模式打开它,从而仅允许您的应用访问文件。
Context context = getActivity();
SharedPreferences sharedPref = context.getSharedPreferences(
        getString(R.string.preference_file_key), Context.MODE_PRIVATE);

命名您的共享首选项文件时,您应使用对于您的应用而言唯一可识别的名称,比如 "com.example.myapp.PREFERENCE_FILE_KEY"
【Android Saving Data】或者,如果您只需 Activity 的一个共享首选项文件,您可以使用 getPreferences() 方法:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);

写入共享首选项要写入共享首选项文件,请通过对您的 SharedPreferences 调用 edit() 来创建一个 SharedPreferences.Editor
传递您想要使用诸如 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 = https://www.songbingjia.com/android/getResources().getInteger(R.string.saved_high_score_default);
long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue);


代码:

Android Saving Data

文章图片
Android Saving Data

文章图片
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)); } }); } }

View Code 












    推荐阅读