数据存储的方式有五种:
SharePreference、SQLite、Content Provider、File和 网络存储数据。
根据最近对SharePreference的使用与学习。作以下总结:
SharePreference的作用:可以存储简单的数据属性值,比如:布尔类型,整型,字符串类型等基本数据类型的属性值,以键值对的形式进行存储的。
实现SharedPreferences存储的步骤如下:
1、根据Context获取SharedPreferences对象
2、利用edit()方法获取Editor对象。
3、通过Editor对象存储key-value键值对数据。
4、通过commit()方法提交数据。
一、进行初始化:
SharedPreferences sp=getSharedPreferences("Activity",MODE_WORLD_READABLE);//第一个参数为数据存储的文件名,存储的文件名为Activity.xml,存储在/data/data/package/shared_prefs/下面。如果为了方便,不取名字也可以,就会默认为此Activity的文件名,可以直接这样用:SharedPreferences sp=getSharedPreferences(0);
第二个参数为操作模式有四种:
MODE_APPEND;//追加方式存储
MODE_PRIVATE//私有方式存储,其他应用无法访问
MODE_WORLD_READABLE//表示当前文件可以被其他应用读取;
MODE_WORLD_WRITEABLE//表示当前文件可以被其他应用写入。
二、通过edit()方法获取Editor对象
SharedPreferences.Editor editor=sp.edit();
三、通过Editor对象存储key-value键值对数据
editor.putInt("i", 0);
editor.putString("str","");
ediot.putBoolean("flag",false);
若数量不大的数组,可用下面的方法进行存储:
for(int i=0;i<numbers;i++)
editor.putInt("change"+i, change[i]);
四、通过commit()方法提交数据
editor.commit();
这样就对以上数据进行了存储。
与之相对应的获取数据的方法
SharedPreferences share=getSharedPreferences("Acitivity",Activity.MODE_WORLD_READABLE);
int i=share.getInt("i",0);
String str=share.getString("str","");
boolean flag=share.getBoolean("flag",false);
PS:如果你想要删除通过SharedPreferences产生的文件,可以通过以下方法
File file= new File("/data/data/"+getPackageName().toString()+"/shared_prefs","Activity.xml");
if(file.exists()){
file.delete();
Toast.makeText(TestActivity.this, "删除成功", Toast.LENGTH_LONG).show(); }