Skip to content

viniciusalvesmello/androidCustomViewComponents

Repository files navigation

Android Custom View

Talk sobre a criação de Custom View no Android.

Meetup Android Curitiba

Evento Meetup Online #9 - Android Custom View foi realizado no dia foi realizado no dia 29/09/2020, sendo transmitido através do YouTube. A apresenção esta diponível no link.

Detalhes do projeto

O projeto foi dividido em três módulos, sendo dois módulos core.

No módulo app

Este módulo contém a aplicação demo, onde, temos três activity's, sendo elas:

No módulo :core:design

Este módulo centraliza toda a parte de design system do app, controlando os estilos da aplicação.

Este módulo também centraliza as Custom View do projeto, conforme abaixo:

  • O CustomEditText possui a implementação de vários formatos de entrada de texto, como o texto, apenas número, reais, telefone, CPF e CNPJ. Na parte de validações e mascaras foi utilizado a lib Android Canarinho.
  • O CustomButton possui a implementação de vários formatos de botões, além de diponibilizar a opção de loading. Dentro dos formatos temos o padrão, WhatsApp (Com e sem o número) e telefone (Com e sem o número), podendo todos estarem no estado desabilitado.

No módulo :core:test

Este módulo compartilha a base do Robot Pattern entre os módulos que possuem testes instrumentais.

Dentro deste módulo podemos destacar:

  • A classe ActionRobot responsável por disponibilizar as ações, como por exemplo, Click em botões, Preenchimento de texto no edittext, etc;
  • A classe AssertRobot.kt disponibiliza mecanismo de checagem da screen do android, como por exemplo, checagem se um texto esta visível na tela, se um checkbox esta marcado ou não, se o custom buttom esta em modo de loading, etc;
  • O arquivo Actions fornece funções personalizadas, utilizadas pela classe ActionRobot;
  • O arquivo Matchers fornece funções personalizadas, utilizadas pela classe AssertRobot.kt.

Testes Instrumentais com Espresso

Os testes instrumentais foram criados no módulo app, onde temos as a CustomEditTextActivity e a CustomButtonActivity.

Para cada tela foi criado um arquivo de teste, sendo eles:

Testes Unitários com Mockk

Neste projeto foi implementado os testes unitários do CustomButton, utilizando como fonte o artigo Unit Testing Custom View in Android. Para mais detalhes consulte o código da classe de teste CustomButtonTest.

About

Android Custom View Components

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages