【Android 数据存储】Android App提供了多种方式来存储数据,其中包括内部存储和外部存储。内部存储通常用于保存应用程序的私有数据,这些数据对外部不可见,保护了应用数据的安全性。 内部存储的主要路径是`data/data/包名/`,这里的`包名`指的是应用程序的包名称。Android SDK提供了`Context`类的两个方法来操作内部存储: 1. `openFileInput(String name)`:这个方法用于打开一个指向内部存储中文件的输入流,以便读取文件内容。`name`参数是你要访问的文件名。 2. `openFileOutput(String name, int mode)`:这个方法创建或打开一个文件进行写入。`name`是文件名,`mode`是一个整数常量,表示文件的访问模式,例如`MODE_PRIVATE`(默认),`MODE_APPEND`等。 在给出的示例代码中,`MainActivity`通过`openFileOutput`方法创建一个名为`test`的文件,并使用`FileOutputStream`写入`EditText`中的文本。为了防止乱码,使用了`OutputStreamWriter`进行字符编码转换,这里使用的是`UTF-8`编码。 读取内部存储的文件时,使用`openFileInput`打开输入流,然后通过`InputStreamReader`进行读取。同样,考虑到编码问题,这里也指定了`UTF-8`编码。读取完成后,将字符数组转换为字符串并显示在`TextView`上。 【外部存储(SD卡)】外部存储通常指的是SD卡或者设备上的公共存储区域,它允许其他应用或者用户访问存储的数据。在Android 6.0(API 23)及更高版本,需要请求`WRITE_EXTERNAL_STORAGE`权限才能写入外部存储。 访问外部存储的方法主要包括`getExternalStorageDirectory()`和`getExternalFilesDir()`等。前者返回SD卡根目录,后者返回一个特定于应用的外部存储目录,这与内部存储类似,但位于外部存储区域。 虽然示例中没有展示外部存储的使用,但基本流程与内部存储相似,只是需要使用不同的API。例如,可以使用`getExternalFilesDir()`创建一个应用专属的外部存储目录,然后在其中读写文件。 总结起来,Android应用可以通过内部存储来保存私有数据,而外部存储则用于存储需要与其他应用或用户共享的数据。正确地使用这两种存储方式,可以有效地管理应用程序的数据,并确保数据的安全性和可访问性。
- 粉丝: 6
- 资源: 907
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助