SharedPerferences 保存数据,android提供用于保存简单配置信息,标记,用户数据的一种方式
2016-09-18 22:35
555 查看
使用SharedPreferences 保存数据
SharedPreferences 是android提供用于保存简单配置信息,标记,用户数据的一种方式
数据会以一个XML文件的格式存储在应用程序(APP)的私有目录中
(/data/data/package_name/shared_prefs下的.xml文件),该文件只能被本应用访问,所以数据是安全的
我们也不需要考虑同步问题。
1、写入数据:
通过Activity中的getSharedPreferences(name,mode)获取一个SharedPreference对象
再通过SharedPreference对象得到一个SharedPreference.editor对象,再把数据put到editor中,最后要commit提交保存
存储的数据类型:包含基本数据类型和字符串,不支持其它类型
2、读取数据
获取SharedPreference对象后通过getString方法指定key获取
3、清除数据
把shared_prefs下的文件内容清除,可以使用editor.clear方法,清除后文件还在,内容被清除
实例: 在编辑信息时,其它应用被打开后,保存正在编辑的信息,用户返回该应用后可以继续编辑信息:
布局文件配置:
2.activity中
小结:
使用SharedPreferences 在项目中可以实现:
1.用户自动登录功能(token(令牌),cookie(小甜点),session(会话–有生命周期))
2.应用程序首次启动的引导页面
3.保存临时数据(发送短信)
4.应用的配置参数(个性化参数)
SharedPreferences 是android提供用于保存简单配置信息,标记,用户数据的一种方式
数据会以一个XML文件的格式存储在应用程序(APP)的私有目录中
(/data/data/package_name/shared_prefs下的.xml文件),该文件只能被本应用访问,所以数据是安全的
我们也不需要考虑同步问题。
1、写入数据:
通过Activity中的getSharedPreferences(name,mode)获取一个SharedPreference对象
再通过SharedPreference对象得到一个SharedPreference.editor对象,再把数据put到editor中,最后要commit提交保存
存储的数据类型:包含基本数据类型和字符串,不支持其它类型
2、读取数据
获取SharedPreference对象后通过getString方法指定key获取
3、清除数据
把shared_prefs下的文件内容清除,可以使用editor.clear方法,清除后文件还在,内容被清除
实例: 在编辑信息时,其它应用被打开后,保存正在编辑的信息,用户返回该应用后可以继续编辑信息:
布局文件配置:
<TextView android:text="信心" android:id="@+id/editText_info" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@+id/button" android:layout_alignParentTop="true" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/editText_msg" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_toLeftOf="@+id/button" android:layout_toStartOf="@+id/button" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="发送" android:onClick="sendClick" android:id="@+id/button" android:layout_alignBottom="@+id/editText_msg" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" />
2.activity中
private TextView textView_info; private EditText editText_msg; private SharedPreferences sp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView_info= (TextView) findViewById(R.id.editText_info); editText_msg= (EditText) findViewById(R.id.editText_msg); sp =getSharedPreferences("msg",MODE_PRIVATE); } //从shaped_prefs读取数据保存在editView上 @Override protected void onResume() { super.onResume(); String msg = sp.getString("msg", ""); editText_msg.setText(msg); } //保存editText上的数据 @Override protected void onPause() { super.onPause(); String msg =editText_msg.getText().toString(); if(TextUtils.isEmpty(msg)){ return; //是为了程序不在往下执行 } SharedPreferences.Editor editor = sp.edit(); //文件名为msg.xml editor.putString("msg",msg); editor.commit(); } public void sendClick(View view){ String msg =editText_msg.getText().toString(); if(TextUtils.isEmpty(msg)){ Toast.makeText(MainActivity.this, "msg not null", Toast.LENGTH_SHORT).show(); return; } textView_info.append("\n"+msg); editText_msg.setText(""); SharedPreferences.Editor editor = sp.edit(); editor.clear(); //清除shared_perfs文件的内容 editor.commit(); }
小结:
使用SharedPreferences 在项目中可以实现:
1.用户自动登录功能(token(令牌),cookie(小甜点),session(会话–有生命周期))
2.应用程序首次启动的引导页面
3.保存临时数据(发送短信)
4.应用的配置参数(个性化参数)
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories