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

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


图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