扣丁学堂——SharedPreferences
2015-12-07 15:58
330 查看
源码见本文
五大存储之SharedPreference
一、SharedPreference介绍
SharedPreference是我们常说的五大布局之一,我们之前的应用中也有简单的使用过,它非常适合保存少量的数据,且这些数据的格式非常简单:字符串型、基本类型的值。比如应用程序的各种配置信息(如是否打开音效、是否使用震动效果、小游戏的玩家积分等),解锁口 令密码等。
二、SharedPreference使用方法
SharedPreference是一个接口因此我们在使用它的时候只能通过getSharedPreferences的方式去获得,如果要写入数据还需要获得他的编辑器Editor。
写数据:
1、getSharedPreferences();(参数:要存储的文件名,模式:三种,一般都是私有模式)
2、editor=preference.edit();(Editor获得编辑器)
3、editor.putString(“edittext”,”“);(以键值对的形式存储)
4、editor.commit();(注意editor需要提交)
读数据:
1、getSharedPreferences(“pre”, MODE_PRIVATE);(文件名+MODE)
2、String s=preference.getString(“”, “”);
模式介绍
Context.MODE_PRIVATE: 指定该SharedPreferences数据只能被本应用程序读、写。
Context.MODE_WORLD_READABLE: 指定该SharedPreferences数据能被其他应用程序读,但不能写。
Context.MODE_WORLD_WRITEABLE: 指定该SharedPreferences数据能被其他应用程序读,写
三、课堂PPT
课程源码:完成保存数据功能:
五大存储之SharedPreference
一、SharedPreference介绍
SharedPreference是我们常说的五大布局之一,我们之前的应用中也有简单的使用过,它非常适合保存少量的数据,且这些数据的格式非常简单:字符串型、基本类型的值。比如应用程序的各种配置信息(如是否打开音效、是否使用震动效果、小游戏的玩家积分等),解锁口 令密码等。
二、SharedPreference使用方法
SharedPreference是一个接口因此我们在使用它的时候只能通过getSharedPreferences的方式去获得,如果要写入数据还需要获得他的编辑器Editor。
写数据:
1、getSharedPreferences();(参数:要存储的文件名,模式:三种,一般都是私有模式)
2、editor=preference.edit();(Editor获得编辑器)
3、editor.putString(“edittext”,”“);(以键值对的形式存储)
4、editor.commit();(注意editor需要提交)
读数据:
1、getSharedPreferences(“pre”, MODE_PRIVATE);(文件名+MODE)
2、String s=preference.getString(“”, “”);
模式介绍
Context.MODE_PRIVATE: 指定该SharedPreferences数据只能被本应用程序读、写。
Context.MODE_WORLD_READABLE: 指定该SharedPreferences数据能被其他应用程序读,但不能写。
Context.MODE_WORLD_WRITEABLE: 指定该SharedPreferences数据能被其他应用程序读,写
三、课堂PPT
课程源码:完成保存数据功能:
public class MainActivity6 extends Activity { private SharedPreferences sp; private EditText editText_msg; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main6); editText_msg = (EditText) findViewById(R.id.editText_msg); //获取当前程序的SharedPreferences对象 sp = getSharedPreferences("msg", Context.MODE_PRIVATE); } //还原数据,当用户回到本activity时还原数据 @Override protected void onResume() { super.onResume(); editText_msg.setText(sp.getString("msg","")); } //我们在该事件方法里存储数据 //当用户打开其它Activity时,本activity会进入这个状态,所以在这个状态中保存存数据 @Override protected void onPause() { super.onPause(); String msg = editText_msg.getText().toString(); if(TextUtils.isEmpty(msg)){ return; } SharedPreferences.Editor editor = sp.edit(); // 如果test.xml文件不存在,则会在editor.commit()时创建 // 如果没有调用commit()方法,写入的内容不会保存,而且不会创建文件 editor.putString("msg",msg); editor.commit(); } }
相关文章推荐
- 利用jquery函数submit()提交表单注意事项
- jQuery获取Select选择的Text和 Value(转)
- 使用Preference保存设置
- 在HTML中如何隐藏某段文字具体该怎么实现
- Win10内置杀软Windows Defender怎么从右键菜单扫描项去掉?
- getSharedPreferences()与getSharedPreferences()与getDefaultSharedPreferences()的区别
- jQuery中通过JSONP来跨域获取数据的三种方式
- <html5+css3+js>js代码运行后出错或无反应的原因总结
- 基于jQuery 实现bootstrapValidator下的全局验证
- JavaScript的代码编写格式规范指南
- artDialog包---html和js完成弹出窗口和跳转
- butterKnifeZelezny生成前设置m
- JSON遍历方式实例总结
- Volley解析Json数据
- 一步步学习javascript基础篇(5):面向对象设计之对象继承(原型链继承)
- JSON库之性能比较:JSON.simple VS GSON VS Jackson VS JSONP
- Extjs4.2——bbar的默认类型(xtype)
- JSONModel, Mantle
- CSS中zoom和scale的区别
- 基于现有图像数据创建自定义像素格式的 BufferedImage