安卓开发——存储与加载本地文件

本文介绍了安卓应用如何在沙盒中安全存储数据,以及如何利用系统函数进行文件读写。当需要共享文件时,讨论了如何在SD卡上进行文件操作,包括设置权限和进行读取操作。同时提到了使用Environment类来检测SD卡的状态和获取根目录。
摘要由CSDN通过智能技术生成

安卓的所有应用都有一个放置在沙盒(sandbox)中的文件目录。文件保存在沙盒中可以阻止别的应用的访问,甚至是其他用户的窥探。
但是有时候我们也需要共享一些文件(比如图片,音频,视频等),这时候我们可以将这些数据文件存储在外部存储介质上,比如SD卡。

应用目录中存取数据

文件的存取不外乎就是通过文件路径,建立一个输入输出流,然后进行数据的读写。

如果我们需要直接在应用的沙盒目录中存取数据,我们可以直接调用系统自带的函数:Context.openFileOutput(…)和Context.openFileInput(…)。该方法接受文件名以及文件操作模式参数,会自动将传入的文件名附加到应用沙盒文件目录路径之后,形成一个新路径,然后在新路径下创建并打开文件,等待数据写入。如选择手动获取私有文件目录并在其下创建和打开文件,记得总是使用Context.getFilesDir()替代方法。

而且在具体的实现中,我们一般会把数据格式化成适当的形式,然后再转换成字符或字节数据存取到文件中。通常我们常用的两种存取数据的格式就是JSON和XML。安卓的开发包中都已经集成了这两种数据格式的相关包。

写出数据的简单操作:

Writer writer = null;
writer = new OutputStreamWriter(myAppContext.openFileOutput(mFileName, Context.MODE_PRIVATE));
writer.write(json.toString());

读入数据的简单操作:

StringBuilder sb = ne
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值