Android数据存储于IO
2017-04-30 21:36
381 查看
Preface
Java IO中的编程经验大部分都可“移植”到Android应用开发商,Android本身也专门提供了一些IO API,通过这些API可以更有效地进行输入输出;如果应用程序只有少量数据需要保存,那么使用普通文件就可以了;但如果应用程序有大量数据需要存储、访问,就需要借助于数据库了,Android系统内置了SQLite数据库,SQLite数据库是一个真正轻量级的数据库,没有后台,整个数据库就对应于一个文件。
SharedPreferences
SharedPreferences保存的数据主要是类似于配置信息格式的数据,因此它保存的数据主要是简单类型的key-value对;读入数据提供的接口:contains,getAll,getXxx;SharedPreferences接口本身没有提供写入数据的能力,而是通过SharedPreferences的内部接口实现,调用edit()方法即可获取它所对应的Editor对象。写入数据提供的方法:clear,putXxx, remove, commit; 当Editor编辑完成后,使用commit方法提交修改。
SharedPreferences本身是一个接口,无法直接创建SharedPreferences实例,只能通过Context提供的getSharedPreferences(String name, int mode)方法来获取SharedPreferences实例,其中,第二个参数支持的值:
Context.MODE_PRIVATE: 指定该SharedPreferences数据只能被本应用程序读、写;
Context.MODE_WORLD_READABLE:指定该SharedPreferences数据能被其他应用程序读,但不能写;
Context.MODE_WORLD_WAITABLE:指定该SharedPreferences数据能被其他应用程序读、写;
SharedPreferences数据总是保存在/data/data/package name/shared prefs目录下,总以XML文件形式保存;根元素是map;
访问其他程序的SharedPreferences的关键就是获取其他应用程序的Context。Context代表了访问该Android应用的全局信息的接口,而Android应用的报名正是该应用的唯一标识,程序可以根据Android应用的报名来获取对应的Context。
createPackageContext(“com.abc.io”, Context.CONTEXT_IGNORE_SECUITY);
使用getSharedPreferences;
如果写入数据,调用SharedPreferences的edit()方法获取Editor即可;
File存储
openFileOutput和openFileInput
Context提供打开本应用程序的数据文件里的文件IO流;FileInputStream openFileOutput(String name): 打开应用程序的数据文件夹下的name文件对应输入流;
FileOutputStream openFileInput(String name, int mode): 打开应用程序的数据文件夹下的name文件对应的输出流;
第二个参数支持的值:
MODE_PRIVATE:
MODE_APPEND:
MODE_WORLD_READABLE:
MODE_WORLD_WAITEABLE:
访问应用程序的数据文件夹:getDir,getFilesDir, fileList, deleteFile;
读写SD卡
Steps
调用Environment的getExternalStorageState()方法判断手机上是否插入了SD卡;调用Environment的getExternalStorageDirectory()方法来获取外部存储器;
使用FileInputStream、FileOutputStrean、FileReader或FileWriter读、写SD卡里的文件;注意,是否有权限;
SQLite
轻量级数据存储,不是很常用;相关文章推荐
- Android学习17--Android的数据存储和IO
- Android的数据存储和IO-SD卡文件浏览器
- Android学习笔记十三.Android数据存储与IO.File存储常用API
- Android数据存储与IO之四(SQLite)
- Android数据存储与IO之三 手势Gesture
- Android的数据存储和IO
- 第8章 Android数据存储与IO
- Android学习笔记十四.Android数据存储与IO.SD卡的读写实例
- Android数据存储与IO
- Android数据存储与IO之三(File存储之ExternalStorage)
- Android 数据存储和IO——SQLite(二)
- Android 数据存储和IO——SharedPreferences(一)
- Android的数据存储与IO - 手势
- Android数据存储与IO之一 SharedPreference与File存储
- android 之数据存储(IO)
- Android 数据存储和IO——SQLite(三)
- Android的数据存储和IO - 自动朗读(TTS)
- Android的数据存储和IO - 自动朗读(TTS)
- 浅谈Android数据存储与IO之一(Sharepreferences)
- Android数据存储与IO之二 SQLite数据库