Arquitetura de Front-End
PADRÃO ARQUITETÔNICO MODEL-VIEW-PRESENTER
A plataforma Android não advoga por um tipo de arquitetura ou organização específica para desenvolver um aplicativo. O desenvolvedor é livre para utilizar padrões como MVC (Model-View-Controller), MVVM (Model-View-ViewModel) ou MVP(Model-View-Presenter) ou até mesmo não utilizar nenhuma arquitetura.
Nesse contexto, utilizar o padrão MVP significa seguir princípios que permitem a separação entre a camada de apresentação e a camada de dados da aplicação, proporcionando o código ser reutilizável e testável de maneira simples. O MVP divide os componentes da arquitetura baseado em papéis, seguindo o princípio da separação de conceitos(https://en.wikipedia.org/wiki/Separation_of_concerns).
O padrão MVP divide a aplicação em 3 componentes básicos:
- Model: responsável por lidar com a camada de dados da sua aplicação.
- View: responsável por apresentar os componentes de interface.
- Presenter: responsável por fazer a conexão entre Model e View (o middle-man entre os dois).
O padrão MVP também define algumas regras a serem seguidas:
- A única responsabilidade da View é mostrar os componentes de interface com seus respectivos valores na tela, de acordo com os dados enviados pelo Presenter. A View é portanto, totalmente passiva.
- A View delega todas as ações provenientes de interações do usuário para o Presenter.
- A View não se comunica diretamente com o Model e vice-versa.
- Toda a comunicação entre Presenter e View é feita através de interfaces.
- O Presenter é responsável por delegar requisições da View para o Model e também por instruir a View com ações para eventos específicos.
- O Model é responsável por lidar com requisições de dados de servidor, banco de dados e sistema de arquivos. O Modelpode inclusive ser uma interface que se comunica com outros módulos que realizam essas funções.
A figura a seguir mostra as dependências entre cada componente do padrão MVP:

Links úteis (sobre implementação do MVP no Android):
- https://blog.mindorks.com/essential-guide-for-designing-your-android-app-architecture-mvp-part-1-74efaf1cda40
- https://medium.com/@cervonefrancesco/model-view-presenter-android-guidelines-94970b430ddf
- https://antonioleiva.com/mvp-android/
- http://www.tinmegali.com/en/model-view-presenter-android-part-1/
ANDROID BÁSICO
-
RecyclerView
- Intents
- Criação de interfaces de usuário no Android:
CHAMANDO A API RESTFUL
Utilizar a biblioteca FastAndroidNetworking. Alguns exemplos de uso estão disponíveis neste link.
No Comments