【Android】数据存储之Sharepreference
16lz
2021-01-26
官方API对于Sharepreference是这样描述的:
这个方法一般是为了存储具有Key-Value特征的数据。
我们可以从一个上下文对象中获取共享应用,他提供一个框架在保存和获取一些K-V的持久化数据。
具体步骤如下:
1.获取一个Sharepreference:
SharedPreferences sharedPreferences = context.getSharedPreferences("userinfo", Context.MODE_PRIVATE);
2.获取一个编辑器:
SharedPreferences.Editor editor = sharedPreferences.edit();
3.通过编辑器放入数据:
editor.putString("name", name);editor.putString("pswd", pswd);
4.最后需要提交
editor.commit();
一个完整的代码如下:
public boolean saveMessage(String name, String pswd) {boolean flag = false;SharedPreferences sharedPreferences = context.getSharedPreferences("userinfo", Context.MODE_PRIVATE);//对数据进行编辑 SharedPreferences.Editor editor = sharedPreferences.edit();editor.putString("name", name);editor.putString("pswd", pswd);flag = editor.commit(); //将数据持久化到存储介质return flag;}
如果是读数据,那么需要Map类型来存储:
1.生成一个HashMap对象:
Map<String,Object> map = new HashMap<String,Object>();
2.获取共享引用对象:
SharedPreferences sharedPreferences =context.getSharedPreferences("userinfo", Context.MODE_PRIVATE);
3.取出数据并放入Map中:
String name = sharedPreferences.getString("name", null);String pswd = sharedPreferences.getString("pswd", null);map.put("name",name);map.put("pswd", pswd);
完整代码如下:
public Map<String,Object> getMessage(){Map<String,Object> map = new HashMap<String,Object>();SharedPreferences sharedPreferences =context.getSharedPreferences("userinfo", Context.MODE_PRIVATE);String name = sharedPreferences.getString("name", null);String pswd = sharedPreferences.getString("pswd", null);map.put("name",name);map.put("pswd", pswd);return map;}
更多相关文章
- 一句话锁定MySQL数据占用元凶
- android onSaveInstanceState方法
- Android(安卓)简单存储 SharedPreferencesUtils
- Android中Spinner下拉列表(使用ArrayAdapter和自定义Adapter实现)
- 【转】【Android】获取手机中已安装apk文件信息(PackageInfo、Re
- 最近项目里碰上了饼图,顺便整理了下几种Android饼图,以作参考
- Android数据流详解
- Android使用ImageLoader异步加载网络图片(二)结合listview
- Android中ContentProvider和Uri用法!!