Как использовать кеш или локальное хранилище?

Я разрабатываю приложение для Android, используя отдыхающие веб-сервисы. Я получаю все данные с сервера в мое приложение. Загрузка данных с сервера в приложение всегда занимает некоторое время. Даже если я вернусь к последнему действию, загрузка также займет некоторое время. Итак, как я могу сохранить некоторые данные в локальном или кэше и показать из него и всегда проверять наличие обновленных данных с сервера. Помогите мне, пожалуйста. Заранее спасибо

3 ответа

Вы можете использовать следующие способы хранения данных приложения:

  1. SQLite: это база данных SQL с открытым исходным кодом, которая хранит данные в текстовом файле на устройстве. Android поставляется со встроенной реализацией базы данных SQLite. Следовательно, он довольно прост в использовании.

Перейдите по этой ссылке с сайта разработчика для справки.

  1. Общие настройки: SharedPreferences используются для сохранения данных на основе пары ключ-значение. Файл настроек на самом деле представляет собой файл XML, сохраненный во внутренней памяти устройства. Каждое приложение имеет некоторые данные, хранящиеся в памяти в каталоге, поэтому всякий раз, когда вызывается функция getSharedPreferences(String name,int mode), она проверяет файл на предмет наличия или отсутствия создания нового xml с переданным именем.

Перейдите по этой ссылке с сайта разработчика для справки.

  1. Внутреннее хранилище. Этот метод предназначен специально для тех ситуаций, когда вам необходимо хранить данные в файловой системе устройства, но вы не хотите, чтобы какое-либо другое приложение (даже пользователь) считывало эти данные. Обратите внимание, что эти данные удаляются с устройства при удалении приложения.

Перейдите по этой ссылке с сайта разработчика для справки.

Вы можете использовать базу данных, такую ​​как room или sqlite, для кэширования данных. И проверьте, хранятся ли данные, поступающие с сервера, из базы данных.

Здесь уже даны несколько хороших ответов, таких как: - SQLite - общие настройки - внутреннее хранилище

Но для справки старайтесь избегать "внутреннего хранилища", поскольку оно требует специального разрешения от пользователя и в лучшем случае используется только для файлов типа документа или изображения.

Sqlite - это лучший способ хранить много информации на вашем телефоне локально, но, как известно, несколько лет назад Google создал "пакет обновления для Android" с "Room" структурой базы данных Sqlite, которая делает реализацию базы данных SQLite действительно простой.

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

Если вы не хотите использовать автономное хранилище, вы всегда можете добавить кеширование в свои ответы https. библиотека залпа от Google имеет эту сборку для вас

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

Другие вопросы по тегам