安卓基础---数据存储方案(数据持久化技术)

一、安卓中的存储数据的方式有:
1、在客户端,就是的安卓应用程序端,有:缓存? 文件存储(内部file存储和外部SD卡存储)、SharedPreference存储、以及数据库存储。
2 一个完整的软件系统,还有数据可以存储在后台数据库,比如用户的密码

二、各种的存储方式对应的文件夹位置
/data/data/package_name/ 目录

一个应用的包名是 framework ,对应的目录名字为 /data/data/com.android.framework/。
  该目录是只对应用可见的,而且如果手机没有 root,用普通权限的 adb 也看不了这个目录,该目录用来存储和应用周期相关的文件,会随着应用的卸载一起删除,相关的子目录如下所示:

/data/data/com.android.framework/shared_prefs/
用来存储 SharedPreference,对应函数为:getSharedPreferences(String fileName, int mode);
/data/data/com.android.framework/databases/
用来存储数据库 DB,相关函数还有 getDatabasePath();
/data/data/com.android.framework/app_webview 和 /data/data/com.android.framework/xxxwebviewcachexxx
来存储应用内置 webview 所产生的 cache 和 cookies 等,该目录由于 android 版本不同名字和位置也可能不同;
/data/data/com.android.framework/lib
用来存储该应用的 .so 静态库文件;
/data/data/com.android.framework/cache
该目录可以使用函数 getCacheDir() 获取;
/data/data/com.android.framework/files
该目录可以使用函数 getFilesDir() 获取,openFileInput() 和 openFileOutput() 函数也是在该目录下操作文件, fileList() 函数是用来列出该 files 目录下的所有文件,deleteFile(String name) 用来删除该 files 目录下的文件;
/data/data/com.android.framework/XXXX
这个目录下面当然也能够创建子集的目录,使用的方法就是 getDir(String name, int mode),参数中的 name 就是需要在该目录下创建的子目录名字。

参考文献
手机存储相关问题:
http://m.blog.csdn.net/zhao_zepeng/article/details/58587412

你可能感兴趣的:(安卓基础---数据存储方案(数据持久化技术))