#java #android #android_studio #rest
Закрыт. Этот вопрос не по теме. Ответы на него в данный момент не принимаются. Хотите улучшить этот вопрос? Переформулируйте вопрос, чтобы он соответствовал тематике «Stack Overflow на русском». Закрыт 4 года назад. Есть интернет-магазин, нужно написать для него приложение, а точнее для работы с его админкой. Основными функциями должны быть: добавление/изменение/удаление товаров просмотр списка заказов просмотр категорий/подкатегорий/товаров в виде дерева или каких-то выпадающих списков В качестве обмена данными с сервером используются REST API. В ответ сервер отдает JSON. Для выполнения запросов использую ApacheHttpClient (смотрю в сторону библиотеки Volley). Для этого у меня создан класс со статическими переменными и методами для каждого запроса. На данном этапе интересует следующее: в главном Активити есть кнопка "получить древо категорий" —» вызывается класс со статическим методом для данного запроса —» в ответ получаю JSON-ом список категорий/ подкатегорий. Коротко о работе приложения: В MainActivity пользователь нажимает на кнопку найти товар по id -->> вызывается асинхронный запрос который обращается к статическому методу класса API.getProductById(String id) -->> метод посылает нужный запрос на сервер и получает от него ответ -->> далее метод .getProductById(String id) отправляет ответ в MainActivity -->> в MainActivity формируется интент с получеными данными и отправляется в нужную активити где и отображаются данные для пользователя. Вопросы: 1) правильный ли я использую подход для выполнения запросов? 2) как поступить с полученным ответом, где и как его лучше хранить, возможно использовать БД? 3) каким способом можно отобразить данное дерево в Активити, что бы при нажатии на товар я мог просмотреть о нем информацию? КАТЕГОРИЯ -подкатегория -товар -товар -подкатегория -товар -товар 4) Какая иерархия классов должна присутствовать в подобном приложении. 5) Так же интересует: архитектура подобных приложений и какие средства используются для их реализации? Возможно какие-то примеры, литература... P.S. Это первый опыт написания функционально приложения для Android с помощью Java, буду рад любой информации!
Ответы
Ответ 1
Вы немного неверно строите архитектуру. Вам надо: Вынести обращения к серваку в отдельный сервис, который крутится в своем потоке - см. в сторону IntentService Полученые от Rest API данные надо складывать в SQLite БД, иначе если не будет коннекта или коннект будет медленный у вас ничего не будет показываться. Показывать нужно всегда данные из БД, причем посредством ContentProvider над этим БД. ContentProvider должен давать вам Cursor, а от курсора вы должны рисовать уже свои деревья/списки. В итоге получится так, что в фоне у вас будет крутиться сервис, который подсасывает данные из сервера и кладет в БД. Ну а поскольку над БД у вас будет развернут ContentProvider то все изменения которые будет вносить сервис в БД будет автоматом отображаться на UI. Для рисования списков в последнее время модным стало использование RecyclerView, он лучше себя ведет в тяжелых списках с картинками, правда и кода он требует чуток больше чем ListView. Как то так.
Комментариев нет:
Отправить комментарий