SlideShare uma empresa Scribd logo
Android About Page API Para
Construir a Tela Sobre
thiengo.com.br
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.
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.
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.
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.
Executando o projeto com o código do slide anterior, temos:
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.
Até o momento da construção deste conteúdo a estrutura XML do layout
about_page.xml era como a seguir:
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.
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.
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:
Executando o projeto com o código do slide anterior, temos:
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.
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.
Voltando o foco no alinhamento... com o código a seguir conseguimos modificar o
alinhamento padrão que é central para um alinhamento à esquerda:
Executando o projeto de testes com o código do slide anterior, temos:
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:
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.
Executando o projeto com o código anterior e clicando na opção do Facebook,
temos:
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:
Executando o código do slide anterior, temos:
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:
Executando o código do slide anterior e acionando a opção de YouTube, temos:
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:
Executando o código anterior, temos:
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.
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:
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.
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.
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.
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.
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.
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;
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.
Android About Page API Para
Construir a Tela Sobre
thiengo.com.br
Vinícius Thiengo
thiengocalopsita@gmail.com

Mais conteúdo relacionado

Mais procurados

ViewModel Android, Como Utilizar Este Componente de Arquitetura
ViewModel Android, Como Utilizar Este Componente de ArquiteturaViewModel Android, Como Utilizar Este Componente de Arquitetura
ViewModel Android, Como Utilizar Este Componente de Arquitetura
Vinícius Thiengo
 
Estudando Android - Lista de Conteúdos do Blog
Estudando Android - Lista de Conteúdos do BlogEstudando Android - Lista de Conteúdos do Blog
Estudando Android - Lista de Conteúdos do Blog
Vinícius Thiengo
 
Observable Binding Para Atualização na UI Android
Observable Binding Para Atualização na UI AndroidObservable Binding Para Atualização na UI Android
Observable Binding Para Atualização na UI Android
Vinícius Thiengo
 
Leitor de Códigos no Android com Barcode Scanner API - ZXing
Leitor de Códigos no Android com Barcode Scanner API - ZXingLeitor de Códigos no Android com Barcode Scanner API - ZXing
Leitor de Códigos no Android com Barcode Scanner API - ZXing
Vinícius Thiengo
 
Trabalhando Análise Qualitativa em seu Aplicativo Android
Trabalhando Análise Qualitativa em seu Aplicativo AndroidTrabalhando Análise Qualitativa em seu Aplicativo Android
Trabalhando Análise Qualitativa em seu Aplicativo Android
Vinícius Thiengo
 
BottomNavigationView Android, Como e Quando Utilizar
BottomNavigationView Android, Como e Quando UtilizarBottomNavigationView Android, Como e Quando Utilizar
BottomNavigationView Android, Como e Quando Utilizar
Vinícius Thiengo
 
Estudando Android - Lista de Conteúdos do Blog
Estudando Android - Lista de Conteúdos do BlogEstudando Android - Lista de Conteúdos do Blog
Estudando Android - Lista de Conteúdos do Blog
Vinícius Thiengo
 
Android: Avaliação do Pré-projeto Agenda Cultural
Android: Avaliação do Pré-projeto Agenda CulturalAndroid: Avaliação do Pré-projeto Agenda Cultural
Android: Avaliação do Pré-projeto Agenda Cultural
Vinícius Thiengo
 
Android: Qual Tecnologia de Desenvolvimento Utilizar?
Android: Qual Tecnologia de Desenvolvimento Utilizar?Android: Qual Tecnologia de Desenvolvimento Utilizar?
Android: Qual Tecnologia de Desenvolvimento Utilizar?
Vinícius Thiengo
 
Como Reter Objetos Utilizando Android-State API
Como Reter Objetos Utilizando Android-State APIComo Reter Objetos Utilizando Android-State API
Como Reter Objetos Utilizando Android-State API
Vinícius Thiengo
 
Android Studio
Android StudioAndroid Studio
Android Studio
Vinícius Thiengo
 
