android存储方式(SharePreference,内部存储以及外部存储)的个人理解

转载请注明出处:

android应用开发存储方式之SQLite(android自带的数据库)的一些个人理解

http://www.cnblogs.com/huaixiaohai2015/p/5804955.html
转载请注明出处:
1.SharePreference的使用:
 
保存信息:

SharePreference share = getSharePreference("configs",MODE_PREVITE);//文件名,访问权限

Editor ed = share.edit();//数据的编辑器

ed.putObject("key",value);//存放基本的数据类型

boolean commit = ed.commit();//提交数据,所做的操作才有效,会有一个相对应的返回值判断是否保存成功

恢复信息:

SharePreference share = getSharePreference("configs",MODE_PREVITE);//文件名,访问权限

Object value = share.getObject("key",valueTemp);//一个是相对应的键,后面是默认值,代表如果未找到响应的数据,就采用默认  值。
 
2.内部存储的使用:
 
内部存储的文件会由于app的删除而一起被删除掉
 
是利用文件存储的方式进行存放信息
 
 
//打开一个用来读写的文件,改文件是与当前上下文所在的包有关的,而且该方法不需要添加任何权限,因为这是内部存储
 
信息存储:
 
FIleOutputStream fos = openFileOutput(fileName,MODE_PREVITE);//文件名,文件权限

fos.write(fileText.getBytes);//将文件的信息读写进去

fos.close();//关闭文件输出流

信息显示:

FileInputStream fis = openFileInput(fileName);//打开当前的文件,得到一个用来只读的输入流

byte[] buffer = new byte[fis.available()];//创建一个byte用来存放数据

fis.read(buffer);//将其读取到buffer里面去,然后buffer此时并存储了数据

fis.cloas();//关闭文件输入流

信息删除:(删除上下文指定名字的文件)

deleteFile(fileName);//删除文件并返回一个boolean类型的数据
 
3.外部存储的使用:
 
只要是以操作sd卡为主

权限里面加上SD卡的访问权限以及写入权限,然后先判断SD是否挂载

String state = Environment.getExternalStorageState();

return state.equals(Environment.MEDIA_MOUNTED);

然后设置一个决定路径,用来防止文件,比如private static final String IMG_PATH = Environment
.getExternalStorageDirectory()// 外部存储的路径
+ File.separator + "自定义文件夹" + File.separator + "images";
 
然后文件放置在此路径之下。
原文地址:https://www.cnblogs.com/huaixiaohai2015/p/5804974.html