Android数据存储

1、

SharedPreferences 保存的数据主要是类似于配置信息格式的数据,因此他保存的数据主要是简单的key-value的键值对。

SharedPreferences接口本身并没有提供写入数据的能力,而是通过SharedPreferences的内部接口,SharedPreferences调用edit()方法即可获取它所对应的Editor对象。

 

SharedPreferences负责根据key读取数据,而SharedPreferences.Editor则用于写入数据。

 

也可以实现读写其他应用SharedPreferences

访问其他应用程序的SharedPreferences的关键就是获取其他应用程序的Context.Context代表了访问该Android应用的全局信息的接口,而Android应用的包名正是该应用的唯一标识,因此程序可根据Android应用的包名来获取相应的Context。

 

2、openFileInput 和 openFileOutput

Context提供了如下两个方法来打开本应用程序的数据文件夹里的文件I/O流。

FileInputStreamopenFileInput(String name):打开应用程序的数据文件夹下的输入流,读进内存。

FileOutputStream openFileOutput(String name,  int mode):打开应用程序数据文件夹下的输出流,从内存读出,写进文件。

 

MODE_PRIVATE :该文件只能被当前程序读写;

MODE_APPEND : 以追加方式打开该文件,应用程序可以向该文件中追加内容。

MODE_WORLD_READABLE :该文件的内容可以 被其他程序读取。

MODE_WORLD_WRITEABLE :该文件的内容可以 被其他程序读取、写入。

 

Context还提供了如下几个方法来访问应用程序的数据文件夹。

getDir(Stringname, int mode): 在应用程序的数据文件夹下获取或创建name对应的子目录。

FilegetFileDir():获取该应用程序的数据文件夹的绝对路径。

String[] filelist() : 返回该应用程序的数据文件夹下的全部文件。

deleteFile(String ) : 删除该应用程序的数据文件下的指定路径。

 

3、读写SD卡上的文件

首先添加操作SD卡的权限。

(1)调用Environment的getExternalStorageState()方法判断手机上是否插入了SD卡。

(2)调用Environment的getExternalStorageDirectory()方法来获取外部存储器,也就是SD的目录。

(3)使用FileInputStream 、FileOutputStream 读写SD卡里的文件。也可以使用RandomAcessFile向SD卡指定文件追加内容。区别是:如果使用FileOutputStream 向指定文件写入数据,FileOutputStream 会把原有的文件内容清空,那就不是追加文件内容了。

 

FileOutputStream fis = openFileOutput(FILE_NAMEmode); //Context的方法,只能向应用程序数据文件夹里面的文件写入,mode可以实现追加模式。

FileOutputStream a = newFileOutputStream(file); //向外部SD卡的文件写入,写入时会把原有的文件内容清空。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值