如何使用缓存或本地存储?

How to use cache or local storage?

我正在使用 restful 网络服务开发 android 应用程序。我从服务器获取所有数据到我的应用程序。将数据从服务器加载到应用程序 activity.How 将一些数据同步到本地数据库并在应用程序离线时显示总是需要一些时间。 请帮我。 提前谢谢你。

您可以使用 room 或 sqlite 等数据库来缓存数据。并检查来自服务器的条件小麦是否存储在数据库中。

您可以使用以下方式存储应用数据:

  1. SQLite :这是一个开源 SQL 数据库,可将数据存储到设备上的文本文件中。 Android 带有内置的 SQLite 数据库实现。所以使用起来还是比较方便的。

从开发者网站浏览此 link 以供参考。

  1. Shared Preferences : SharedPreferences 用于基于键值对保存数据。 首选项文件实际上是保存在设备内部存储器中的 xml 文件。 每个应用程序都有一些数据存储在目录中的内存中 因此,每当调用 getSharedPreferences(String name,int mode) 函数时,它都会验证文件是否存在 然后使用传递的名称创建一个新的 xml。

从开发者网站浏览此 link 以供参考。

  1. 内部存储:此方法专门用于需要将数据存储到设备文件系统但不希望任何其他应用程序(甚至用户)读取此数据的情况。请注意,当您的应用程序被卸载时,此数据将从设备中删除。

从开发者网站浏览此 link 以供参考。

这里已经给出了一些很好的答案,例如: - SQLite - 共享偏好 - 内部存储

但作为参考,请尽量避免使用 "internal storage",因为它需要用户的特殊许可,并且最多只能用于文档或图像类型的文件。

Sqlite 是在 phone 本地存储大量信息的最佳方式,但几年后 google 已经创建了 "android jet pack" 和 "Room" 一个 Sqlite 数据库框架这使得实现 SQLite 数据库变得非常容易。

https://developer.android.com/training/data-storage/room/

如果您不想使用离线存储,您可以随时将缓存添加到您的 https 响应中。 来自 google 的 volley 库为您内置了这个

https://developer.android.com/training/volley/