最近总是感觉学习android不几天就会忘记所学的内容,所以趁着还有点印象,就来重新温习一下android的基础知识:数据存储
数据存储分类:
一:File-文件存储
二:SharedPreferences-也是文件存储,不过是xml格式的存储例如:MODE_PRIVATE程序内部使用, MODE_WORLD_READABLE允许外部应用读取数据,MODE_WORLD_WRITEABLE 允许外部应用写入数据。
三:SQLite-android系统自带的小型数据库,支持SQL语句需要在db.execSQL("SQL语句")函数中写SQL代码 当然android也提供了封装的函数提供给SQL语言用的不是很熟练的人使用,现在我就是其中之 一,不过我认 为使用SQL语言写太麻烦,还容易出错。不过适当的学习一些SQL语言也是不 错的。
学习中遇到的问题:db.insert(table,nullColumnHack,values)方法中存在三个参数不明白第二个参数的 含义,于是百度,查文档等
文档说明:
table
- the table to insert the row into
表名
nullColumnHack
- SQL doesn't allow inserting a completely empty row, so if initialValues is empty this column will explicitly be assigned a NULL value
SQL完全不允许插入一个空行,所以如果initialvalue是空本专栏将显式分配NULL值。
nullColumnHack 意为空列出租,意思是此参数当插入的是一个空行时,该列的名字即参数就会为空null。
values
- this map contains the initial column values for the row. The keys should be the column names and the values the column values 键值对映射(map)插入的数据。
table
- the table to insert the row into
nullColumnHack
- SQL doesn't allow inserting a completely empty row, so if initialValues is empty this column will explicitly be assigned a NULL value
values
- this map contains the initial column values for the row. The keys should be the column names and the values the column values 键值对映射(map)插入的数据。
不过据个人理解无非就是 表名,列名,行值。第二个参数意为 无行也无列.
注意: 以上三个数据存储方式适用于自身应用程序的使用。不过通过权限设置可以让外面程序访问,例如:MODE_PRIVATE程序内部使用,MODE_WORLD_READABLE允许外部应用读取数据,MODE_WORLD_WRITEABLE允许外部应用写入数据。
四:ContentProvider-内容提供器android四大组件之一,它是实现不同应用程序之间的数据通信。
这次只是简单的android数据存储的总体介绍,没有从细节上下功夫,不过随着自己的不断深入,将会对每个存储方式的细节有一个进一步的了解,之后我会接着将我的深入结果呈现出来。
当然如有错误的地方,恳请指点!