Você está na página 1de 131

Android Básico – Hello World!

Introdução

● Instalação do ambiente de programação Android ● Primeira aplicação


android – Hello World!
● Trabalhando com o simulador
● Conceitos iniciais - Ciclo de vida de uma Activity
● Usando a pasta de recursos – RES
● Entendendo a classe R.java
● Componentes de tela – por dentro do XML
● Planeamento das janelas baseadas em Layouts

2/131
Dispositivos e compatibilidade

3/131
4/131
Instalação do Android – ADT
Bundle
● Android SDK (Software Development Kit)
provê ferramentas para realização de
builds, testes e debug
● ADT Bundle (Android Developer Tools) é o
ambiente de desenvolvimento que traz
Android SDK e a IDE Eclipse juntos,
prontos para o trabalho.
● Baixe e descompacte o ADT Bundle:
● http://developer.android.com/sdk/index.html
5/131
Execução da IDE Eclipse

● Após descompactar o ADT Bundle, execute o eclipse

6/131
7/131
Execução da IDE Eclipse

8/131
9/131
Tela de Boas Vindas!

10/131
11/131
Atualização das ferramentas

12/131
● No menu principal,
selecione: Android SDK
Manager

● Neste curso, usaremos o


Android 4.4 (API 19)
● É uma boa baixar a Google
API

13/131
Exercício 01: Minha primeira App
● Menu File/New/Android Application Project

14/131
15/131
Exercício 01: Configurações da App

16/131
17/131
Exercício 01: Definição de layout

18/131
19/131
Exercício 01: Activity e Layout

20/131
21/131
O que foi gerado?

22/131
● OlaMundoActivity.java: Classe filha de
Activity, responsável por controlar uma
tela da aplicação;
● R.java: Classe responsável pelo
mapeamento dos elementos da view
com model e controller.
OBS: NÃO alterar manualmente
● Pasta RES: Pasta de recursos da App,
onde ficam as janelas
● AndroidManifest.xml: Arquivo de
configurações da app

23/131
OlaMundoActivity.java

M.Sc. Márcio Palheta 24/131


OlaMundoActivity.java

M.Sc. Márcio Palheta 25/131


OlaMundoActivity.java

M.Sc. Márcio Palheta 26/131


OlaMundoActivity.java

M.Sc. Márcio Palheta 27/131


Recursos e a pasta RES
● RES é a pasta onde ficam os recursos de uma app
● RES/LAYOUT/ armazena as janelas da aplicação, escritas em
xml, como olamundolayout.xml
● RES/VALUES/ pasta que utiliza qualifiers para facilitar a
internacionalização da aplicação:
– values: pasta padrão
– values-pt-rBR: português Brasil
– Values-en-rUS: inglês Estados Unidos

28/131
/res/layout/olamundolayout.xml

● RES/RAW/ armazena arquivos de mídia, como mp3


ou vídeos

Recursos e a pasta RES


● RES/DRAWABLE/ pasta que armazenas imagens da
app.
● Usa qualifiers para definir a resolução a ser utilizada:
– res/drawable-ldpi: dispositivos com baixa resolução(muito
raros)
– res/drawable-mdpi: dispositivos com resolução
média(raros)
29/131
– res/drawable-hdpi: alta resolução(maioria)

– res/drawable-tvdpi: televisões

30/131
/res/layout/olamundolayout.xml

31/131
/res/layout/olamundolayout.xml

32/131
/res/layout/olamundolayout.xml

33/131
/res/layout/olamundolayout.xml

34/131
/res/layout/olamundolayout.xml

35/131
/res/layout/olamundolayout.xml

36/131
/res/layout/olamundolayout.xml

37/131
/res/layout/olamundolayout.xml

38/131
/res/layout/olamundolayout.xml

39/131
/res/layout/olamundolayout.xml

40/131
/res/layout/olamundolayout.xml

41/131
/res/values/strings.xml

António José Araújo 42/131


/res/values/strings.xml

43/131
/res/values/strings.xml

António José Araújo 44/131


/res/values/strings.xml

45/131
Teste da App em emuladores
● É uma boa prática o uso de
devices (tablets ou
celulares) para testar as
nossas Apps
● Outra opção para testes é o
uso de simuladores
● Clique no ícone do Android
Virtual Device Manager

46/131
Configurações do emulador

● Na nova tela, clique no botão

47/131
Configurações do emulador

New

48/131
Configurações do emulador

49/131
Configurações do emulador

50/131
Configurações do emulador

51/131
Configurações do emulador

52/131
Configurações do emulador

53/131
Configurações do emulador

54/131
Configurações do emulador

55/131
Iniciar o novo emulador

56/131
Iniciar o novo emulador

57/131
Iniciar o novo emulador

58/131
Iniciar o novo emulador

59/131
Iniciar o novo emulador

60/131
Emulador pronto para o uso
● Um booom tempo depois, o
seu emulador está pronto para o
uso
● Por motivos óbvios, evite
encerrar o emulador

61/131
● Agora, vamos executar nossa primeira App e ver o resultado

no emulador criado

Configuração de deploy
● Clique no menu Run / Run Configurations...
● Clique com botão direito em Android Application / New
● Informe um nome para a configuração: HelloWorld
● Selecione o nosso projeto, clicando no botão Browser
62/131
● Clique no botão Apply para salvar as configurações
● Clique no botão Run para executar a App no Virtual Device
(vulgo Emulador)
● A seguir, veremos como fica a tela de configurações

63/131
Configurando a execução da App