Annotation Span Para Estilização de Texto no Android
Annotation Span Para Estilização de Texto no AndroidAnnotation Span Para Estilização de Texto no Android
Annotation Span Para Estilização de Texto no Android
Vinícius Thiengo
 
True Time API Para Data e Horário NTP no Android
True Time API Para Data e Horário NTP no AndroidTrue Time API Para Data e Horário NTP no Android
True Time API Para Data e Horário NTP no Android
Vinícius Thiengo
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para Android
Sidney Roberto
 
Fontes em XML, Android O. Configuração e Uso
Fontes em XML, Android O. Configuração e UsoFontes em XML, Android O. Configuração e Uso
Fontes em XML, Android O. Configuração e Uso
Vinícius Thiengo
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
HugoDalevedove
 
Apostila Android
Apostila AndroidApostila Android
Apostila Android
Andre Nascimento
 
#DeveloperDay - Front-end API html5
#DeveloperDay - Front-end API html5#DeveloperDay - Front-end API html5
#DeveloperDay - Front-end API html5
Leandro Santos
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
Erisvaldo Junior
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
José Alexandre Macedo
 

Mais procurados (20)

ViewModel Android, Como Utilizar Este Componente de Arquitetura
ViewModel Android, Como Utilizar Este Componente de ArquiteturaViewModel Android, Como Utilizar Este Componente de Arquitetura
ViewModel Android, Como Utilizar Este Componente de Arquitetura
 
Estudando Android - Lista de Conteúdos do Blog
Estudando Android - Lista de Conteúdos do BlogEstudando Android - Lista de Conteúdos do Blog
Estudando Android - Lista de Conteúdos do Blog
 
Observable Binding Para Atualização na UI Android
Observable Binding Para Atualização na UI AndroidObservable Binding Para Atualização na UI Android
Observable Binding Para Atualização na UI Android
 
Leitor de Códigos no Android com Barcode Scanner API - ZXing
Leitor de Códigos no Android com Barcode Scanner API - ZXingLeitor de Códigos no Android com Barcode Scanner API - ZXing
Leitor de Códigos no Android com Barcode Scanner API - ZXing
 
Trabalhando Análise Qualitativa em seu Aplicativo Android
Trabalhando Análise Qualitativa em seu Aplicativo AndroidTrabalhando Análise Qualitativa em seu Aplicativo Android
Trabalhando Análise Qualitativa em seu Aplicativo Android
 
BottomNavigationView Android, Como e Quando Utilizar
BottomNavigationView Android, Como e Quando UtilizarBottomNavigationView Android, Como e Quando Utilizar
BottomNavigationView Android, Como e Quando Utilizar
 
Estudando Android - Lista de Conteúdos do Blog
Estudando Android - Lista de Conteúdos do BlogEstudando Android - Lista de Conteúdos do Blog
Estudando Android - Lista de Conteúdos do Blog
 
Android: Avaliação do Pré-projeto Agenda Cultural
Android: Avaliação do Pré-projeto Agenda CulturalAndroid: Avaliação do Pré-projeto Agenda Cultural
Android: Avaliação do Pré-projeto Agenda Cultural
 
Android: Qual Tecnologia de Desenvolvimento Utilizar?
Android: Qual Tecnologia de Desenvolvimento Utilizar?Android: Qual Tecnologia de Desenvolvimento Utilizar?
Android: Qual Tecnologia de Desenvolvimento Utilizar?
 
Como Reter Objetos Utilizando Android-State API
Como Reter Objetos Utilizando Android-State APIComo Reter Objetos Utilizando Android-State API
Como Reter Objetos Utilizando Android-State API
 
Android Studio
Android StudioAndroid Studio
Android Studio
 
Annotation Span Para Estilização de Texto no Android
Annotation Span Para Estilização de Texto no AndroidAnnotation Span Para Estilização de Texto no Android
Annotation Span Para Estilização de Texto no Android
 
True Time API Para Data e Horário NTP no Android
True Time API Para Data e Horário NTP no AndroidTrue Time API Para Data e Horário NTP no Android
True Time API Para Data e Horário NTP no Android
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para Android
 
