Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Android About Page API Para Construir a Tela Sobre

2.091 Aufrufe

Veröffentlicht am

➙ 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

Veröffentlicht in: Bildung
  • Loggen Sie sich ein, um Kommentare anzuzeigen.

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

×