Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Android About Page API Para Construir a Tela Sobre

2.092 visualizaciones

Publicado el

➙ Conteúdo completo, texto e vídeo, em: https://www.thiengo.com.br/android-about-page-api-para-construir-a-tela-sobre

Neste conjunto de slides vamos, passo a passo, estudar a API Android About Page, uma das APIs mais utilizadas para a construção da tela Sobre, ou tela de Informação, de aplicativos Android.

➙ Para receber o conteúdo do blog em primeira mão, assine a lista de emails em: http://www.thiengo.com.br

Abraço.


▶ Treinamento oficial:

➙ Prototipagem Profissional de Aplicativos Android: 
↳ https://www.udemy.com/android-prototipagem-profissional-de-aplicativos/persist_locale&locale=pt_BR


▶ Livros oficiais: 

➙ Desenvolvedor Kotlin Android - Bibliotecas para o dia a dia: 
↳ https://www.thiengo.com.br/livro-desenvolvedor-kotlin-android

➙ Receitas Para Desenvolvedores Android: 
↳ https://www.thiengo.com.br/livro-receitas-para-desenvolvedores-android 

➙ Refatorando Para Programas Limpos: 
↳ https://www.thiengo.com.br/livro-refatorando-para-programas-limpos 


▶ Redes: 

➙ Udemy: https://www.udemy.com/user/vinicius-thiengo/?persist_locale&locale=pt_BR
➙ YouTube: https://www.youtube.com/user/thiengoCalopsita
➙ Facebook: https://www.facebook.com/thiengoCalopsita 
➙ LinkedIn: https://www.linkedin.com/in/vin%C3%ADcius-thiengo-5179b180/ 
➙ GitHub: https://github.com/viniciusthiengo
➙ Twitter: https://twitter.com/thiengoCalops 
➙ Google Plus: https://plus.google.com/+ThiengoCalopsita 


▶ Blog App: 

➙ https://play.google.com/store/apps/details?id=br.thiengocalopsita&hl=pt_BR

Publicado en: Educación
  • Inicia sesión para ver los comentarios