Fontes em XML, Android O. Configuração e Uso
Fontes em XML, Android O. Configuração e UsoFontes em XML, Android O. Configuração e Uso
Fontes em XML, Android O. Configuração e Uso
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
 
Apostila Android
Apostila AndroidApostila Android
Apostila Android
 
#DeveloperDay - Front-end API html5
#DeveloperDay - Front-end API html5#DeveloperDay - Front-end API html5
#DeveloperDay - Front-end API html5
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
 

Semelhante a Android About Page API Para Construir a Tela Sobre

Aprendendo Angular com a CLI
Aprendendo Angular com a CLIAprendendo Angular com a CLI
Aprendendo Angular com a CLI
Vanessa Me Tonini
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojo
fabioginzel
 
Parse Push Notification - O Lado negro da força
Parse Push Notification - O Lado negro da forçaParse Push Notification - O Lado negro da força
Parse Push Notification - O Lado negro da força
Rudson Lima
 
Acessando banco de dados remoto com android
Acessando banco de dados remoto com android Acessando banco de dados remoto com android
Acessando banco de dados remoto com android
Leonardo Moreira Dos Santos
 
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações Android
Felipe Silveira
 
Tutorial: Como criar aplicações no App Studio?
Tutorial: Como criar aplicações no App Studio?Tutorial: Como criar aplicações no App Studio?
Tutorial: Como criar aplicações no App Studio?
Lhaís Rodrigues
 
gae
gaegae
Como criar interfaces gráficas com android
Como criar interfaces gráficas com androidComo criar interfaces gráficas com android
Como criar interfaces gráficas com android
Ricardo Ogliari
 
1502 - Revista - SQL Server.pdf
1502 - Revista - SQL Server.pdf1502 - Revista - SQL Server.pdf
1502 - Revista - SQL Server.pdf
joaoJunior93
 
Data Binding Android - Levi Saturnino
Data Binding  Android - Levi SaturninoData Binding  Android - Levi Saturnino
Data Binding Android - Levi Saturnino
Levi Saturnino
 
WordCamp Floripa 2021 - Daniel - Core web vitals e WordPress
WordCamp Floripa 2021 - Daniel  - Core web vitals e WordPressWordCamp Floripa 2021 - Daniel  - Core web vitals e WordPress
WordCamp Floripa 2021 - Daniel - Core web vitals e WordPress
WordCamp Floripa
 
CORE WEB VITALS E WORDPRESS
CORE WEB VITALS E WORDPRESSCORE WEB VITALS E WORDPRESS
CORE WEB VITALS E WORDPRESS
Daniel Paz
 
Aula maps 23_2
Aula maps 23_2Aula maps 23_2
Aula maps 23_2
rafa nonato
 
Introdução a programação para plataforma iOS
Introdução a programação para plataforma iOSIntrodução a programação para plataforma iOS
Introdução a programação para plataforma iOS
Devmedia
 
Widget
WidgetWidget
Widget
grupoass
 
Bada
BadaBada
1503 - Revista - Angular.pdf
1503 - Revista - Angular.pdf1503 - Revista - Angular.pdf
1503 - Revista - Angular.pdf
joaoJunior93
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
Elmano Cavalcanti
 
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
Dextra Sistemas / Etec Itu
 
Programando Android - Aula 3
Programando Android - Aula 3Programando Android - Aula 3
Programando Android - Aula 3
Kalil Maciel
 

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

Aprendendo Angular com a CLI
Aprendendo Angular com a CLIAprendendo Angular com a CLI
Aprendendo Angular com a CLI
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojo
 
Parse Push Notification - O Lado negro da força
Parse Push Notification - O Lado negro da forçaParse Push Notification - O Lado negro da força
Parse Push Notification - O Lado negro da força
 
Acessando banco de dados remoto com android
Acessando banco de dados remoto com android Acessando banco de dados remoto com android
Acessando banco de dados remoto com android
 
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações Android
 
