首页技术文章正文

Android培训之外部存储空间的写与读

更新时间:2017-08-21 来源:黑马程序员Android培训学院 浏览量:

    大多Android设备都配有SD卡,我们称之为外部存储空间。那么如何对SD卡进行读写呢?下面我们讲述SD卡读与写的操作。

1.SD卡的写操作

    假设我们在用户登录时将用户输入的用户名和密码都保存在SD卡中,那么如何向SD卡设备中写入数据呢?参考Android下数据的保存和读取所涉及的登录项目新建一个登录项目(命名为:用户登录保存数据SD卡),当点击登录按钮时将用户名和密码保存到SD卡这一外部存储空间中而不再是保存到内部存储空间,具体代码块如例1-1所示:
  1. 保存数据业务方法


    上图方法的设计思路是:getExternalStorageDirectory方法获取SD卡所在的路径,在该路径下新建一个文件,将数据写入该文件中。在主Activity中调用此方法,如例1-2所示:
  1. 方法调用



图1-1所示
从上图1-1可知数据保存失败,查看日志信息如图1-2所示:

图1-2所示
在清单文件中添加相关权限,如图1-3所示:


图1-3所示
再次运行程序,提示保存用户名密码成功,此时从DDMS中的文件浏览视图中可以浏览到该文件如图1-4所示:

导出文件,如图1-5所示:

图1-5所示

2.SD卡读操作

完成了SD卡写的操作,我们现在要读取写入SD卡中的数据并将该数据部署到相应的控件上,具体方法如例1-3所示:

1.3数据读取方法


上图方法的设计思路是:读取文件的存储路径并获取该文件的输入流,在程序中将读取的数据流转换成字符串并显示在相应的控件上。主Activity中调用此方法,如例1-4所示:

1.4方法调用

此时,运行程序效果如图1-6所示:

图1-6所示
    上述操作可以得出:向SD卡写数据时要添加相应的权限,而读SD卡的数据时则不需要添加权限,这便存在着安全隐患。为此,google工程师对高版本的Android系统设置了SD卡的读取保护。当选择了【系统设置】à【开发者选项】à【对SD卡进行读写保护】选项,便设置了SD卡的读写权限,若要读写SD卡则必须添加读写权限,否则无法读写SD卡。

推荐阅读:
python培训

本文版权归黑马程序员Android培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:黑马程序员Android培训学院
首发:http://android.ithaima.com

分享到:
在线咨询 我要报名
和我们在线交谈!