Este projeto pretende ser:
Resumo da especificação:
Aqui está a sua API do servidor de contraparte de onde este aplicativo consome os dados-> Rails-api-Base
Instale seu IDE favorito ou apenas o Android SDK (BuildTools 23.0.2 e Compilesdk 23, ou defina suas próprias versões nas dependencies.gradle ). Eu uso o Android Studio.
Clone o repositório e entre nele:
git clone git://github.com/jordifierro/android-base.git --origin android-base YourProjectName
cd YourProjectName
./bin/remove_notes
./bin/rename_project YourProjectName your.package.name
./gradlew clean build cAT
./bin/reset_git https://github.com/yourusername/YourProjectName.git
É isso, agora você pode começar a desenvolver seu próprio aplicativo!
NOTA: Para executar o aplicativo (você pode executar apenas os testes agora), lembre-se de configurar um servidor de API (o Rails-api-Base já está desenvolvido para servir a este aplicativo, mas você também pode fazer o seu próprio) e configurar o RestApi para se conectar a ele (simplesmente modifique o Restapi.java Params).
O aplicativo em si está quase vazio, ele tem como objetivo fornecer alguns módulos básicos, implementar as estruturas com alguns padrões e fornecer código de amostra. Aqui estão as especificações:
O principal objetivo deste aplicativo é evitar escrever o código básico do aplicativo, para que as seguintes funcionalidades já sejam implementadas:
Isso pode ser usado a partir de agora e também fornece uma maneira estruturada de adicionar mais código.
Para fornecer mais código de amostra, ele foi desenvolvido um código para gerenciar notes (como representação em notas em papel manuscrito), composta por um title e um content . Assim, o aplicativo possui Índice de Notas, Detalhes, Criar e Editar Telas.
Seu objetivo único é ser um código de amostra, por isso será excluído quando você executar o script ./bin/remove_notes .
O código foi estruturado seguindo a abordagem de arquitetura limpa e o padrão de Model-View-Presentador (MVP). Verifique isso e as postagens, e também este projeto, para obter mais informações sobre ele.
O princípio da inversão de dependência é usado no aplicativo basicamente para facilitar o teste e facilitar e reutilizar os componentes. Ele também reduz o código da caldeira e ajuda no gerenciamento dos escopos de instância. A biblioteca usada para alcançar é a Dagger 2. Butternife é usada para injeção de exibição.
A arquitetura limpa faz você criar camadas diferentes e, para evitar um inferno de retorno de chamada, o paradigma de programação reativo é aplicado usando a biblioteca ReactiveX.
Como um aplicativo cliente, seu principal objetivo é permitir que o usuário interaja com os dados de uma API do servidor. O projeto mostra como lidar com isso facilmente. A biblioteca de modernização é usada para implementar os métodos de chamada da API. Autenticação, versão da API e internacionalização estão incluídas nas solicitações.
Uma das coisas mais interessantes deste projeto é que ele possui cobertura completa de testes de unidade, desde módulos de dados a vistas do Android, incluindo todas as camadas intermediárias. Esse é o resultado do uso da arquitetura limpa, inversão de dependência e boas práticas de teste. Um exemplo disso é o teste de visualização, onde o apresentador do View é ridicularizado pelo Mockito e injetado testando o componente DAGGER, fornecido por um corredor Junit personalizado.
Aqui você pode encontrar tutoriais que expliquem alguns desses testes:
Outros padrões e boas práticas são usadas no projeto, como implementar atividades e fragmentos comuns com a herança, usar fragmentos e definir a navegação nas atividades para tornar a tela remodelando indolor, use interfaces para desmoronar componentes ... Android Boas práticas, como internacionalização de cordas, uso de lençóis de estilo e outras metodologias são seguidas. Aqui é um dos recursos usados -> Android Melhores Práticas.
O Travis-CI foi adicionado como um sistema de integração contínuo para executar todo o teste em cada push (testes Java e Android).
Para executar os testes localmente, basta conectar um dispositivo ou executar o emulador e executar:
./gradlew clean build cAT
Isso executará testes Java e Android.
Existem alguns scripts abaixo /bin para facilitar o início de um novo projeto usando este modelo. Basta seguir a seção 'Start Quick Start', colocado acima.
Todos os scripts de shell são verificados pela ferramenta ShellCheck.
Aqui está a sua API do servidor de contraparte de onde este aplicativo consome os dados-> Rails-api-Base.
Todas as sugestões e contribuições são mais do que bem -vindas!
./gradlew clean build cAT
Infelizmente, ainda não há colaboradores.
http://jordifierro.com