Tutorial: Como criar aplicações no App Studio?
Tutorial: Como criar aplicações no App Studio?Tutorial: Como criar aplicações no App Studio?
Tutorial: Como criar aplicações no App Studio?
 
gae
gaegae
gae
 
Como criar interfaces gráficas com android
Como criar interfaces gráficas com androidComo criar interfaces gráficas com android
Como criar interfaces gráficas com android
 
1502 - Revista - SQL Server.pdf
1502 - Revista - SQL Server.pdf1502 - Revista - SQL Server.pdf
1502 - Revista - SQL Server.pdf
 
Data Binding Android - Levi Saturnino
Data Binding  Android - Levi SaturninoData Binding  Android - Levi Saturnino
Data Binding Android - Levi Saturnino
 
WordCamp Floripa 2021 - Daniel - Core web vitals e WordPress
WordCamp Floripa 2021 - Daniel  - Core web vitals e WordPressWordCamp Floripa 2021 - Daniel  - Core web vitals e WordPress
WordCamp Floripa 2021 - Daniel - Core web vitals e WordPress
 
CORE WEB VITALS E WORDPRESS
CORE WEB VITALS E WORDPRESSCORE WEB VITALS E WORDPRESS
CORE WEB VITALS E WORDPRESS
 
Aula maps 23_2
Aula maps 23_2Aula maps 23_2
Aula maps 23_2
 
Introdução a programação para plataforma iOS
Introdução a programação para plataforma iOSIntrodução a programação para plataforma iOS
Introdução a programação para plataforma iOS
 
Widget
WidgetWidget
Widget
 
Bada
BadaBada
Bada
 
1503 - Revista - Angular.pdf
1503 - Revista - Angular.pdf1503 - Revista - Angular.pdf
1503 - Revista - Angular.pdf
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
 
Programando Android - Aula 3
Programando Android - Aula 3Programando Android - Aula 3
Programando Android - Aula 3
 

Mais de Vinícius Thiengo

7 Livros Que Não São de TI, Mas Que Um Programador Deveria Ler
7 Livros Que Não São de TI, Mas Que Um Programador Deveria Ler7 Livros Que Não São de TI, Mas Que Um Programador Deveria Ler
7 Livros Que Não São de TI, Mas Que Um Programador Deveria Ler
Vinícius Thiengo
 
5 livros que não são de TI, mas que um desenvolvedor deveria ler
5 livros que não são de TI, mas que um desenvolvedor deveria ler5 livros que não são de TI, mas que um desenvolvedor deveria ler
5 livros que não são de TI, mas que um desenvolvedor deveria ler
Vinícius Thiengo
 
Utilizando Intenções Para Mapas de Alta Qualidade no Android
Utilizando Intenções Para Mapas de Alta Qualidade no AndroidUtilizando Intenções Para Mapas de Alta Qualidade no Android
Utilizando Intenções Para Mapas de Alta Qualidade no Android
Vinícius Thiengo
 
Chips Android, Quando e Como Utilizar
Chips Android, Quando e Como UtilizarChips Android, Quando e Como Utilizar
Chips Android, Quando e Como Utilizar
Vinícius Thiengo
 
Freelancer Android
Freelancer AndroidFreelancer Android
Freelancer Android
Vinícius Thiengo
 
Definindo Fontes em Aplicativos Android
Definindo Fontes em Aplicativos AndroidDefinindo Fontes em Aplicativos Android
Definindo Fontes em Aplicativos Android
Vinícius Thiengo
 
Material Design
Material DesignMaterial Design
Material Design
Vinícius Thiengo
 

Mais de Vinícius Thiengo (7)

7 Livros Que Não São de TI, Mas Que Um Programador Deveria Ler
7 Livros Que Não São de TI, Mas Que Um Programador Deveria Ler7 Livros Que Não São de TI, Mas Que Um Programador Deveria Ler
7 Livros Que Não São de TI, Mas Que Um Programador Deveria Ler
 
