Страницы

Поиск по вопросам

четверг, 9 апреля 2020 г.

Архитектура клиентского приложения Android для интернет магазина [закрыт]

#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. Как то так.

Комментариев нет:

Отправить комментарий