android:数据存储和访问

文件

SharedPreferences(参数)

SQLite数据库

内容提供者(Content provider)

网络


文件读取

把数据从内存里面放入持久化的文件里

File file=new File("info.dat");

FileOutputStream fos=new FileOutputStream(file);

这样的代码在java项目时,保存在java工程目录里面

在android里面这样就不行了

Context :上下文,提供一些信息,提供一些环境,就是一个帮助类,

context.getFileDir();//得到当前这个应用程序,在文件系统上所存储的路径,就是//data/data/com.ithim.log/files/

File file=new File(context.getFileDir(),"info.dat");
FileOutputStream fos=new FileOutputStream(file);
fos.write("sdfsdfsd")
fos.close();

是写入//data/data/com.ithim.log/files/info.dat文件里面字符串sdfsdfsd

File file=new File(context.getFileDir(),"info.dat");
FileInputStream fis=new FileInputStream(file);
BufferedReader br=new BufferedReader(new InputStreamReader(fis));
String info=br.readLine();

是读取文件

context.getFilesDir();//data/data/<包名>/files/应用程序的数据

context.getCacheDir();//data/data/<包名>/cache/应用程序的缓存

设置->管理应用程序->应用程序->清除数据 是清除files目录 

设置->管理应用程序->应用程序->清除缓存 是清除cache目录 

context.openFileInput("info.data");是上面前3句代码的组合 得到一个文件的输入流

context.openFileOutput("info.data",mode) 组合 得到一个文件的输出流

文件权限

一个应用程序默认创建的文件是一个私有的文件别的应用程序是不可以访问的

Context.MODE_PRIVATE
Context.MODE_WORLD_READABLE 别的应用程序是可以读他的数据,别的应用程序是不可以往里面写数据
Context.MODE_WORLD_WRITEABLE 别的应用程序是可以往里面写数据,别的应用程序是不可以读他的数据

可以+的方式写(Context.MODE_WORLD_WRITEABLE +Context.MODE_WORLD_READABLE )是共有的

adb shell

cd /data/data/<包名>/files/

chmod 777 info.data 更改权限指令 全局可读可写

需要root权限后才可以执行这个命令




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值