2017-02-09 16 views
0

Я новый разработчик Android и могу использовать некоторые советы по проблеме, с которой я столкнулся.Android сохраняет данные из API Amazon локально, чтобы уменьшить время загрузки?

У меня есть приложение, которое запрашивает данные из API продуктов Amazon практически на каждом открываемом вами мероприятии. Я могу получить данные, но действия навсегда загружаются, потому что я постоянно запускаю запросы API.

Приложение в основном приложение для просмотра видеоигр. Для пользователей было бы нередко загружать одни и те же данные для игры несколько раз. Я думаю, что повторять призывы ави на одни и те же данные снова и снова очень неэффективно.

Вопрос в этом сценарии: следует ли сохранять данные игры в локальной или даже удаленной (Firebase) базе данных каждый раз, когда данные извлекаются из API Amazon? И тогда, когда данные необходимо получить, я сначала проверяю, присутствует ли он в базе данных, прежде чем вызывать вызов API?

Если это правильно, где я должен сохранять данные (общие привилегии, SQLlite, внутреннее хранилище и т. Д.)? Если нет, что я могу сделать, чтобы приложение ускорило отображение данных &?

ответ

0

Когда вы говорите, что действия навсегда загружаются, я предполагаю, что вы не совершаете эти вызовы из Деяний. И давайте ответим на ваши вопросы один за другим.

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

2) Не всегда запрашивайте данные. Просто обновляйте его, когда пользователь хочет обновить данные (без халата, пользователь нажимает кнопку обновления). Или вы можете обновлять данные через определенные промежутки времени. Это может включать обновление отзывов в фоновом режиме, даже если приложение не запущено, начиная с Служба с использованием Alarm Manager. Вы должны будете прочитать об этом, хотя.