5 livros que não são de TI, mas que um desenvolvedor deveria ler
5 livros que não são de TI, mas que um desenvolvedor deveria ler5 livros que não são de TI, mas que um desenvolvedor deveria ler
5 livros que não são de TI, mas que um desenvolvedor deveria ler
 
Utilizando Intenções Para Mapas de Alta Qualidade no Android
Utilizando Intenções Para Mapas de Alta Qualidade no AndroidUtilizando Intenções Para Mapas de Alta Qualidade no Android
Utilizando Intenções Para Mapas de Alta Qualidade no Android
 
Chips Android, Quando e Como Utilizar
Chips Android, Quando e Como UtilizarChips Android, Quando e Como Utilizar
Chips Android, Quando e Como Utilizar
 
Freelancer Android
Freelancer AndroidFreelancer Android
Freelancer Android
 
Definindo Fontes em Aplicativos Android
Definindo Fontes em Aplicativos AndroidDefinindo Fontes em Aplicativos Android
Definindo Fontes em Aplicativos Android
 
Material Design
Material DesignMaterial Design
Material Design
 

Último

Boletim informativo - Contacto - julho de 2024
Boletim informativo - Contacto - julho de 2024Boletim informativo - Contacto - julho de 2024
Boletim informativo - Contacto - julho de 2024
Bibliotecas Escolares AEIDH
 
Escola de Comando e Estado-Maior da Aeronáutica (ECEMAR).pdf
Escola de Comando e Estado-Maior da Aeronáutica (ECEMAR).pdfEscola de Comando e Estado-Maior da Aeronáutica (ECEMAR).pdf
Escola de Comando e Estado-Maior da Aeronáutica (ECEMAR).pdf
Falcão Brasil
 
A GEOPOLÍTICA ATUAL E A INTEGRAÇÃO ECONÔMICA E SOCIAL
A GEOPOLÍTICA ATUAL E A INTEGRAÇÃO ECONÔMICA E SOCIALA GEOPOLÍTICA ATUAL E A INTEGRAÇÃO ECONÔMICA E SOCIAL
A GEOPOLÍTICA ATUAL E A INTEGRAÇÃO ECONÔMICA E SOCIAL
ArapiracaNoticiasFat
 
Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...
Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...
Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...
Falcão Brasil
 
O que é o programa nacional de alimentação escolar (PNAE)?
O que é  o programa nacional de alimentação escolar (PNAE)?O que é  o programa nacional de alimentação escolar (PNAE)?
O que é o programa nacional de alimentação escolar (PNAE)?
Marcelo Botura
 
Administração Em Enfermagem.pptx caala - Cópia-1.pptx
Administração Em Enfermagem.pptx caala - Cópia-1.pptxAdministração Em Enfermagem.pptx caala - Cópia-1.pptx
Administração Em Enfermagem.pptx caala - Cópia-1.pptx
helenawaya9
 
O Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdf
O Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdfO Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdf
O Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdf
Falcão Brasil
 
Organograma do Centro Gestor e Operacional do Sistema de Proteção da Amazônia...
Organograma do Centro Gestor e Operacional do Sistema de Proteção da Amazônia...Organograma do Centro Gestor e Operacional do Sistema de Proteção da Amazônia...
Organograma do Centro Gestor e Operacional do Sistema de Proteção da Amazônia...
Falcão Brasil
 
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptxSlides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
LuizHenriquedeAlmeid6
 
UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...
UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...
UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...
Manuais Formação
 
Escola de Especialistas de Aeronáutica (EEAR).pdf
Escola de Especialistas de Aeronáutica (EEAR).pdfEscola de Especialistas de Aeronáutica (EEAR).pdf
Escola de Especialistas de Aeronáutica (EEAR).pdf
Falcão Brasil
 
Análise dos resultados do desmatamento obtidos pelo SIAD.ppt
Análise dos resultados do desmatamento obtidos pelo SIAD.pptAnálise dos resultados do desmatamento obtidos pelo SIAD.ppt
Análise dos resultados do desmatamento obtidos pelo SIAD.ppt
Falcão Brasil
 
