android的数据存储有4中方式
sharedPreferences、SQLite、content provider和file
sharePreferences
提供轻量型数据存储, 一般用户存储配置信息
本质上是xml文件上的键值对,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。
它本身只支持获取数据,不支持修改数据。要修改数据可以通过editor对象实现
读:
1、根据context获取sharePreferences对象:getSharedPreferences()方法
2、通过SharePreferences对象获取数据:getXXX("key_name",默认值)方法,Map<String,?> getAll()
写
1、根据context获取sharePreferences对象:getSharedPreferences()方法
2、利用edit()方法获取Editor对象:edit()方法
3、通过Editor对象存储键值对:putXXX("key","value")
4、commit()提交事务或apply()异步方法
如果要修改其他应用程序的sharedPreferences,可以先获取该应用程序的context:createPackageContext("package_name",flag)
File
文件存储,用来存储大数据,更新比较困难
存储在系统空间:
FileInputStream fis = openFileInput(FILE_NAME)
FileOutputStream fos = openFileOutput(FILE_NAME,MODE);
sd卡存储:
1、判断是否有sd卡Environment.getExternalStorageState()判断是否有sd卡,sd卡权限
2、获取sd卡目录,Environment.getExternalStorageDirectory()
3、通过FileInputstream,FileReader等方法进行文件读写
SQLite
SQLite数据库是一个文件,对它的操作类似于文件读写,只是功能强大得多
操作方法一
1.获取SQLiteDatabase对象,代表了与数据库的连接:SQLiteDatabase.openDatabase或SQLiteDatabase.openOrCreateDatabase
2.调用execSQL方法执行SQL语句
3.处理操作结果,如通过SimpleCursorAdapter,显示到listView上
4.关闭SQLiteDatabase,回收资源:close()
操作方法二
通过继承SQLiteDatabaseHelper类操作数据库,是android为操作SQLiteDatabase提供的辅助类
常用方法