Я делаю приложение для электронной коммерции на Android, и, поскольку это мой первый серьезный проект, я пытаюсь заранее найти лучший способ сделать это.
Приложение обращается к веб-службе (magento api, что означает мыло или xml rpc, к сожалению) и получает весь контент на телефоне (категории продуктов, сведения о продукте, учетные данные пользователя и т.д.). Я думаю, что он должен делать ленивую загрузку или что-то в этом роде.
Итак, я думал сохранить учетные данные пользователя в пользовательском объекте, который будет храниться в SharedPreferences
, чтобы каждый отчет активности легко мог получить к нему доступ. Я буду использовать пару ListView
для отображения содержимого и AsyncTask
для получения необходимых данных. Должен ли я хранить все данные в памяти в объектах или использовать какой-то кеш или локальную базу данных? Кроме того, я планирую использовать HashMap
с SoftReferences
для хранения растровых изображений, которые я загружаю. Но не будет ли это много памяти?
Как все действия имеют доступ ко всем этим объектам (корзина для электронной торговли и т.д.)? Я подумываю передать их с помощью намерений, но это не кажется мне правильным. Может ли SharedPreferences использоваться для большого количества объектов и есть ли какие-либо проблемы concurrency?
Любые указатели будут действительно оценены. Какие хорошие рекомендации? На каких занятиях я должен смотреть? Знаете ли вы какие-либо ресурсы в Интернете, чтобы я мог проверить?