本周我们学习了利用Android创建数据库进行储存数据。
1、在Android中一共提供了5种数据存储方式,分别为:
(1)Files:通过FileInputStream和FileOutputStream对文件进行操作。
(2)SharedPreferences:常用来存储键值对形式的数据,对系统配置信息进行保存。
(3)ContentProviders:数据共享,用于应用程序之间数据的访问。
(4)SQLite:Android自带的轻量级关系型数据库,支持SQL语言,用来存储大量的数据,并且能够对数据进行使用、更新、维护等操作。
(5)Network:通过网络来存储和获取数据。
2、SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data//shared_prefs目录下。
使用Shared Preferences存储数据可以通过以下4个步骤来实现:
(1)使用Context类提供的getSharedPreferences()方法,获取SharedPreferences对象。getSharedPreferences()方法的原型如下:
public abstract SharedPreferences getSharedPreferences(String name, int mode);
//参数name表示存储数据的文件名。
//参数mode用于指定文件的操作模式,其可选值有Context.MODE_APPEND(内容加模式)、Context.MODE_PRIVATE(默认操作模式)、
Context.MODE_MULTI_PRIVATE(多进程)
Context.MODE_WORLD_READABLE(可读模式)、Context.MODE_WORLD_WRITEABLE(可写模式)
注意:有一点需要注意的是,此处只是定义了该文件名,该文件实际上并没有被创建,该文件只有当创建了SharedPreferences.Edit对象并使用该对象的commit()方法提交数据时,才会被创建。
(2)使用SharedPreferences对象的edit()方法创建SharedPreferences.Edit对象。
SharedPreferences.Edit类提供了以键值对的形式存储boolean、float、int、long以及String数据类型的数据的方法。
(3)使用SharedPreferences.Edit对象存储数据。
(4)使用commit()方法提交数据。
3、案例:做一个小应用、启动的时候有张引导界面、只有第一次启动时显示,3秒后到主界面。下一次启动就不会再显示引导界面了,直接到主界面。
4、ContentProvider简介
(1)ContentProvider可以在不同的程序之间共享数据,属于android四大组件之一。
(2)为存储和获取数据提供了统一的接口。
(3)Android为常见的一些数据提供了ContentProvider(包括音频视频图片和通讯录等)
5、调用者不能够直接调用ContentProvider的接口函数,而需要使用ContentResolver对象,通过URI间接调用ContentProvider。上图是互相之间的调用关系。
6、Uri指定了将要操作的ContentProvider,其实可以把一个Uri看作是一个网址,我们把Uri分为三部分。
第一部分是"content://"。可以看作是网址中的"http://"。
第二部分是主机名或authority,用于唯一标识这个ContentProvider,外部应用需要根据这个标识来找到它。可以看作是网址中的主机名,比如"blog.csdn.net"。
第三部分是路径名,用来表示将要操作的数据。可以看作网址中细分的内容路径。
7、ContentProvider和SQLite比较类似,SQLite通过表明来进行增减改查,但是ContentProvider是通过Uri来处理数据。
8、感悟:通过本节课程的学习,我学习到了数据的存储过程以及数据的函数调用,虽然这次的函数方面和调用的方面还不是很清楚。但是还是学会了一些的方法及其用法。在课余时间我会付出更多的时间和努力去学会和读懂Android设计程序。在接下来的学习中可以更加的轻松,可以自己完成数据存储功能的实现。