Programando Android - Aula 3

Preview:

Citation preview

Aula 3

Conceitos básicos,

Activities e Views.

No Android, alguns conceitos podem ser

diferentes do que estamos acostumados

a trabalhar. Por se tratar de uma

plataforma móvel, a principal

preocupação que deve-se ter é fazer

com que as tarefas a ser executadas

levem o menor tempo e o menor custo

computacional possível.

Conceitos Básicos

Pacotes

Assim como no Java, o Android organiza

suas classes seguindo um modelo de

pacotes. É possível utilizar qualquer

padrão de projeto compatível com Java.

Deve-se ter o cuidado somente de não

fragmentar excessivamente as classes

para que o custo computacional de

instanciação seja minimizado

Modelo de organização de

pacotes

Modelo de organização de

pacotes

net.android = Pacote inicial onde ficará a classe main da aplicação.

net.android.componentes = Pacote que conterá os componentes customizados criados para a aplicação.

net.android.controller = Pacote que conterá as classes Activity que controlarão as telas da aplicação.

net.android.dao = Classes Data Access Object de acesso ao banco de dados.

net.android.entidade = Classes de entidade (pojo).

net.android.transmissao = Classes destinadas ao acesso e transmissão de dados.

Modelo de organização de

pacotes

É claro que o modelo aqui definido é

apenas uma sugestão de organização

de classes. Nosso curso vai usar esse

modelo como padrão. Você pode usar a

organização que desejar desde que siga

algumas sugestões de padrões de

projeto.

Classe R

O Android cria automaticamente uma classe

chamada “R”. Essa classe em hipótese alguma

deve ser modificada pois ela é gerada

automaticamente cada vez que o projeto é

salvo. Essa classe contém as referências de

todos os views (itens de tela) para ser usadas

nas classes de negócio.

APIs adicionais

No projeto é possível inserir APIs adicionais que

abstraem uma série de funções ao programador.

É possível urilizar uma biblioteca criada

nativamente ou uma biblioteca de terceiros. Se

no momento da criação do projeto for

selecionada uma API adicional na versão do

Android, estas aparecerão aqui.

Arquivos extras adicionais

Se na sua aplicação for necessário adicionar

algum arquivo externo como um vídeo ou um

áudio, estes arquivos devem ser colocados

nessa pasta.

Recursos

No Android, tudo que for tela, imagem e xml é considerado recurso. Um recurso pode ser usado de qualquer parte da aplicação pois eles são variáveis estáticas (não precisam ser instanciados para ser usados).

Os recursos de imagem, por exemplo, podem ser adaptados de acordo com o tamanho da tela que a aplicação rodará. Assim, se o usuário abrir o sistema em um smartphone com tela pequena, o sistema carregará a imagem pequena, se for aberto num tablet, carregará a imagem grande.

Drawables

Drawable (desenhável) são imagens ou

componentes que são desenhados na tela. O

android usa 3 tamanhos padrões de imagem

para desenhar na tela do aparelho de acordo

com seu tamanho de tela.

Para que este recurso seja possível, é necessário

que sejam criadas imagens iguais, com o mesmo

nome, mas com tamanhos diferentes e estas

sejam colocadas nas pastas correspondentes aos

seus tamanhos.

Drawables

Exemplo: Vamos criar o ícone da nossa

aplicação. Esse ícone deve ter um tamanho

proporcional ao tamanho da tela independente

do tamanho da tela do dispositivo que vai rodar

nossa aplicação. Neste caso criamos 3 imagens

com a seguinte configuração:

Tamanho

72x72 px Tamanho

48x48px Tamanho

36x36px

Drawables

As 3 imagens terão o EXATO MESMO NOME e

deverão ser colocadas nas pastas

correspondentes aos seus tamanhos.

drawable_hdpi = imagem de 72 px

drawable_mdpi = imagem de 48 px

drawable_mdpi = imagem de 36 px

Drawables

Deste modo, quando eu precisar usar esta imagem na minha aplicação, basta que eu chame a imagem pelo nome “ic_launcher” que o Android escolherá a imagem que melhor se adequar a meu tamanho de tela.

Se eu quiser que o Android use a mesma imagem independente do tamanho da tela, basta que eu copie as imagens pra pasta drawable-mdpi.

Values

A pasta Values contém arquivos de XML que podem ser usados como substitutos de valores usados no sistema.

Por exemplo: se eu quiser criar um arquivo de textos que devem ser usados nos labels do sistema e que esses textos mudem de acordo com o idioma do aparelho. Eu posso criar um arquivo de texto para cada idioma que o Android irá fazer as devidas substituições.

Values

É possível também criar constantes que

serão usadas no sistema como cores,

tamanhos, backgrounds, sons, etc.

Basta que seja criada uma tag e seja

dada um valor pra ela.

Values

Na hora de usar, basta chamar a tag

usando seguinte anotação:

@string/nome_da_tag

Onde “nome_da_tag” é o nome usado

para criar a tag no arquivo de String.

Values

Tag criada no arquivo string.xml

Tag usada numa tela

AndroidManifest.xml

Arquivo de manifesto contém uma série

de informações que são importantes

para a aplicação. Ele contém as

informações que mostrarão quais

requisitos de hardware o dispositivo

deverá cumprir para rodar a aplicação,

os pacotes importados, as classes de

activity, versão e nome do sistema e

outras informações.

AndroidManifest.xml

1

2

3

4

AndroidManifest.xml 1. Informações de numero e nome da

versão e nome do pacote principal da

aplicação.

2. Carrega bibliotecas externas.

3. Orientação de tela, nome e ícone da

aplicação.

4. Declaração das activities usadas na

aplicação

AndroidManifest.xml

5

6

AndroidManifest.xml 5. Versão mínima do Android necessária

para rodar a aplicação

6. Declaração das necessidades de

hardware que o sistema precisará para

funcionar.

Activities

Activity é a classe que gerencia todos os elementos de tela da aplicação. É ela que recebe as ações disparadas por botões, links, popula listas e mostra efeitos na tela.

Cada tela no Android deve ter sua própria activity, embora seja possível gerenciar várias telas com a mesma activity, é enfaticamente NÃO recomendado.

Activity

View Todo elemento de tela como um botão,

uma lista, um label, etc é chamado de

View.

As views podem ser acessadas

diretamente utilizando o método

“findViewById(“nome_view”)” da classe

Activity.

O Android disponibiliza diversos

componentes de tela (view) e ainda é

possível criar views customizadas

misturando as características de várias

views para criar uma view única.

View