存储模式 Android 提供了四种存储模式: 专属空间存储:以该模式存储的数据只允许特定的应用程序访问。 共享空间存储:以该模式存储的数据,所有应用都可以访问。 首选项存
Android 提供了四种存储模式:
专属空间存储:以该模式存储的数据只允许特定的应用程序访问。 共享空间存储:以该模式存储的数据,所有应用都可以访问。 首选项存储:常用于保存键值对数据。 本地数据库存储:常用于保存结构体数据。 专属空间存储模式 应用的专属空间存放文件的目录:内部存储目录和外部存储目录。 应用的专属空间存放的文件类型:持久文件和缓存文件. 应用不需要任何权限就可以对专属空间中的文件进行读写,而其他应用不允许访问这些文件。 应用的专属空间存放的文件将在应用移除时一并移除. 专属空间存储实践s1:新建文件
File file = new File(AppContext.getInstance().getFilesDir(), "file_1");
s2:向文件中写入数据
FileOutputStream fos = new FileOutputStream(file, false);
fos.write("123".getBytes());
s3:向文件中读出数据
FileInputStream fis = new FileInputStream(file);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
Toast.makeText(AppContext.getInstance(), br.readLine(), Toast.LENGTH_SHORT).show();
共享空间存储模式
共享空间存储的文件能够被所有 APP 访问.
共享空间存储的文件不会在 APP 卸载时被移除.
Android 提供了访问音频文件和文档文件 api.
操作可参考:https://developer.android.Google.cn/training/data-storage/shared。
首选项存储模式
首选项保存模式是使用键值对的方式来存储数据.
首选项保存模式支持多种不同的数据类型存储,如果存储的数据类型是整形,那么读取出来的数据也是整形.
在 SharedPreference 中存储的数据在应用下次启动时也会存在.
首选项存储实践
Android 提供了两种方式获取 SharedPreference 句柄:
Context 类中的 getSharedPreferences() 方法: 如果您需要多个由名称(使用第一个参数指定)标识的共享偏好设置文件,则使用此方法。您可以从应用中的任意 Context 调用此方法。 Activity 中的 getPreference() 方法: 如果您只需要针对某个 Activity 使用一个共享偏好设置文件,则可以在该 Activity 中使用此方法。由于这会检索属于该 Activity 的默认共享偏好设置文件,因此您无需提供名称。s1: 向 SharedPreference 中写入数据
SharedPreferences.Editor edit = getSharedPreferences("file_2", MODE_PRIVATE).edit();
edit.putString("name", "zhr");
edit.putInt("age", 25);
edit.apply();
s2: 从 SharedPreference 中读出数据
SharedPreferences sp = getSharedPreferences("file_2", MODE_PRIVATE);
String name = sp.getString("name","");
int age = sp.getInt("age", 0);
Toast.makeText(AppContext.getInstance(), "name = " + name + " age = " + age, Toast.LENGTH_SHORT).show();
本地数据库存储模式
Android 内置 sqlite 数据库. SQLite 数据库是一款轻量级的关系型数据库,它的运算速度非常快,占用资源非常少.
Room 在 SQLite 上提供了一个抽象层,以便在充分利用 SQLite 的强大功能的同时,能够流畅地访问数据库。
实践可参照官网资料:Https://developer.android.google.cn/training/data-storage/room。
也可以参照我的另一篇博客:Android 开发笔记 03 篇:数据库框架 Room
--结束END--
本文标题: Android 基础笔记 04 篇:数据存储篇
本文链接: https://www.lsjlt.com/news/28524.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-21
2023-10-28
2023-10-28
2023-10-27
2023-10-27
2023-10-27
2023-10-27
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0