数据 的存储(1)使用SharedPreferences
数据存储主要 有两个:本地存储,网络 存储,这里是本地存储。
本地存储三个方式:1,SharedPreferences , 2.文件存储 3.SQLite存储。下面是SharedPreferences。、
1.什么是SharePreferences
(1)轻量级别的 , Activity级别的 ,可以被 这个 程序的所有 的Activity共享 。
(2)保存在android目录 中的/data/data/PACKAGE_NAME/shared_prefs下的XML文件中。
(3)和Map<key ,value>很像的方式保存。如
<map>
<stringname="String">SharedPreferences保存的数据</string>
</map>
2.使用SharedPreference保存数据
四个 个steps:获取SharedPreferences对象 ,创建 editor编辑器,修改内容 ,提交修改内容 。
(1)获取SharedPreferences对象
getSharedPreferences("Content",Context.MODE_PRIVATE) ;
第一个参数是TAG,文件名称 。
第二个是应用模式,这里表示 是私有文件,只能被 应用本身访问。写入的内容会覆盖原来的。
还有三个模式:
Context.MODE_APPEND
Context.WORLD_READABLE:文件可以被 别的程序 读取
Context.WORLD_WRITABLE: 文件可以被 别的程序 写入。
(2) 创建一个Editor
在sharedPreferences中编辑 信息,就要有editor。editor 提供 一些 方法,用来修改xml文件中的内容 。得到
Editor如下
SharedPreferences.editor();
(3)使用editor修改数据
editor.putString("String",data) 第一个参数 就是key.
创建 一个<string></string>节点 。
还有editor.clear()清除所有 的,editor.remove(),移除指定的。
(4)提交内容
将这个修改提交给SharedPreferences,以告诉 它将内容写入到xml中
editor.commit();
一定要提交 。在java中,map.put()后是不用提交 的,但是在android中要提交才行。
3.读取数据
(1)得到SharedPreference对象
同上,用
getSharedPreferences("Content",Context.MODE_PRIVATE) ;
(2)取出 key对应的值
SharedPreferences.getString();
如name =sp.getString("name","");
这个 过程 中不用editor。
loginBtn.setOnClickListener(newOnClickListener(){
public voidonClick(View arg0) {
// TODOAuto-generated method stub
name =name_in.getText().toString();
pass =pass_in.getText().toString();
SharedPreferencessp = getSharedPreferences("Content",Context.MODE_PRIVATE);
Editoreditor = sp.edit();
editor.putString("name",name);
editor.putString("pass",pass);
editor.commit();
Toast.makeText(getBaseContext(),"保存成功",Toast.LENGTH_SHORT).show();
}
});
regBtn.setOnClickListener(newOnClickListener(){
public voidonClick(View arg0) {
// TODOAuto-generated method stub
SharedPreferencessp = getSharedPreferences("Content",Context.MODE_PRIVATE);
Stringname =sp.getString("name", "");
Stringpass = sp.getString("pass", "");
name_in.setText(name);
pass_in.setText(pass);
Toast.makeText(getBaseContext(),"读取数据",Toast.LENGTH_SHORT).show();
}
});