Как использовать кеш или локальное хранилище?
Я разрабатываю приложение для Android, используя отдыхающие веб-сервисы. Я получаю все данные с сервера в мое приложение. Загрузка данных с сервера в приложение всегда занимает некоторое время. Даже если я вернусь к последнему действию, загрузка также займет некоторое время. Итак, как я могу сохранить некоторые данные в локальном или кэше и показать из него и всегда проверять наличие обновленных данных с сервера. Помогите мне, пожалуйста. Заранее спасибо
3 ответа
Вы можете использовать следующие способы хранения данных приложения:
- SQLite: это база данных SQL с открытым исходным кодом, которая хранит данные в текстовом файле на устройстве. Android поставляется со встроенной реализацией базы данных SQLite. Следовательно, он довольно прост в использовании.
Перейдите по этой ссылке с сайта разработчика для справки.
- Общие настройки: SharedPreferences используются для сохранения данных на основе пары ключ-значение. Файл настроек на самом деле представляет собой файл XML, сохраненный во внутренней памяти устройства. Каждое приложение имеет некоторые данные, хранящиеся в памяти в каталоге, поэтому всякий раз, когда вызывается функция getSharedPreferences(String name,int mode), она проверяет файл на предмет наличия или отсутствия создания нового xml с переданным именем.
Перейдите по этой ссылке с сайта разработчика для справки.
- Внутреннее хранилище. Этот метод предназначен специально для тех ситуаций, когда вам необходимо хранить данные в файловой системе устройства, но вы не хотите, чтобы какое-либо другое приложение (даже пользователь) считывало эти данные. Обратите внимание, что эти данные удаляются с устройства при удалении приложения.
Перейдите по этой ссылке с сайта разработчика для справки.
Вы можете использовать базу данных, такую как room или sqlite, для кэширования данных. И проверьте, хранятся ли данные, поступающие с сервера, из базы данных.
Здесь уже даны несколько хороших ответов, таких как: - SQLite - общие настройки - внутреннее хранилище
Но для справки старайтесь избегать "внутреннего хранилища", поскольку оно требует специального разрешения от пользователя и в лучшем случае используется только для файлов типа документа или изображения.
Sqlite - это лучший способ хранить много информации на вашем телефоне локально, но, как известно, несколько лет назад Google создал "пакет обновления для Android" с "Room" структурой базы данных Sqlite, которая делает реализацию базы данных SQLite действительно простой.
https://developer.android.com/training/data-storage/room/
Если вы не хотите использовать автономное хранилище, вы всегда можете добавить кеширование в свои ответы https. библиотека залпа от Google имеет эту сборку для вас