1 使用SharedPreferences存储数据:常用于做本地缓存
2 文件存储数据:(1)data/data/<package name>/files目录内 (2)SDCard内
3 SQLite数据库存储数据
4 使用ContentProvider存储数据: 音视频、联系人信息
5 网络存储数据
ContentProvider 与 Sql 功能区别
1.ContentProvider 屏蔽了数据存储的细节,内部实现对用户完全透明,用户只需要关心操作数据的uri 就可以了,ContentProvider 可以实现不同 app 之间共享。
2.Sql 也有增删改查的方法,但是 sql 只能查询本应用下的数据库。而 ContentProvider 还可以去增删改查本地文件. xml 文件的读取等。
ContentProvider、ContentResolver、ContentObserver 之间的关系 【尚需深入理解】
a. ContentProvider 内容提供者,用于对外提供数据
b. ContentResolver.notifyChange(uri)发出消息
c. ContentResolver 内容解析者,用于获取内容提供者提供的数据
d. ContentObserver 内容监听器,可以监听数据的改变状态
e. ContentResolver.registerContentObserver()监听消息。
系统Settings中设置信息的存储基于ContentProvider实现 Android系统APP之SettingsProvider