从内部存储和外部存储这两个方面着手,深入源码讲解Android系统存储空间的读写。同时,重点讲解了Android下不同方式的存储方式——文件,存储SD卡,数据共享SharedPreferences ,数据库SQLite。

1.初识存储空间

阐述不同类型的存储空间,内部存储空间和外部存储空间;进一步分析内部存储空间和内存之间的关系,对比总结各自特点;深入源码,分析当前系统存储空间读取代码的编写,帮助开发者对存储空间产生一个形象的概念。

2.文件存储

最基本的存储方式,纯Java方法,在指定的路径下创建一个File文件,然后通过数据流写入或者读取数据;指定路径时,对比使用不同的方式获取文件存储路径,从而引入最合适的方法;分析总结常见目录获取方法,指定路径下目录获取,缓存目录的获取;文件权限的介绍,如私有(MODE_PRIVATE),追加(MODE_APPEND),可读(MODE_WORLD_READABLE),可写(MODE_WORLD_WRITEABLE),在阐述Linux系统下文件权限的基础之上,扩展Android下文件不同类型;讲解用户和文件权限的关系。

3.SD卡存储

存储数据到SD卡,首先判断SD卡是否可用,SD卡的路径获取,SD卡的读写权限声明,指定SD卡路径下文件声明,最后通过流进行数据的存储;以案例驱动的模式,详细讲解每一步骤的实现。

4.sharedpreferences存储

Android自带的API,用来存储应用的配置信息。课程模拟手机设置操作,存储数据到sharedpreferences中,这一过程涉及sharedpreferences对象的获取,Editor编辑器,sharedpreferences对象的读取;xml文件的生成以及解析;通过查看pull解析xml文件的过程,引入断点调试的概念和使用;在对xml掌握的基础之上,对比理解sharedpreferences存储文件的实质。

5.数据库SQLite存储

Android内置轻量级数据库,在较大数据的存储,管理,维护时会使用到。创建数据库,引入数据库帮助类SQLiteOpenHelper,讲解onCreate()方法和onUpgrade()方法的作用;调用方法,生成数据库文件,查看数据库生成文件;SQL语句的基本使用;包装SQL语句,实现数据库的CRUD操作;引入Android自带API,实现数据库另一种方式的CRUD;使用SQLite Expert工具,查看数据库中的记录。数据库事件的定义,提交。