A Guerra do Presente - Ministério da Defesa.pdf
A Guerra do Presente - Ministério da Defesa.pdfA Guerra do Presente - Ministério da Defesa.pdf
A Guerra do Presente - Ministério da Defesa.pdf
Falcão Brasil
 
Portfólio Estratégico da Força Aérea Brasileira (FAB).pdf
Portfólio Estratégico da Força Aérea Brasileira (FAB).pdfPortfólio Estratégico da Força Aérea Brasileira (FAB).pdf
Portfólio Estratégico da Força Aérea Brasileira (FAB).pdf
Falcão Brasil
 
Uma Breve História da Origem, Formação e Evolução da Terra
Uma Breve História da Origem, Formação e Evolução da TerraUma Breve História da Origem, Formação e Evolução da Terra
Uma Breve História da Origem, Formação e Evolução da Terra
Luiz C. da Silva
 
gestão_de_conflitos_no_ambiente_escolar.pdf
gestão_de_conflitos_no_ambiente_escolar.pdfgestão_de_conflitos_no_ambiente_escolar.pdf
gestão_de_conflitos_no_ambiente_escolar.pdf
Maria das Graças Machado Rodrigues
 
Escola Preparatória de Cadetes do Ar (EPCAR).pdf
Escola Preparatória de Cadetes do Ar (EPCAR).pdfEscola Preparatória de Cadetes do Ar (EPCAR).pdf
Escola Preparatória de Cadetes do Ar (EPCAR).pdf
Falcão Brasil
 
A Atuação das Forças Armadas na Garantia da Lei e da Ordem (GLO).pdf
A Atuação das Forças Armadas na Garantia da Lei e da Ordem (GLO).pdfA Atuação das Forças Armadas na Garantia da Lei e da Ordem (GLO).pdf
A Atuação das Forças Armadas na Garantia da Lei e da Ordem (GLO).pdf
Falcão Brasil
 
UFCD_5673_Segurança nos transportes_índice.pdf
UFCD_5673_Segurança nos transportes_índice.pdfUFCD_5673_Segurança nos transportes_índice.pdf
UFCD_5673_Segurança nos transportes_índice.pdf
Manuais Formação
 

Último (20)

Boletim informativo - Contacto - julho de 2024
Boletim informativo - Contacto - julho de 2024Boletim informativo - Contacto - julho de 2024
Boletim informativo - Contacto - julho de 2024
 
Escola de Comando e Estado-Maior da Aeronáutica (ECEMAR).pdf
Escola de Comando e Estado-Maior da Aeronáutica (ECEMAR).pdfEscola de Comando e Estado-Maior da Aeronáutica (ECEMAR).pdf
Escola de Comando e Estado-Maior da Aeronáutica (ECEMAR).pdf
 
A GEOPOLÍTICA ATUAL E A INTEGRAÇÃO ECONÔMICA E SOCIAL
A GEOPOLÍTICA ATUAL E A INTEGRAÇÃO ECONÔMICA E SOCIALA GEOPOLÍTICA ATUAL E A INTEGRAÇÃO ECONÔMICA E SOCIAL
A GEOPOLÍTICA ATUAL E A INTEGRAÇÃO ECONÔMICA E SOCIAL
 
Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...
Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...
Endereços — Centro Gestor e Operacional do Sistema de Proteção da Amazônia - ...
 
O que é o programa nacional de alimentação escolar (PNAE)?
O que é  o programa nacional de alimentação escolar (PNAE)?O que é  o programa nacional de alimentação escolar (PNAE)?
O que é o programa nacional de alimentação escolar (PNAE)?
 
Administração Em Enfermagem.pptx caala - Cópia-1.pptx
Administração Em Enfermagem.pptx caala - Cópia-1.pptxAdministração Em Enfermagem.pptx caala - Cópia-1.pptx
Administração Em Enfermagem.pptx caala - Cópia-1.pptx
 
O Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdf
O Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdfO Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdf
O Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdf
 