Android About Page API Para Construir a Tela Sobre

  1. 1. Android About Page API Para Construir a Tela Sobre thiengo.com.br
  2. 2. Tela de informa��es - Sobre Apesar de n�o ser uma exig�ncia na maioria dos projetos de aplicativos Android e tamb�m de n�o estar dentre as telas mais acessadas dentro dos apps, uma das maneiras mais simples de mostrar o seu trabalho � por meio de uma p�gina Sobre no aplicativo. Nessa tela entram informa��es da empresa, ou do desenvolvedor, al�m de v�rios pontos para contato. Pontos como: telefone; redes sociais; email; e at� mesmo um ativador de rota em mapa. Por�m sabemos da correria do dia a dia no desenvolvimento de apps, devido a isso e tamb�m devido a import�ncia das telas Sobre, alguns desenvolvedores criaram APIs que facilitam a coloca��o desse tipo de tela nos aplicativos, algo que n�o leva nem mesmo 10 minutos. Obviamente, principalmente se voc� cria aplicativos para clientes, que em algum momento ser� exigido de ti uma tela Sobre personalizada, constru�da do zero, por exemplo. Mas para os primeiros releases, sabendo da necessidade de entrega do aplicativo na data estipulada, utilizar uma API de terceiro que mant�m uma qualidade aceit�vel, essa � uma excelente escolha de projeto, como informado: ao menos nos primeiros releases do aplicativo.
  3. 3. Biblioteca Android About Page A API Android About Page � uma das mais utilizadas para o desenvolvimento de telas Sobre. Foi criada pelo marroquino Mehdi Sakout e tem, no momento da constru��o deste conjunto de slides, mais de 1600 estrelas no GitHub. Como j� informei em alguns artigos do Blog: ter mais de 1000 estrelas � um �timo par�metro para utilizar uma API. O outro par�metro � a data do �ltimo commit, no caso da Android About Page o �ltimo foi em Mar�o de 2018, data aceit�vel, tendo em mente que este tipo de API n�o tem muitos algoritmos cr�ticos que necessitam de constante melhoria. A Android About Page permite in�meros elementos em tela e � de simples instala��o e configura��o em qualquer dom�nio de problema.
  4. 4. Instala��o da biblioteca A API est� presente no JCenter, Maven e JitPack, com isso, no Gradle N�vel de Aplicativo, ou build.gradle (Module: app), devemos somente colocar a refer�ncia � �ltima vers�o est�vel da API, como a seguir: Na �poca da constru��o deste conte�do a �ltima vers�o est�vel era a 1.2.4.
  5. 5. Tela simples, sem componentes sociais e de contato Para uma tela bem simples, apenas com imagem principal e descri��o, voc� pode invocar a API como a seguir: O m�todo setContentView() ser� utilizado para que todo o layout da API seja colocado em tela, logo, temos que a constru��o e vinculo de um objeto AboutPage tende a vir no onCreate() quando o contexto � de atividade, ou no onCreateView() quando o contexto � de fragmento.
  6. 6. Executando o projeto com o c�digo do slide anterior, temos:
  7. 7. Estrutura e modifica��o do layout Infelizmente a Android About Page API ainda � limitada em termos de customiza��o de layout, principalmente em pontos simples, como: - Enquadramento de imagem; - Alinhamento de texto de descri��o. H� in�meras op��es, hardcoded, para que seja poss�vel atualizar os pontos informados acima. A mais simples, segundo testes realizados, � entendendo a estrutura de layout da API e ent�o acessando os componentes do layout, pelos seus IDs, e atualizado-os em c�digo din�mico.
  8. 8. At� o momento da constru��o deste conte�do a estrutura XML do layout about_page.xml era como a seguir:
  9. 9. H� uma s�rie de estilos definidos no arquivo styles.xml da biblioteca, mas confesso que tentar qualquer atualiza��o por meio de sobrescrita de estilo tende a exigir mais linhas de c�digo do que acessar um componente por ID e ent�o atualiza-lo em c�digo din�mico. A seguir o diagrama da estrutura do slide anterior: Para ficar em dia com a estrutura do layout principal da Android About Page API, mantenha acesso a este layout em: about_page.xml. Com isso podemos facilmente atualizar os dois principais componentes apresentados do layout da biblioteca.
  10. 10. Enquadramento da imagem Primeiro saiba que caso em sua About Page n�o tenha a necessidade de uma imagem de topo como proposto pela API, basta n�o invocar o m�todo setImage(). Outro ponto importante � saber o tamanho exato da imagem para a correta replica��o nos folders drawable. Na documenta��o oficial a imagem de exemplo tem 500dp de largura. Mas realizando alguns testes foi encontrado como tamanho exato a medi��o de 375dp para a largura. A altura seguir� a propor��o necess�ria de acordo com a imagem em uso.
  11. 11. No c�digo a seguir temos o enquadramento da imagem, que tem 500dp de largura, para que ela n�o exceda o espa�o de topo e de fundo:
  12. 12. Executando o projeto com o c�digo do slide anterior, temos:
  13. 13. A seguir duas boas ferramentas online e gratuitas para trabalho com imagens no Android: - Pixplicity | DP/PX converter: para a r�pida convers�o de DPs para pixels e assim entender os tamanhos de imagens que voc� precisar�, ao menos nos folders drawable; - NativeScript Image Builder: para gerar as imagens com os tamanhos corretos. Carregue sempre uma imagem PNG e com o tamanho XXXHDPI para que todas as outras sejam geradas corretamente.
  14. 14. Alinhamento da descri��o Primeiro saiba que se voc� n�o fornecer qualquer descri��o, uma descri��o padr�o � utilizada. Eu sei, este comportamento est� mais para bug do que para algo comum. Ent�o, em caso de n�o ter uma descri��o, � preciso acessar o TextView de descri��o e ent�o mudar a visibilidade dele, como a seguir: Thiengo, mas e seu eu fornecesse uma String vazia ao m�todo setDescription()? Neste caso a descri��o padr�o da API � a que seria utilizada.
  15. 15. Voltando o foco no alinhamento... com o c�digo a seguir conseguimos modificar o alinhamento padr�o que � central para um alinhamento � esquerda:
  16. 16. Executando o projeto de testes com o c�digo do slide anterior, temos:
  17. 17. Redes, email, site e grupos A biblioteca Android About Page fornece algumas interfaces para o vinculo das principais redes sociais, email, Web site, p�gina na Play Store e GitHub. Veja o c�digo a seguir:
  18. 18. Como tamb�m comentado no c�digo do slide anterior, o addYoutube() est� com um c�digo interno ainda antigo, sendo assim nenhum canal � aberto quando utilizando este m�todo. Como solu��o temos a possibilidade de criar uma op��o personalizada utilizando um objeto Element, algo que discutiremos na pr�xima se��o. Note que a ordem empregada em c�digo para os m�todos add � a ordem de apresenta��o em tela.
  19. 19. Executando o projeto com o c�digo anterior e clicando na op��o do Facebook, temos:
  20. 20. Se o aplicativo n�o estiver instalado no device, a vers�o Web da rede acionada � aberta no navegador do aparelho. Um ponto negativo para o m�todo addGroup() � a n�o possibilidade de mudar o alinhamento do texto, mas � poss�vel resolver isso utilizando um Element neutro, o que faremos ainda na pr�xima se��o. Voc� deve ter notado que os r�tulos j� est�o todos em portugu�s. At� o momento da constru��o deste artigo a Android About Page API tinha suporte para 30 idiomas, incluindo o portugu�s do Brasil. Caso voc� queira colocar os seus pr�prios r�tulos, os m�todos add t�m uma sobrecarga onde o segundo argumento � o r�tulo utilizado. Veja o c�digo a seguir:
  21. 21. Executando o c�digo do slide anterior, temos:
  22. 22. Item customizado Ainda h� in�meras op��es de redes n�o atendidas de maneira nativa pela interface publica da Android About Page, sendo assim, para adicionarmos a vers�o correta do YouTube, por exemplo, podemos ter o seguinte c�digo:
  23. 23. Executando o c�digo do slide anterior e acionando a op��o de YouTube, temos:
  24. 24. Atualizando o c�digo de redes da se��o anterior, para ao inv�s de utilizar addGroup() utilizar addItem() e assim termos cabe�alhos centralizados:
  25. 25. Executando o c�digo anterior, temos:
  26. 26. O ponto negativo do c�digo com setIntent() � que se o aplicativo n�o estiver no aparelho do usu�rio, sabendo que setPackage() foi configurado no objeto Intent, nada ocorre, nem mesmo uma mensagem solicitando a instala��o do app. Como uma melhor solu��o temos a possibilidade de sobrescrita do listener de clique.
  27. 27. Sobrescrevendo o listener de clique Para sobrescrever o listener de clique e assim fornecer mais op��es quando um aplicativo n�o estiver no aparelho, fa�a como a seguir:
  28. 28. Executando o aplicativo em um aparelho sem o app do YouTube, mas com o Chrome sendo o navegador padr�o, temos: Note que todo o c�digo para o trabalho com a op��o de YouTube tamb�m � v�lido para o envio de SMS, para o WhatsApp e outros aplicativos, digo, os c�digos desta se��o e o da se��o anterior.
  29. 29. Pontos negativos - Caracter�sticas simples, que poderiam ser alteradas com a simples chamada de m�todos espec�ficos da API, como o alinhamento da descri��o ou o alinhamento do cabe�alho de grupo, caracter�sticas assim exigem acesso a Views via findViewById() ou � cria��o de elementos customizados; - � preciso atualiza��o, ao menos, para a adi��o de mais op��es de aplicativos, como o WhatsApp, por exemplo. Al�m da corre��o do c�digo do YouTube; - Poderia ter uma op��o de v�deo ao inv�s de somente imagem; - A documenta��o � bem simples e em nenhum ponto fala sobre a ordena��o das op��es de acordo com o posicionamento de cada m�todo add(); - H� m�todos de mudan�a de cor de �cone, de uso aleat�rio de cor em �cone e de defini��o de valor que s�o muito espec�ficos de dom�nio e poderiam ser removidos.
  30. 30. Pontos positivos - Realmente � muito simples adicionar uma about page completa com a Android About Page API, diferente de algumas outras bibliotecas de tela Sobre, que exigem a leitura de uma documenta��o extensa; - A op��o de criar um elemento customizado, contendo at� mesmo um listener de clique personalizado, essa op��o faz com que muitos problemas de algoritmo antigo ou faltante sejam facilmente contornados; - O trabalho com a ordena��o de acordo com o fornecimento dos m�todos add() facilita a constru��o da about page de maneira personalizada.
  31. 31. Considera��es finais Para qualquer aplicativo, como o conte�do sobre compartilhamento discutido no Blog, � importante ter a tela de informa��es extras, a tela de Sobre. � por l� que o contato com a empresa / desenvolvedor � facilitado, al�m de um pequeno resumo sobre a trajet�ria desse. A Android About Page API, apesar dos problemas ainda existentes, � a biblioteca mais simples para a constru��o r�pida e robusta de uma about page.
  32. 32. Outras bibliotecas A seguir algumas outras bibliotecas, tamb�m populares, de about page: - About Libraries - o foco � na divulga��o das bibliotecas utilizadas no desenvolvimento do aplicativo; - Material About - biblioteca de about page mais gen�rica, certamente a concorrente direta da Android About Page API; - V�rias outras op��es de about API no Android-Arsenal.
  33. 33. Fontes Conte�do completo, em texto e em v�deo, no link a seguir: - Android About Page API Para Construir a Tela Sobre. Fontes: - Documenta��o oficial Android About Page API; - Android set the gravity for a TextView programmatically - Resposta de radiofrequency e z3ntu; - Sending an Intent to browser to open specific URL [duplicate] - Resposta de aioobe; - How to set margin of ImageView using code, not xml - Resposta de Key e Ahmed Salman Tahir;
  34. 34. Para estudo - Treinamento oficial: - Prototipagem Profissional de Aplicativos Android. - Meus livros: - Desenvolvedor Kotlin Android - Bibliotecas para o dia a dia; - Receitas Para Desenvolvedores Android; - Refatorando Para Programas Limpos. - Redes: - Udemy; - YouTube; - Facebook; - LinkedIn; - GitHub; - Twitter; - Google Plus. - Blog App.
  35. 35. Android About Page API Para Construir a Tela Sobre thiengo.com.br Vin�cius Thiengo thiengocalopsita@gmail.com

×