O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Android About Page API Para Construir a Tela Sobre

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 35 Anúncio

Android About Page API Para Construir a Tela Sobre

Baixar para ler offline

➙ 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

➙ 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

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a Android About Page API Para Construir a Tela Sobre (20)

Anúncio

Mais recentes (20)

Anúncio

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

×