笛里谁知壮士心,沙头空照征人骨。这篇文章主要讲述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);
代码:
文章图片
文章图片
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
推荐阅读
- Android开发之扫描二维码开发
- Android 通过广播获取网络状态
- Android疑难杂症之KillProcess 和System.exit 无效
- JNI_Android 项目中调用.so动态库实现详解
- Xamarin.Android活动的生命周期
- Android 适配知识点
- Android开发实践(Java层与Jni层的数组传递)
- 从Android绘制View小例子中深入理解自定义View
- android jni与java之间数据传输时怎么转换