标签:
今天看了一下android的数据存储,android的数据存储主要有三种方式:
1、普通的文件存储。
关于普通的文件存储,android的Context类有一个openFileOutput()方法来返回一个FileOutPutStream对象,通过这个对象,就可以使用java流的方式来将数据写入到文件中。它主要利用的还是java的流思想,这里我就不深入讲解了。
2.SharedPreferences存储
SharedPreference是使用键值对(图的思想)来存储数据的,它是以XML格式存在/data/data/<packagename>/shared_prefs文件夹下面。这样对于数据的读取比普通的文件存储有更快的速度,同时操作也更加简单。它主要支持以下六种类型的值的存储——boolean, String, int, float, long, set<String>.
下面来介绍以下SharedPreferences的使用方法:
A.SharedPreferences对象的获取:
a.Context类中的getSharedPreferences()方法
getSharedPreferences()函数接受两个参数,第一个来指定文件的名称,如果该文件不存在会创建一个新的文件,第二个指定操作的模式:MODE_PRIVATE(默认值,和0的效果相同)和MODE_MULTI_PTOCESS。
b.Activity中的getPreferences()方法
getPreferences()方法只有一个参数(指定操作的模式),文件的名字会由当前活动的类名来替代。
c.PreferenceManager类中的getDefaultSharedPreferences()方法
getDecaultSharedPreferences()方法是一个静态方法,它接受一个Context参数,他是使用当前应用的包名作为前缀来命名SharedPreferences文件。能不能跨程序使用,待考证
B.数据保存到SharedPreferences文件
首先是SharedPreferences.Editor editor = getSharedPreferences("data/*文件名*/",MODE_PRIVATE/*操作模式*/).edit(这里应该有三种方法哦)获得对象
//插入需要SharedPreferences.Editor类的对象才行(至于为什么,作为一个初学者,还要需要深入了解才行啊),这里就是通过getSharedPreferences的edit()方法来获取的该对象;
然后是editor.putString(key, value)/*这里key是String类型的。。。*/将我们要写入文件的值形成键值对先存到editor对象中。
最后是editor.commit();将我们的存在editor对象中的键值对提交到SharedPreferences文件中去。
C.从SharedPreferences文件中读出数据
开始是SharedPreferences pref = getSharedPreferences("data", MODE_PRIVATE)(这里应该也有三种方法哦)
//从文件中读出数据需要SharedPreferences对象,这里就是通过getSharedPreferences来获得的。
最后是String str = pref.getString(key, defaultvalue),将key键对应的值读出来赋给str,当key键对应的值为空时,就将defaultvalue赋给key键对应的值。
今天就到这里,下次再来仔细描述轻量级数据库SQLite的使用。。。
标签:
原文地址:http://www.cnblogs.com/Ellen-Eyes/p/4445768.html