Como Usar os Resources no Android - AndroidPro
Como Usar os Resources no Android
Desenvolvimento Android | 1 Comentário
Qualquer aplicativo Android que você desenvolver terá que incluir algum tipo de Resource, como seqüências de caracteres, recursos de imagem (mesmo que seja apenas o ícone do aplicativo) e cores.
Neste tutorial, você vai aprender sobre os Recourses no Android e como usá-los em seus aplicativos para exibir conteúdo para usuários, adaptar dispositivos de tamanhos diferentes e oferecer suporte a usuários em vários idiomas.
1 Adicionando Resources (Recursos) a Projetos
2 Acessando os Resources (Recursos)
2.1 Pelo Java
2.2 Pelo XML
3 Resources (Recursos) Alternativos
3.1 Densidade de tela
3.2 Idiomas do usuário
3.3 Suporte para Tablet e Orientação
Adicionando Resources (Recursos) a Projetos
Ao criar um projeto no Android Studio, você vai ver dois diretórios principais em seu projeto para arquivos Java e Res.
Res significa recursos e como o nome indica, contém os recursos para o projeto. No contexto do Android, um recurso é um arquivo que representa algo que pode ser desenhado na tela, um arquivo de layout para suas classes ou um valor que pode ser acessado em seu aplicativo, como um valor hexadecimal ou cor.
Vamos ver sobre os vários tipos de recursos disponíveis para seu aplicativo.
Para usar os Resources em um projeto Android, você precisa organizá-los em subdiretórios na pasta res. A estrutura do diretório de recursos de um projeto Android padrão pode ser algo como:
Há um número limitado de nomes de diretório que são suportados pelo Sistema de Recursos do Android e entendê-los é extremamente necessário.
Vamos dar uma olhada neles com mais detalhes.
animator: O diretório animator pode conter arquivos XML que definem animações para os objetos da View no seu aplicativo. Em vez de definir animações repetidas vezes em seu código Java, você pode importar um arquivo XML de animator em todos os lugares em que precisa usar uma animação específica. Se você decidir alterar essa animação mais tarde, poderá alterá-la em um local no seu aplicativo em vez de em muitos.
color: Embora você possa salvar valores hexadecimais de cores no diretório values, o diretório de cores é usado para armazenar arquivos XML que contém informações de estado com cores específicas. Isso é útil se você precisar alterar a cor do texto ou plano de fundo de uma View quando o usuário interagir.
drawable: Se o seu aplicativo exigir recursos de imagem, como JPGs e PNGs, você precisará colocá-los na pasta drawable. Também é onde você coloca arquivos XML que definem drawables em forma de vetores.
mipmap: Semelhante ao drawable, o diretório mipmap aceita imagens em bitmap, mas é usado especificamente para o ícone do aplicativo.
layout: O diretório de layout contém os arquivos XML que definem as interfaces do usuário do seu aplicativo.
menu: Os arquivos XML de menu são usados ​​para definir a barra de ação, menus e submenus de navegação. Esses recursos são colocados no diretório de recursos do menu.
raw/asset: O diretório raw é usado para armazenar arquivos brutos para seu aplicativo, como arquivos de áudio, vídeo e texto. Isso fornece uma maneira fácil de acessar arquivos, mas se você precisar acessar o nome do arquivo original ou a hierarquia de diretórios, deve considerar colocar seus arquivos no diretório asset do Android.
xml: Esse diretório contém arquivos XML usados ​​pelo Android para várias tarefas, como definir configurações de pesquisa ou recursos externos, como o uso do Android Auto.
Embora a lista acima de diretórios de recursos disponíveis seja bastante longa, há mais um diretório que você usará frequentemente como desenvolvedor Android, o values.
O diretório values pode conter diferentes arquivos XML que consistem em valores simples que são usados em seus aplicativos, incluindo:
arrays.xml: Objetos de matriz simples que podem ser lidos em seu aplicativo.
colors.xml: Valores hexadecimais de cor nomeados que podem ser usados ​​em vários locais no seu aplicativo.
dimens.xml: As dimensões podem definir qualquer coisa relacionada ao tamanho no Android, incluindo tamanhos de texto, margens e padding.
integers.xml: Se houver números inteiros específicos que você precisa usar em seu aplicativo, você pode armazená-los no arquivo integers.xml para que eles sejam fáceis de localizar e alterar posteriormente em seu processo de desenvolvimento.
strings.xml: As Strings são uma necessidade em qualquer aplicativo Android que você construa. Em vez de espalhá-los pela sua base de código, você pode manter as strings no arquivo strings.xml.
plurals.xml: Similar as Strings, o plural permite que você forneça Strings alternativas quando um número é passado para a função de recuperação. Isso lida com situações em que um quantificador de cadeia de caracteres deve ser alterado com base no número de itens que ele representa.
styes.xml: Qualquer aplicativo que você cria precisa de uma aparência consistente e isso pode ser obtido com o uso do arquivo styles.xml. Usando estilos, você pode substituir a aparência padrão de componentes e predefinir atributos que podem ser associados a diferentes objetos da View em arquivos de layout.
Como você pode ver, a estrutura de Resources no Android é extensa. À medida que você desenvolve seus aplicativos, você encontrará mais e mais usos para arquivos e valores de recursos para tornar o desenvolvimento e a manutenção de seus aplicativos mais rápidos e fáceis.
Acessando os Resources (Recursos)
Agora que você sabe como adicionar recursos ao seu aplicativo, você precisa ser capaz de acessá-los. Todos os recursos armazenados em seu aplicativo recebem automaticamente um nome identificável que consiste no tipo de recurso, como drawable ou layout, e o ID no arquivo R do aplicativo.
O arquivo R é um arquivo gerado pela ferramenta Android Asset Packaging, ou AAPT, durante a compilação. Esse nome gerado pode ser usado para acessar o recurso em seu código Java ou em outro arquivo XML.
Pelo Java
Muitos objetos no Android são criados com identificadores de recursos e aceitam o ID de um recurso para usar-lo. Um exemplo disso é definir um ImageView para usar um recurso drawable passando o ID.
imageView.setImageResource(R.drawable.minhaImagem);
Da mesma forma, um objeto MediaPlayer (usado para reproduzir mídia de áudio ou vídeo) pode ser criado para reproduzir um arquivo de mídia passando o ID do arquivo.
MediaPlayer.create(getActivity(), R.raw.minhaMusica)
Enquanto um grande número de objetos aceita um ID de recurso, há momentos em que você deseja recuperar o recurso original em seu código. Você pode fazer isso usando o método getResources() disponível no objeto Context do Android. Isso retorna um objeto Resources com vários métodos para acessar os recursos, como getColor() e getDrawable().
getResources().getColor(R.color.colorPrimary);
getResources().getDrawable(R.drawable.minhaImagem);
Pelo XML
A maior parte do tempo, quando você estiver usando recursos, ele estará em outros arquivos XML.
Ao definir cores, estilos, texto ou qualquer outro recurso usado em vários locais do aplicativo, a manutenção é mais simples, permitindo que você altere um valor e o preencha em todo o aplicativo. Felizmente, você pode acessar recursos em um atributo XML passando o ID para um campo que espera um ID de recurso.
android:id="@+id/tv_test"
style="@style/TitleStyle"/>
Resources (Recursos) Alternativos
Quase todos os aplicativos que você cria devem lidar com vários tamanhos de dispositivos, configurações e idiomas do usuário. Ao utilizar qualificadores específicos ao final de um diretório de recursos, o sistema Android prioriza esses recursos quando determinadas condições são atendidas.
Densidade de tela
Para evitar a distorsão de imagens, as imagens Bitmap criadas para seus aplicativos devem ser feitos para as densidades de pixel específicas. Ao anexar -ldpi, -mdpi, -hdpi e outros qualificadores aos diretórios, como visto para mipmaps no início deste artigo, o sistema Android sabe quais recursos usar para qualquer dispositivo em particular executando seu aplicativo.
Idiomas do usuário
Você pode criar diretórios values individuais para cada idioma suportado pelo aplicativo, acrescentando um código de idioma ao final do nome do diretório, como values-fr ou values-es para francês e espanhol.
Quando um usuário tem seu idioma configurado para um desses idiomas, o sistema fornece quaisquer valores no novo diretório de recursos para o usuário, em vez dos padrões. Isso é útil para substituir recursos de String por traduções adequadas.
Suporte para Tablet e Orientação
Você pode anexar -land a um diretório de recursos para que esses valores sobreponham os padrões quando um dispositivo estiver no modo paisagem. Você também pode definir uma largura mínima de um dispositivo para que um diretório de recursos substitua o padrão para oferecer suporte a tablets, acrescentando -sw600dp para tablets de tamanho médio (como o Nexus 7) e -sw720dp para tablets maiores.
Qualquer aplicativo que você queira criar incluirá recursos e entenderá como acessá-los e oferecer suporte a várias configurações de dispositivos é uma parte importante de ser um desenvolvedor Android.
Neste artigo, você aprendeu que tipo de recursos pode ser incluído em um aplicativo, como acessá-los em Java e XML e como substituir recursos em situações específicas.
Além de satisfazer seus clientes ou a empresa para qual você trabalha é importante você como desenvolvedor ficar feliz com seu código. Por isso, utilizar os Design Patterns no desenvolvimento Android pode ser essencial para escrever um código limpo e claro. Além de...
Uma das principais dúvidas de quem começa aprender a programar aplicativos é sobre Linguagem de Programação. Hoje, existem diversos tipos de linguagens de programação para Android que são utilizadas pelos programadores para desenvolvimento de aplicativos. O...
Thunkable: Guia de Criação de Apps
Para algumas pessoas aprender a programar no começo pode ser um pouco confuso. Afinal de contas, aprender uma linguagem de programação totalmente nova não é fácil, e isso é essencial para criar um aplicativo. Cerca de 5 anos atrás, o pessoal do MIT veio com uma...
Emulador de Android: Instalação, Aceleração e Alternativas
O emulador de Android do Android Studio é um emulador inteligente que permite você testar e analisar o código de seus aplicativos. Ele ajuda você a ser um bom e eficiente desenvolvedor de aplicativos. Você pode fazer testes em diferentes tipos de dispositivos com...
WebView: Convertendo Site em Aplicativo
Se você tem um site responsivo e deseja transformá-lo em um aplicativo Android, utilizar uma WebView pode ser o melhor caminho para isso. A classe WebView é uma extensão da classe View do Android, que permite exibir páginas da Web como parte do layout da sua Activity....
Reskinning de Aplicativos: Técnica Eficaz para Criar Apps Android
O desenvolvimento de um aplicativo Android pode sair caro tanto para o desenvolvedor quanto para o cliente. Mas o desenvolvimento em si as vezes não precisa ser do zero. Você pode, em vez disso, utilizar um template de aplicativo e fazer Reskinning. Neste artigo, vou...
Qualquer aplicativo Android que você desenvolver terá que incluir algum tipo de Resource, como seqüências de caracteres, recursos de imagem (mesmo que seja apenas o ícone do aplicativo) e cores. Neste tutorial, você vai aprender sobre os Recourses no Android e como...
Como ter Ótimas Ideias de Aplicativos
A parte mais importante do desenvolvimento de produtos de sucesso é criar ideias, e os aplicativos não são uma exceção. As ideias de aplicativos podem vir de aplicativos já publicados nas lojas, encontrar uma boa solução para um problema que você enfrenta, ou...
Como Resolver os Erros Mais Comuns do Android
O teste é uma parte crucial do desenvolvimento Android, permitindo que você elimine todos os erros e problemas de desempenho que possam prejudicar seu aplicativo, antes de liberá-lo para o público em geral. Toda vez que você encontrar um erro, o Android gera uma...
10 Templates Android para Começar seu Aplicativo Hoje Mesmo
Quando ainda estamos aprendendo a desenvolver aplicativos Android, fica difícil começar um projeto do zero. Uma boa maneira de começar seu aplicativo Android é utilizar os famosos templates, que são kits iniciais pré-prontos de projetos. Esses templates geralmente vêm...