Cursos / Informática para Internet / Dispositivos Móveis / Aula

arrow_back Aula 09 - Estilos, Temas e Compatibilidade

Compatibilidade

Conforme já mostrado nas aulas anteriores, o Android é uma plataforma que trabalha com um grande número de aparelhos. Isso traz diversas configurações diferentes de aparelhos possíveis, e, ao desenvolver um aplicativo, é importante notar que quanto mais aparelhos conseguirmos atingir com o aplicativo, melhor será.

Por isso, o Android oferece uma série de mecanismos para facilitar o trabalho com compatibilidade. É possível, por exemplo, definir que alguns usuários, dependendo das funcionalidades e recursos disponíveis em seus aparelhos, nem mesmo vejam o seu aplicativo na Google Play e não possam, portanto, realizar sua instalação.

Cada aparelho que usa Android tem instalado uma determinada versão do sistema. A versão determina, entre outras coisas, o nível de API que o aparelho tem acesso por padrão e, portanto, quais recursos estão disponíveis a ele. É importante, também, salientar que o uso das APIs é independente do aparelho, ou seja, não existem seções opcionais das APIs. Dessa forma, definindo um nível de API mínimo utilizado pela aplicação, temos a certeza de seu correto funcionamento em qualquer aparelho que utilize essa API.

Apesar disso, podem existir recursos de hardware que limitem o funcionamento correto de determinadas partes da API. Felizmente, da mesma forma que podemos limitar o acesso a nossos aplicativos a partir dos níveis de API, podemos fazer algo semelhante com recursos de hardware.

Para limitar o acesso e instalação de sua aplicação, usamos, basicamente, duas abordagens. A primeira é definindo os recursos de software que utilizaremos, através das tags de SdkVersion, definidas no build.gradle, dentro dos Gradle Scripts de sua aplicação. Através dessas tags, indicaremos qual API utilizamos para desenvolver o aplicativo e quais os limites de API que desejamos liberar a aplicação, através das propriedades minSdkVersion, targetSdkVersion e maxSdkVersion. Tal comportamento pode ser melhor observado na Listagem 10 a seguir.

Listagem 10 – Declaração de uso de APIs no arquivo build.gradle

Por outro lado, se necessitarmos limitar o acesso a nosso aplicativo devido a recursos de hardware, devemos utilizar a tag uses-feature. Diferentemente da verificações de versão do SDK, que são feitas no momento de instalação do aplicativo, a declaração de elementos através da uses-feature é apenas informacional, sendo utilizada para verificações antes da instalação do aplicativo pela Play Store.

Um exemplo de declaração de uso de um recurso pode ser melhor observado na Listagem 11 abaixo.

Listagem 11 – Declaração de uso de recurso de câmera no AndroidManifest

Além das grandes diferenças possíveis entre recursos de hardware de um modo geral, outra grande preocupação que devemos ter ao desenvolver uma aplicação é sobre seu funcionamento em diferentes configurações de tela. Para isso, devemos levar em consideração alguns conceitos que aprenderemos agora: tamanho, densidade, orientação e resolução da tela.

O tamanho da tela é a medida física dela. Essa medida é feita diagonalmente e, geralmente, é expressa em polegadas. Para facilitar os possíveis tratamentos, o Android faz uma separação de acordo com os tamanhos de tela, conforme observado na Figura 4.

Separação de telas por tamanho (em polegadas).

Versão 5.3 - Todos os Direitos reservados