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

时间:2018-12-13 07:22:14

标签: android retrofit2 android-storage

我正在使用宁静的Web服务开发一个android应用程序。我将所有数据从服务器发送到我的应用程序。从服务器到应用程序活动加载数据总是需要一些时间。如何将一些数据同步到本地数据库并在应用程序离线时显示。  请帮我。 提前谢谢。

3 个答案:

答案 0 :(得分:2)

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

  1. SQLite:这是一个开放源代码SQL数据库,可将数据存储到设备上的文本文件中。 Android内置了内置的SQLite数据库实现。因此,它非常易于使用。

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

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

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

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

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

答案 1 :(得分:0)

您可以使用room或sqlite之类的数据库来缓存数据。并检查来自服务器的条件是否从数据库存储。

答案 2 :(得分:0)

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

但作为参考,请尝试避免“内部存储”,因为它需要用户的特殊许可,并且充其量只能用于文档或图像类型的文件。

Sqlite是在手机上本地存储大量信息的最佳方法,但是几年前,谷歌使用Sqlite数据库框架“ Room”创建了“ android jet pack”,这使得实现SQLite数据库非常容易。

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

如果您不想使用离线存储,则始终可以将缓存添加到https响应中。 谷歌的凌空图书馆为您提供了此构建

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