64/131
65/131
Inclusão de serviço de LOG
● Na primeira execução da App, o ADT pergunta se você deseja
usar o sistema de logs chamado Logcat

66/131
67/131
App rodando no Emulador

68/131
69/131
Fundamentos de Android
PROJETOS JAVA

Código fonte
JAVA (.java)

70/131
Fundamentos de Android
PROJETOS JAVA PROJETOS ANDROID
Código fonte Código fonte
JAVA (.java) JAVA (.java)

71/131
Bytecode JAVA Bytecode JAVA
(.class) (.class)

72/131
Fundamentos de Android - Estrutura

73/131
74/131
Ciclo de vida - Activity

M.Sc. Márcio Palheta 75/131


Ciclo de vida - Activity

M.Sc. Márcio Palheta 76/131


Ciclo de vida - Activity

M.Sc. Márcio Palheta 77/131


Ciclo de vida - Activity

M.Sc. Márcio Palheta 78/131


Ciclo de vida - Activity

M.Sc. Márcio Palheta 79/131


Ciclo de vida - Activity

M.Sc. Márcio Palheta 80/131


Ciclo de vida - Activity

M.Sc. Márcio Palheta 81/131


Exercício 02: Teste de eventos

● Vamos alterar nossa classe OlaMundoActivity para incluir


mensagens de log, lançadas a cada evento do ciclo de vida da
Activity
● Que tal usarmos o famoso sysout ? Nem pensar. :-)
● Vamos usar o LogCat
● Para isso, basta usarmos o comando:
– Log.i(“GrupoDeMensagens”, “Mensagem”)

82/131
● Inclua mensagens em todos os métodos de
eventos, conforme exemplo a seguir

83/131
Exercício 02: Teste de eventos

84/131
85/131
Componentes de tela
● As janelas em Android são feitas em arquivos XML

86/131
● Janelas ficam em:
/res/layouts
● Componentes declados no
XML são tratados como
componentes java, filhos de
android.view.View
● Podemos agrupa-losem
ViewGroup's filhas de View
Novos componentes
de tela
● Vamos melhorar nossa interface, alterando o layout para
LinearLayout e incluindo:
87/131
– Um campo de texto para receber o nome do usuário
– Um botão que, após o clique, exibe uma mensagem de
boas vindas.

88/131
Exercício 03: Inclusão de Strings
● Altere o arquivo /res/values/strings.xml

89/131
90/131
Exercício 03: Inclusão de Strings
● Altere o arquivo /res/values/strings.xml

91/131
92/131
Exercício 03: Mudanças na tela

● Arquivo: /res/layout/olamundolayout.xml

93/131
Exercício 03: Mudanças na tela

94/131
Exercício 03: Mudanças na tela

● Arquivo: /res/layout/olamundolayout.xml

95/131
Exercício 03: Mudanças na tela

96/131
Exercício 03: Mudanças na tela

● Arquivo: /res/layout/olamundolayout.xml

97/131
Exercício 03: Mudanças na tela

98/131
Exercício 03: Mudanças na tela

● Arquivo: /res/layout/olamundolayout.xml

99/131
Exercício 03: Mudanças na tela

100/131
Exercício 03: Mudanças na tela

101/131
Exercício 03: Mudanças na tela

● Arquivo: /res/layout/olamundolayout.xml

102/131
Exercício 03: Mudanças na tela

103/131
Na estrada, até aqui...

● Alteramos a view (olamundolayout.xml), para inclusão de dois


componentes:
– Um EditText que representa um campo de texto que
recebe um texto digitado pelo usuário
– E um Button que representa um botão. Após o evento de
clique do botão, o sistema deve exibir uma mensagem de
boas vindas.

104/131
Exercício 03: Regras de negócio

● Agora, precisamos alterar a classe controller


(OlaMundoActivity.java), para implementação da
lógica de negócios da nossa app.

105/131
Exercício 03: Regras de negócio

106/131
Exercício 03: Regras de negócio

107/131
Exercício 03: Regras de negócio

108/131
Exercício 03: Regras de negócio

109/131
Exercício 03: Regras de negócio

110/131
Execução da App em um device

● Conect o cabo de dados de um device (tablet ou celular)


● Acione o menu Run / Run Configurations

111/131
Execução da App em um device

● Conect o cabo de dados de um device (tablet ou celular)


112/131
Execução da App em um device

113/131
Execução da App em um device

● Conect o cabo de dados de um device (tablet ou celular)

114/131
Execução da App em um device

115/131
Executando a App em um device

● Escolha o device onde você quer rodar sua app

116/131
Executando a App em um device

117/131
Executando a App em um device

118/131
Executando a App em um device

119/131
App rodando no device

120/131
121/131
App rodando no device
Device Galaxy S2 Virtual Device

122/131
123/131
Alertas e confirmações
● No desenvolvimento de aplicações, é comum o uso de janelas
de Alerta e Confirmação
● Para essa finalidade, em Android utilizamos a classe
android.app.AlertDialog
● A classe estática android.app.AlertDialog.Builder é usada
construção do componente, e atualização da tela
● No exercício a seguir, criaremos um novo botão na tela principal
e, quando clicado, será exibida uma tela de alerta

124/131
125/131
Exercício 04: Exibir tela de Alerta

126/131
127/131
Exercício 04: Exibir tela de Alerta

128/131
129/131
O que vem a seguir?
● Registo de Alunos
● Tela de Registo
● Persistência com SQLite
● Intents
● Câmera e arquivos
● LayoutInflater
● Serviços de background
● Integração via JSON

130/131

Você também pode gostar