Organograma do Centro Gestor e Operacional do Sistema de Proteção da Amazônia...
Organograma do Centro Gestor e Operacional do Sistema de Proteção da Amazônia...Organograma do Centro Gestor e Operacional do Sistema de Proteção da Amazônia...
Organograma do Centro Gestor e Operacional do Sistema de Proteção da Amazônia...
 
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptxSlides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
 
UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...
UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...
UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...
 
Escola de Especialistas de Aeronáutica (EEAR).pdf
Escola de Especialistas de Aeronáutica (EEAR).pdfEscola de Especialistas de Aeronáutica (EEAR).pdf
Escola de Especialistas de Aeronáutica (EEAR).pdf
 
Análise dos resultados do desmatamento obtidos pelo SIAD.ppt
Análise dos resultados do desmatamento obtidos pelo SIAD.pptAnálise dos resultados do desmatamento obtidos pelo SIAD.ppt
Análise dos resultados do desmatamento obtidos pelo SIAD.ppt
 
A Guerra do Presente - Ministério da Defesa.pdf
A Guerra do Presente - Ministério da Defesa.pdfA Guerra do Presente - Ministério da Defesa.pdf
A Guerra do Presente - Ministério da Defesa.pdf
 
Festa dos Finalistas .
Festa dos Finalistas                    .Festa dos Finalistas                    .
Festa dos Finalistas .
 
Portfólio Estratégico da Força Aérea Brasileira (FAB).pdf
Portfólio Estratégico da Força Aérea Brasileira (FAB).pdfPortfólio Estratégico da Força Aérea Brasileira (FAB).pdf
Portfólio Estratégico da Força Aérea Brasileira (FAB).pdf
 
Uma Breve História da Origem, Formação e Evolução da Terra
Uma Breve História da Origem, Formação e Evolução da TerraUma Breve História da Origem, Formação e Evolução da Terra
Uma Breve História da Origem, Formação e Evolução da Terra
 
gestão_de_conflitos_no_ambiente_escolar.pdf
gestão_de_conflitos_no_ambiente_escolar.pdfgestão_de_conflitos_no_ambiente_escolar.pdf
gestão_de_conflitos_no_ambiente_escolar.pdf
 
Escola Preparatória de Cadetes do Ar (EPCAR).pdf
Escola Preparatória de Cadetes do Ar (EPCAR).pdfEscola Preparatória de Cadetes do Ar (EPCAR).pdf
Escola Preparatória de Cadetes do Ar (EPCAR).pdf
 
A Atuação das Forças Armadas na Garantia da Lei e da Ordem (GLO).pdf
A Atuação das Forças Armadas na Garantia da Lei e da Ordem (GLO).pdfA Atuação das Forças Armadas na Garantia da Lei e da Ordem (GLO).pdf
A Atuação das Forças Armadas na Garantia da Lei e da Ordem (GLO).pdf
 
UFCD_5673_Segurança nos transportes_índice.pdf
UFCD_5673_Segurança nos transportes_índice.pdfUFCD_5673_Segurança nos transportes_índice.pdf
UFCD_5673_Segurança nos transportes_índice.pdf
 

Android About Page API Para Construir a Tela Sobre

  • 1. Android About Page API Para Construir a Tela Sobre thiengo.com.br
  • 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. 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. 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. 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. Executando o projeto com o código do slide anterior, temos:
  • 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. Até o momento da construção deste conteúdo a estrutura XML do layout about_page.xml era como a seguir:
  • 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. 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. 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. Executando o projeto com o código do slide anterior, temos:
  • 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. 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. Voltando o foco no alinhamento... com o código a seguir conseguimos modificar o alinhamento padrão que é central para um alinhamento à esquerda:
  • 16. Executando o projeto de testes com o código do slide anterior, temos:
  • 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. 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. Executando o projeto com o código anterior e clicando na opção do Facebook, temos:
  • 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. Executando o código do slide anterior, temos:
  • 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. Executando o código do slide anterior e acionando a opção de YouTube, temos:
  • 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. Executando o código anterior, temos:
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. Android About Page API Para Construir a Tela Sobre thiengo.com.br Vinícius Thiengo thiengocalopsita@gmail.com