Buscar

Programação de Aplicativos Android (Parte 2) - Ricardo Quintão - UVA

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Prof: Ricardo Quintão
email: ricardo.quintao@uva.br
Site: www.rgquintao.com.br
Criando um Projeto Android
Vamos agora criar o nosso primeiro projeto Android.
Na criação de um projeto novo, o ADT já cria um programa de exemplo que escreve na tela a
mensagem “Hello World”.
Este programa, devido a sua extrema simplicidade, será o nosso primeiro ponto de análise.
Vejamos agora o passo a passo para a criação deste projeto.
Criando um Projeto Android
Vá até: File NewAndroid Application Project.
Preencha os campos indicados.
Comece pelo Nome da Aplicação. O Nome do Projeto
e do Pacote serão preenchidos automaticamente a
partir do Nome da Aplicação.
Em seguida, defina as APIs do seu projeto. Vamos
trabalhar com a API 19. Temos os seguintes campos:
• Minimum Required SDK: que representa a
menor API que o programa será compatível.
• Target SDK: que representa a API final
desejada.
• Compile With: que representa a API utilizada na
compilação.
• Theme: que representa temas já pré-definidos.
No nosso caso, não definiremos um tema.
Criando um Projeto Android
Na tela seguinte, mantenha as opções
default.
Criando um Projeto Android
Na tela seguinte, será feita a escolha de
um ícone para o aplicativo.
Vamos usar o ícone default.
Caso você possua alguma outra imagem
que deseje utilizar como ícone, é só
indicar em “Image File”.
Criando um Projeto Android
Na tela seguinte, devemos escolher se
desejamos que o SDK crie uma Activity
automaticamente.
Caso seja marcado, devemos dizer que
tipo de Activity será esta.
Vamos utilizar uma Activity em branco.
Faça as marcações conforme a figura ao
lado.
Criando um Projeto Android
A próxima tela pede pelo nome da Activity e o
nome do Layout.
• Activity Name: representa tanto o nome do
Arquivo Java como também o nome da Classe
que será inicializada a aplicação.
• Layout Name: representa o nome do arquivo
“.xml” que conterá as especificações da tela.
Estes campos já vem preenchidos com valores
padrões mas, mudaremos para nomes mais
sugestivos, como mostra a figura ao lado.
No nosso caso:
Activity Name: Activity_Tela1
Layout Name: tela1
Aguarde um tempo que o
projeto será criado.
No final teremos a tela ao
lado.
Provavelmente o seu
Layout de Tela estará
configurado para utilizar
a API 23. Como nossa
aplicação foi projetada
para a API 19, faremos
então a mudança para
esta API.
Criando um 
Projeto Android
Vamos rodar o programa.
É aconselhável inicializar
primeiro a AVD e
destravá-la.
No Eclipse, clique com o
botão direito no nosso
projeto, “Mensagem”. Vá
até Run as  Android
Application.
Se a aplicação não rodar
automaticamente na
AVD, provavelmente ela
foi apenas instalada.
Criando um 
Projeto Android
Vá até as aplicações da AVD, procure pela sua aplicação e então execute-a.
O resultado deve ser semelhante ao da figura ao lado.
Criando um Projeto Android
A aplicação será executada mostrando a
tela ilustrada ao lado.
Criando um Projeto Android
Como a Activity foi criada
automaticamente, vamos
apagar as linhas após a
chave que se encontram
logo após a instrução
“setContentView”, e
mantendo a última chave.
A figura ao lado mostra
esse procedimento.
Criando um 
Projeto Android
Criando um 
Projeto Android
No final, o nosso programa
se resume às linhas ao lado.
O Android SDK montou a estrutura de diretórios ao lado. Vamos compreendê-la.
src: o local onde são armazenados os códigos-fontes de um aplicativo Android. O
arquivo Activity_tela1.java é uma classe que estende a Activity e foi criado
automaticamente pelo Eclipse. Na arquitetura Android, uma Activity representa uma
tela do seu aplicativo. Além disso, ela é responsável por realizar os tratamentos de
eventos gerados na interface. Por exemplo, um clique em um botão, um clique longo
em um elemento de lista, e assim por diante.
gen: esta pasta contém um arquivo chamado R.java, sendo um arquivo de referência,
contendo um endereço em hexadecimal para cada recurso da aplicação, podendo ser
uma imagem, tela, componente visual, entre outros. É este arquivo o elo entre uma
interface gráfica (formato XML) e o código-fonte (formato Java). Importante: não
altere esse arquivo, quando um novo recurso for adicionado, o Eclipse atualizará a
classe R automaticamente assim que o projeto for salvo.
assets: a pasta que contém os recursos estáticos do projeto, ou seja, que não dependem
da diferença de densidade ou do tamanho do display. Um bom exemplo disso são as
fontes customizadas de texto ou, ainda, os arquivos utilizados pelo engine de jogos.
Criando um Projeto Android
Criando um Projeto Android
bin: nesta pasta ficam os arquivos resultantes da compilação como o .dex e o .apk.
libs: contém as bibliotecas externas utilizadas pelo aplicativo. É importante ressaltar
que, mesmo assim, será necessário configurar o class path do projeto para que o mesmo
reconheça essa biblioteca.
res: a pasta que contém os recursos do projeto, sendo principalmente os objetos gráficos
(ícones, banners, backgrounds, etc), layouts, textos e menus usados na interface do
usuário. Automaticamente foram criados, junto com o aplicativo, alguns pacotes, como
os drawables que receberam as imagens utilizadas no aplicativo e o layout, que contém
o arquivo tela1.xml. Esse arquivo possui as informações referentes aos componentes
visuais e ao layout da tela principal da aplicação.
Criando um Projeto Android
Arquivos Importantes:
Activity_tela1.java: este arquivo contém o código fonte Java da nossa aplicação. É neste arquivo que as nossas
classes são definidas e os objetos criados e executados.
tela1.xml: este arquivo contém, no formato xml, os componentes da tela que será apresentada na Activity.
R.java: este arquivo define a classe “R” que possui várias classes de constantes. Estas classes contém a identificação
hexadecimal de todos os recursos definidos no projeto fazendo do arquivo “R.java” o elo de ligação destes recursos
com o arquivo principal Java. Não altere este arquivo!!! Ele é criado automaticamente pelo Eclipse.
*.xml
*.java
R.java
android:id=“@+id/nome”
Tipo Componente c = (Tipo Componente) findViewById(R.id.nome);
public static final class id
{
public static final int nome = 0x7f050001;
}
@  referência ao arquivo R.java
+  acrescentar
id  classe id
nome  constante de identificação
Este arquivo é criado e atualizado
automaticamente pelo Eclipse.
Não altere o seu conteúdo!!!!
O método findViewById( ) retorna
o ponteiro do objeto identificado
no seu parâmetro.
Vamos analisar o arquivo
Activity_tela1.java apresentado
ao lado.
Na linha 1 temos a identificação
do projeto.
Nas linha 3 e 4 são feitas as
importações das classes do
Android que serão usadas na
aplicação.
Criando um Projeto Android
Activity_tela1.java
1: package com.example.mensagem;
2: 
3: import android.app.Activity;
4: import android.os.Bundle;
5: 
6: public class Activity_tela1 extends Activity {
7:
8: @Override
9: protected void onCreate(Bundle savedInstanceState) {
10: super.onCreate(savedInstanceState);
11: setContentView(R.layout.tela1);
12: }
13: 
14: }
Na linha 6 é definida a nossa
classe Activity_tela1.
Ela herda (extends) da classe
Activity da biblioteca android.
Na linha 8 é informado ao
compilador que iremos
sobrescrever um método
herdado. Esta linha não é
executada, ela é só um
indicativo para evitar algum erro
de digitação no nome do método
sobrescrito.
Criando um Projeto Android
Activity_tela1.java1: package com.example.mensagem;
2: 
3: import android.app.Activity;
4: import android.os.Bundle;
5: 
6: public class Activity_tela1 extends Activity {
7:
8: @Override
9: protected void onCreate(Bundle savedInstanceState) {
10: super.onCreate(savedInstanceState);
11: setContentView(R.layout.tela1);
12: }
13: 
14: }
Na linha 9 é indicado o método
que será sobrescrito. No nosso
caso, é o método onCreate().
Na linha 10 é chamado o método
onCreate( ) da classe pai (super)
para que a Activity seja criada.
Na linha 11 é feita a apresentação
da tela.
O arquivo tela1.xml contém a
descrição da tela a ser
apresentada.
Criando um Projeto Android
Activity_tela1.java
1: package com.example.mensagem;
2: 
3: import android.app.Activity;
4: import android.os.Bundle;
5: 
6: public class Activity_tela1 extends Activity {
7:
8: @Override
9: protected void onCreate(Bundle savedInstanceState) {
10: super.onCreate(savedInstanceState);
11: setContentView(R.layout.tela1);
12: }
13: 
14: }
Vamos analisar o arquivo tela1.xml
apresentado ao lado.
Na linha 1 temos a definição do
Layout. No caso, está sendo
utilizado um layout relativo.
As linhas 2 e 3 definem dois
espaços de nomes: android e tools.
As linhas 4 e 5 definem a largura e
a altura da tela respectivamente. A
cláusula “match_parent” determina
que o parâmetro em questão
coincida com o seu pai, no caso, o
tamanho total da tela.
Criando um Projeto Android
tela1.xml
1: <RelativeLayout
2: xmlns:android="http://schemas.android.com/apk/res/android"
3: xmlns:tools="http://schemas.android.com/tools"
4: android:layout_width="match_parent"
5: android:layout_height="match_parent"
6: android:paddingBottom="@dimen/activity_vertical_margin"
7: android:paddingLeft="@dimen/activity_horizontal_margin"
8: android:paddingRight="@dimen/activity_horizontal_margin"
9: android:paddingTop="@dimen/activity_vertical_margin"
10: tools:context="com.example.mensagem.Activity_tela1" >
11:
12: <TextView
13: android:layout_width="wrap_content"
14: android:layout_height="wrap_content"
15: android:text="@string/hello_world" />
16:
17: </RelativeLayout>
Nas linhas 6 à 9 são definidos os
espaçamentos a partir das
respectivas margens.
Na linha 10 temos a definição de
qual Activity esta tela está atrelada.
Na linha 12 é definida uma View
(objeto visual). No caso, uma
TextView, isto é, um visualizador
de texto.
Na linha 13 e 14 são definidos os
tamanhos, largura e altura,
respectivamente. A cláusula
“wrap_content” quer dizer
“adequar ao conteúdo”.
Criando um Projeto Android
tela1.xml
1: <RelativeLayout
2: xmlns:android="http://schemas.android.com/apk/res/android"
3: xmlns:tools="http://schemas.android.com/tools"
4: android:layout_width="match_parent"
5: android:layout_height="match_parent"
6: android:paddingBottom="@dimen/activity_vertical_margin"
7: android:paddingLeft="@dimen/activity_horizontal_margin"
8: android:paddingRight="@dimen/activity_horizontal_margin"
9: android:paddingTop="@dimen/activity_vertical_margin"
10: tools:context="com.example.mensagem.Activity_tela1" >
11:
12: <TextView
13: android:layout_width="wrap_content"
14: android:layout_height="wrap_content"
15: android:text="@string/hello_world" />
16:
17: </RelativeLayout>
A linha 15 contém o texto a ser
exibido nesta View.
Na linha 17 temos o fechamento do
RelativeLayout.
Em algumas linhas (6, 7, 8, 9 e 15),
o parâmetro tem o formato abaixo:
“@referência/constante”
Ele diz para pegar na referência
indicada o valor da constante
informada.
No caso da linha 15, o texto
propriamente dito está no arquivo
“string.xml” na constante
“hello_world”.
Criando um Projeto Android
tela1.xml
1: <RelativeLayout
2: xmlns:android="http://schemas.android.com/apk/res/android"
3: xmlns:tools="http://schemas.android.com/tools"
4: android:layout_width="match_parent"
5: android:layout_height="match_parent"
6: android:paddingBottom="@dimen/activity_vertical_margin"
7: android:paddingLeft="@dimen/activity_horizontal_margin"
8: android:paddingRight="@dimen/activity_horizontal_margin"
9: android:paddingTop="@dimen/activity_vertical_margin"
10: tools:context="com.example.mensagem.Activity_tela1" >
11:
12: <TextView
13: android:layout_width="wrap_content"
14: android:layout_height="wrap_content"
15: android:text="@string/hello_world" />
16:
17: </RelativeLayout>
Ao lado listamos os
arquivos “dimens.xml” e
“strings.xml”.
Estes arquivos contém as
constantes indicadas no
arquivo “tela1.xml”.
Eles estão localizados
em “res\values”.
Estas constantes também
estarão mapeadas no
arquivo “R.java”.
Criando um Projeto Android
dimens.xml
1: <resources>
2:
3: <!-- Default screen margins, per the Android Design guidelines. -->
4: <dimen name="activity_horizontal_margin">16dp</dimen>
5: <dimen name="activity_vertical_margin">16dp</dimen>
6:
7: </resources>
strings.xml
1: <?xml version="1.0" encoding="utf-8"?>
2: <resources>
4:
5: <string name="app_name">Mensagem</string>
6: <string name="hello_world">Hello world!</string>
7: <string name="action_settings">Settings</string>
8:
9: </resources>
Prof: Ricardo Quintão
email: ricardo.quintao@uva.br
Site: www.rgquintao.com.br

Outros materiais