Android——数据存储篇(1)

今天看了一下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的使用。。。

    

    

  

posted @ 2015-04-21 22:48  Ellen_Eyes  阅读(162)  评论(0编辑  收藏  举报