Android Básico – Hello World!
M.Sc. Márcio Palheta 2/94
Instrutor
● Programador desde 2000
● Aluno de doutorado
● Mestre em informática pelo
ICOMP/UFAM
● Especialista em aplicações
WEB – FUCAPI
● marcio.palheta@gmail.com
● sites.google.com/site/marcio
palheta
M.Sc. Márcio Palheta 3/94
Agenda
● Dispositivos e compatibilidade
● 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
● Planejamento das telas baseadas em Layouts
M.Sc. Márcio Palheta 4/94
Dispositivos e compatibilidade
M.Sc. Márcio Palheta 5/94
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
M.Sc. Márcio Palheta 6/94
Execução da IDE Eclipse
● Após descompactar o ADT Bundle, execute o eclipse
M.Sc. Márcio Palheta 7/94
Execução da IDE Eclipse
● Escolha um diretório
para sua área de
trabalho
M.Sc. Márcio Palheta 8/94
Tela de Boas Vindas!
M.Sc. Márcio Palheta 9/94
Atualização das ferramentas
● No menu principal,
selecione: Android SDK
Manager
● Neste curso, usaremos o
Android 4.4 (API 19)
● É uma boa baixar a
Google API
M.Sc. Márcio Palheta 10/94
Exercício 01: Minha primeira App
● Menu File/New/Android Application Project
M.Sc. Márcio Palheta 11/94
Exercício 01: Configurações da App
M.Sc. Márcio Palheta 12/94
Exercício 01: Definição de layout
M.Sc. Márcio Palheta 13/94
Exercício 01: Activity e Layout
M.Sc. Márcio Palheta 14/94
O que foi gerado?
● OlaMundoActivity.java: Classe filha
de Activity, reponsável por controlar
uma tela da aplicação;
● R.java: Classe responsável pelo
mapeamento dos elementos da view
com model e cotroller.
OBS: NÃO alterar manualmente
● Pasta RES: Pasta de recursos da
App, onde ficam as telas
● AndroidManifest.xml: Arquivo de
configurações da app
M.Sc. Márcio Palheta 15/94
OlaMundoActivity.java
M.Sc. Márcio Palheta 16/94
OlaMundoActivity.java
Classe filha
de Activity
M.Sc. Márcio Palheta 17/94
OlaMundoActivity.java
Classe filha
de Activity
Método inicial
M.Sc. Márcio Palheta 18/94
OlaMundoActivity.java
Pluga a view
no controller
Classe filha
de Activity
Método inicial
M.Sc. Márcio Palheta 19/94
Recursos e a pasta RES
● RES é a pasta onde ficam os recursos de uma app
● RES/LAYOUT/ armazena as telas 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
● RES/RAW/ armazena arquivos de mídia, como mp3
ou vídeos
M.Sc. Márcio Palheta 20/94
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)
– res/drawable-hdpi: alta resolução(maioria)
– res/drawable-tvdpi: televisões
M.Sc. Márcio Palheta 21/94
/res/layout/olamundolayout.xml
M.Sc. Márcio Palheta 22/94
/res/layout/olamundolayout.xml
Modo gráfico
M.Sc. Márcio Palheta 23/94
/res/layout/olamundolayout.xml
Modo gráfico
Paleta de
componentes
M.Sc. Márcio Palheta 24/94
/res/layout/olamundolayout.xml
Modo gráfico
Paleta de
componentes
Pré-visualização
M.Sc. Márcio Palheta 25/94
/res/layout/olamundolayout.xml
M.Sc. Márcio Palheta 26/94
/res/layout/olamundolayout.xml
Modo de edição
de XML
M.Sc. Márcio Palheta 27/94
/res/layout/olamundolayout.xml
Modo de edição
de XML
Layout principal
da tela
M.Sc. Márcio Palheta 28/94
/res/layout/olamundolayout.xml
Modo de edição
de XML
Layout principal
da tela
Atributos para
ocupar a tela toda
M.Sc. Márcio Palheta 29/94
/res/layout/olamundolayout.xml
Componente
de texto
Modo de edição
de XML
Layout principal
da tela
M.Sc. Márcio Palheta 30/94
/res/layout/olamundolayout.xml
Componente
de texto
Modo de edição
de XML
Layout principal
da tela
Tamanho
adequado ao
conteúdo
M.Sc. Márcio Palheta 31/94
/res/layout/olamundolayout.xml
Componente
de texto
Modo de edição
de XML
Layout principal
da tela
Referência para
o arquivo de I18N
/res/values/strings.xml
M.Sc. Márcio Palheta 32/94
/res/values/strings.xml
M.Sc. Márcio Palheta 33/94
/res/values/strings.xml
Arquivo usado
Para I18N
M.Sc. Márcio Palheta 34/94
/res/values/strings.xml
Arquivo usado
Para I18N
Chave usada
na view
M.Sc. Márcio Palheta 35/94
/res/values/strings.xml
Arquivo usado
Para I18N
Chave usada
na view
Valor a ser
exibido na view
M.Sc. Márcio Palheta 36/94
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
● Na nova tela, clique no
botão New
M.Sc. Márcio Palheta 37/94
Configurações do emulador
M.Sc. Márcio Palheta 38/94
Configurações do emulador
M.Sc. Márcio Palheta 39/94
Configurações do emulador
Nome do
simulador
M.Sc. Márcio Palheta 40/94
Configurações do emulador
Nome do
simulador
Tipo de device
a ser emulado
M.Sc. Márcio Palheta 41/94
Configurações do emulador
Nome do
simulador
Tipo de device
a ser emulado
Versão do
Android que
deve será
emulada
no device
M.Sc. Márcio Palheta 42/94
Configurações do emulador
Nome do
simulador
Tipo de device
a ser emulado
Versão do
Android que
deve será
emulada
no device
Ajuste o espaço
de
armazenamento
M.Sc. Márcio Palheta 43/94
Configurações do emulador
Nome do
simulador
Tipo de device
a ser emulado
Versão do
Android que
deve será
emulada
no device
Encerre as
configurações
Ajuste o espaço
de
armazenamento
M.Sc. Márcio Palheta 44/94
Iniciar o novo emulador
M.Sc. Márcio Palheta 45/94
Iniciar o novo emulador
Selecione o seu
emulador
M.Sc. Márcio Palheta 46/94
Iniciar o novo emulador
Selecione o seu
emulador
INICIE o seu
emulador
M.Sc. Márcio Palheta 47/94
Iniciar o novo emulador
EXECUTE o seu
emulador
M.Sc. Márcio Palheta 48/94
Emulador pronto para o uso
● Um booom tempo depois,
o seu emulador está
pronto para o uso
● Por motivos óbvios, evite
encerrar o emulador
● Agora, vamos executar
nossa primeira App e ver o
resultado no emulador
criado
M.Sc. Márcio Palheta 49/94
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
● 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
M.Sc. Márcio Palheta 50/94
Configurando a execução da App
M.Sc. Márcio Palheta 51/94
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
M.Sc. Márcio Palheta 52/94
App rodando no Emulador
M.Sc. Márcio Palheta 53/94
Fundamentos de Android
Código fonte
JAVA (.java)
Compilador
(javac)
Bytecode
JAVA (.class)
Empacota
(.jar)
JAVA
VM
PROJETOS JAVA
M.Sc. Márcio Palheta 54/94
Fundamentos de Android
Código fonte
JAVA (.java)
Compilador
(javac)
Bytecode
JAVA (.class)
Empacota
(.jar)
JAVA
VM
PROJETOS JAVA
Código fonte
JAVA (.java)
Compilador
(javac)
Bytecode
JAVA (.class)
Empacota
(.dex)
DALVIK
VM
PROJETOS ANDROID
M.Sc. Márcio Palheta 55/94
Fundamentos de Android - Estrutura
M.Sc. Márcio Palheta 56/94
Ciclo de vida - Activity
M.Sc. Márcio Palheta 57/94
Ciclo de vida - ActivityChamado quando a App
é criada. Usado para
criação da view e acesso
a componentes.
M.Sc. Márcio Palheta 58/94
Ciclo de vida - ActivityChamado quando a App
é criada. Usado para
criação da view e acesso
a componentes.
Chamado antes da App
ficar Visível na tela. Se
der tudo certo, chama
onResume(), senão,
onStop().
M.Sc. Márcio Palheta 59/94
Ciclo de vida - ActivityChamado quando a App
é criada. Usado para
criação da view e acesso
a componentes.
Chamado antes da App
ficar Visível na tela. Se
der tudo certo, chama
onResume(), senão,
onStop().
Chamado quando a App
está em 1o plano, onde
ocorre interação com o
usuário.
M.Sc. Márcio Palheta 60/94
Ciclo de vida - Activity
Ocorre quando o Android
chama outra atividade.
A nossa App perde
o direito à tela.
M.Sc. Márcio Palheta 61/94
Ciclo de vida - Activity
Ocorre quando o Android
chama outra atividade.
A nossa App perde
o direito à tela.
Ocorre quando outra
atividade obteve o 1o
plano ou quando a App
está sendo eliminada.
M.Sc. Márcio Palheta 62/94
Ciclo de vida - Activity
Ocorre quando o Android
chama outra atividade.
A nossa App perde
o direito à tela.
Ocorre quando outra
atividade obteve o 1o
plano ou quando a App
está sendo eliminada.Última chance da App
executar algo. Ocorre
porque o Android precisa
de recursos, ou usuário
finalizou a App
M.Sc. Márcio Palheta 63/94
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”)
● Inclua mensagens em todos os métodos de eventos,
conforme exemplo a seguir
M.Sc. Márcio Palheta 64/94
Exercício 02: Teste de eventos
M.Sc. Márcio Palheta 65/94
Componentes de tela
● As telas em Android são
feitas em arquivos XML
● Telas 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
M.Sc. Márcio Palheta 66/94
Novos componentes de tela
● Vamos melhorar nossa interface, alterando o layout para
LinearLayout e incluindo:
– 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.
M.Sc. Márcio Palheta 67/94
Exercício 03: Inclusão de Strings
● Altere o arquivo /res/values/strings.xml
M.Sc. Márcio Palheta 68/94
Exercício 03: Inclusão de Strings
● Altere o arquivo /res/values/strings.xml
Novas chaves:
nome e clique
M.Sc. Márcio Palheta 69/94
Exercício 03: Mudanças na tela
● Arquivo: /res/layout/olamundolayout.xml
M.Sc. Márcio Palheta 70/94
Exercício 03: Mudanças na tela
● Arquivo: /res/layout/olamundolayout.xml
Novo layout
da nossa APP,
usando
LinearLayout
M.Sc. Márcio Palheta 71/94
Exercício 03: Mudanças na tela
● Arquivo: /res/layout/olamundolayout.xml
Componente
TextView
para exibir título
M.Sc. Márcio Palheta 72/94
Exercício 03: Mudanças na tela
● Arquivo: /res/layout/olamundolayout.xml
Componente
TextView
para exibir título
Define que o ID
do componente é
igual a tvHello
M.Sc. Márcio Palheta 73/94
Exercício 03: Mudanças na tela
● Arquivo: /res/layout/olamundolayout.xml Componente
texto chamado
id = edNome
M.Sc. Márcio Palheta 74/94
Exercício 03: Mudanças na tela
● Arquivo: /res/layout/olamundolayout.xml
Componente
botão chamado
id = btExibir
M.Sc. Márcio Palheta 75/94
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.
● Agora, precisamos alterar a classe controller
(OlaMundoActivity.java), para implementação da
lógica de negócios da nossa app.
M.Sc. Márcio Palheta 76/94
Exercício 03: Regras de negócio
M.Sc. Márcio Palheta 77/94
Exercício 03: Regras de negócio
Atributos que
representam
campos da tela
M.Sc. Márcio Palheta 78/94
Exercício 03: Regras de negócio
Busca campos
da tela por ID
M.Sc. Márcio Palheta 79/94
Exercício 03: Regras de negócio
Criação do
Listener para o
Evento de clique
do botão
M.Sc. Márcio Palheta 80/94
Exercício 03: Regras de negócio
Criação do
Listener para o
Evento de clique
do botão
Método invocado
após o clique
do botão
M.Sc. Márcio Palheta 81/94
Execução da App em um device
● Conect o cabo de dados de um device (tablet ou celular)
● Acione o menu Run / Run Configurations
M.Sc. Márcio Palheta 82/94
Execução da App em um device
● Conect o cabo de dados de um device (tablet ou celular)
● Acione o menu Run / Run Configurations
Na aba Target,
selecione a opção
Always prompt..
M.Sc. Márcio Palheta 83/94
Execução da App em um device
● Conect o cabo de dados de um device (tablet ou celular)
● Acione o menu Run / Run Configurations
Na aba Target,
selecione a opção
Always prompt..
Execute a app
M.Sc. Márcio Palheta 84/94
Executando a App em um device
● Escolha o device onde você quer rodar sua app
M.Sc. Márcio Palheta 85/94
Executando a App em um device
● Escolha o device onde você quer rodar sua app
Escolha o device
M.Sc. Márcio Palheta 86/94
Executando a App em um device
● Escolha o device onde você quer rodar sua app
Escolha o device
Clique em OK
M.Sc. Márcio Palheta 87/94
App rodando no device
Device Galaxy S2
M.Sc. Márcio Palheta 88/94
App rodando no device
Device Galaxy S2 Virtual Device
M.Sc. Márcio Palheta 89/94
Alertas e confirmações
● No desenvolvimento de aplicações, é comum o uso de
telas 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
M.Sc. Márcio Palheta 90/94
Exercício 04: Exibir tela de Alerta
● Tela atualizada ● /res/values/strings.xml
● /res/layout/olamundolayout.xml
M.Sc. Márcio Palheta 91/94
Exercício 04: Exibir tela de Alerta
M.Sc. Márcio Palheta 92/94
O que vem a seguir?
● Cadastro de Alunos
● Tela de cadastro
● Persistência com SQLite
● Intents
● Câmera e arquivos
● LayoutInflater
● Serviços de background
● Integração via JSON
M.Sc. Márcio Palheta 93/94
Referências
● www.caelum.com.br
● d.android.com
● LECHETA, Ricardo. Google Android, 3a edição,
Novatec, São Paulo, 2013
● Código fonte completo:
https://github.com/marciopalheta/cursosandroid
Android Básico – Hello World!

Aula 02 fundamentos

  • 1.
    Android Básico –Hello World!
  • 2.
    M.Sc. Márcio Palheta2/94 Instrutor ● Programador desde 2000 ● Aluno de doutorado ● Mestre em informática pelo ICOMP/UFAM ● Especialista em aplicações WEB – FUCAPI ● marcio.palheta@gmail.com ● sites.google.com/site/marcio palheta
  • 3.
    M.Sc. Márcio Palheta3/94 Agenda ● Dispositivos e compatibilidade ● 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 ● Planejamento das telas baseadas em Layouts
  • 4.
    M.Sc. Márcio Palheta4/94 Dispositivos e compatibilidade
  • 5.
    M.Sc. Márcio Palheta5/94 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
  • 6.
    M.Sc. Márcio Palheta6/94 Execução da IDE Eclipse ● Após descompactar o ADT Bundle, execute o eclipse
  • 7.
    M.Sc. Márcio Palheta7/94 Execução da IDE Eclipse ● Escolha um diretório para sua área de trabalho
  • 8.
    M.Sc. Márcio Palheta8/94 Tela de Boas Vindas!
  • 9.
    M.Sc. Márcio Palheta9/94 Atualização das ferramentas ● No menu principal, selecione: Android SDK Manager ● Neste curso, usaremos o Android 4.4 (API 19) ● É uma boa baixar a Google API
  • 10.
    M.Sc. Márcio Palheta10/94 Exercício 01: Minha primeira App ● Menu File/New/Android Application Project
  • 11.
    M.Sc. Márcio Palheta11/94 Exercício 01: Configurações da App
  • 12.
    M.Sc. Márcio Palheta12/94 Exercício 01: Definição de layout
  • 13.
    M.Sc. Márcio Palheta13/94 Exercício 01: Activity e Layout
  • 14.
    M.Sc. Márcio Palheta14/94 O que foi gerado? ● OlaMundoActivity.java: Classe filha de Activity, reponsável por controlar uma tela da aplicação; ● R.java: Classe responsável pelo mapeamento dos elementos da view com model e cotroller. OBS: NÃO alterar manualmente ● Pasta RES: Pasta de recursos da App, onde ficam as telas ● AndroidManifest.xml: Arquivo de configurações da app
  • 15.
    M.Sc. Márcio Palheta15/94 OlaMundoActivity.java
  • 16.
    M.Sc. Márcio Palheta16/94 OlaMundoActivity.java Classe filha de Activity
  • 17.
    M.Sc. Márcio Palheta17/94 OlaMundoActivity.java Classe filha de Activity Método inicial
  • 18.
    M.Sc. Márcio Palheta18/94 OlaMundoActivity.java Pluga a view no controller Classe filha de Activity Método inicial
  • 19.
    M.Sc. Márcio Palheta19/94 Recursos e a pasta RES ● RES é a pasta onde ficam os recursos de uma app ● RES/LAYOUT/ armazena as telas 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 ● RES/RAW/ armazena arquivos de mídia, como mp3 ou vídeos
  • 20.
    M.Sc. Márcio Palheta20/94 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) – res/drawable-hdpi: alta resolução(maioria) – res/drawable-tvdpi: televisões
  • 21.
    M.Sc. Márcio Palheta21/94 /res/layout/olamundolayout.xml
  • 22.
    M.Sc. Márcio Palheta22/94 /res/layout/olamundolayout.xml Modo gráfico
  • 23.
    M.Sc. Márcio Palheta23/94 /res/layout/olamundolayout.xml Modo gráfico Paleta de componentes
  • 24.
    M.Sc. Márcio Palheta24/94 /res/layout/olamundolayout.xml Modo gráfico Paleta de componentes Pré-visualização
  • 25.
    M.Sc. Márcio Palheta25/94 /res/layout/olamundolayout.xml
  • 26.
    M.Sc. Márcio Palheta26/94 /res/layout/olamundolayout.xml Modo de edição de XML
  • 27.
    M.Sc. Márcio Palheta27/94 /res/layout/olamundolayout.xml Modo de edição de XML Layout principal da tela
  • 28.
    M.Sc. Márcio Palheta28/94 /res/layout/olamundolayout.xml Modo de edição de XML Layout principal da tela Atributos para ocupar a tela toda
  • 29.
    M.Sc. Márcio Palheta29/94 /res/layout/olamundolayout.xml Componente de texto Modo de edição de XML Layout principal da tela
  • 30.
    M.Sc. Márcio Palheta30/94 /res/layout/olamundolayout.xml Componente de texto Modo de edição de XML Layout principal da tela Tamanho adequado ao conteúdo
  • 31.
    M.Sc. Márcio Palheta31/94 /res/layout/olamundolayout.xml Componente de texto Modo de edição de XML Layout principal da tela Referência para o arquivo de I18N /res/values/strings.xml
  • 32.
    M.Sc. Márcio Palheta32/94 /res/values/strings.xml
  • 33.
    M.Sc. Márcio Palheta33/94 /res/values/strings.xml Arquivo usado Para I18N
  • 34.
    M.Sc. Márcio Palheta34/94 /res/values/strings.xml Arquivo usado Para I18N Chave usada na view
  • 35.
    M.Sc. Márcio Palheta35/94 /res/values/strings.xml Arquivo usado Para I18N Chave usada na view Valor a ser exibido na view
  • 36.
    M.Sc. Márcio Palheta36/94 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 ● Na nova tela, clique no botão New
  • 37.
    M.Sc. Márcio Palheta37/94 Configurações do emulador
  • 38.
    M.Sc. Márcio Palheta38/94 Configurações do emulador
  • 39.
    M.Sc. Márcio Palheta39/94 Configurações do emulador Nome do simulador
  • 40.
    M.Sc. Márcio Palheta40/94 Configurações do emulador Nome do simulador Tipo de device a ser emulado
  • 41.
    M.Sc. Márcio Palheta41/94 Configurações do emulador Nome do simulador Tipo de device a ser emulado Versão do Android que deve será emulada no device
  • 42.
    M.Sc. Márcio Palheta42/94 Configurações do emulador Nome do simulador Tipo de device a ser emulado Versão do Android que deve será emulada no device Ajuste o espaço de armazenamento
  • 43.
    M.Sc. Márcio Palheta43/94 Configurações do emulador Nome do simulador Tipo de device a ser emulado Versão do Android que deve será emulada no device Encerre as configurações Ajuste o espaço de armazenamento
  • 44.
    M.Sc. Márcio Palheta44/94 Iniciar o novo emulador
  • 45.
    M.Sc. Márcio Palheta45/94 Iniciar o novo emulador Selecione o seu emulador
  • 46.
    M.Sc. Márcio Palheta46/94 Iniciar o novo emulador Selecione o seu emulador INICIE o seu emulador
  • 47.
    M.Sc. Márcio Palheta47/94 Iniciar o novo emulador EXECUTE o seu emulador
  • 48.
    M.Sc. Márcio Palheta48/94 Emulador pronto para o uso ● Um booom tempo depois, o seu emulador está pronto para o uso ● Por motivos óbvios, evite encerrar o emulador ● Agora, vamos executar nossa primeira App e ver o resultado no emulador criado
  • 49.
    M.Sc. Márcio Palheta49/94 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 ● 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
  • 50.
    M.Sc. Márcio Palheta50/94 Configurando a execução da App
  • 51.
    M.Sc. Márcio Palheta51/94 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
  • 52.
    M.Sc. Márcio Palheta52/94 App rodando no Emulador
  • 53.
    M.Sc. Márcio Palheta53/94 Fundamentos de Android Código fonte JAVA (.java) Compilador (javac) Bytecode JAVA (.class) Empacota (.jar) JAVA VM PROJETOS JAVA
  • 54.
    M.Sc. Márcio Palheta54/94 Fundamentos de Android Código fonte JAVA (.java) Compilador (javac) Bytecode JAVA (.class) Empacota (.jar) JAVA VM PROJETOS JAVA Código fonte JAVA (.java) Compilador (javac) Bytecode JAVA (.class) Empacota (.dex) DALVIK VM PROJETOS ANDROID
  • 55.
    M.Sc. Márcio Palheta55/94 Fundamentos de Android - Estrutura
  • 56.
    M.Sc. Márcio Palheta56/94 Ciclo de vida - Activity
  • 57.
    M.Sc. Márcio Palheta57/94 Ciclo de vida - ActivityChamado quando a App é criada. Usado para criação da view e acesso a componentes.
  • 58.
    M.Sc. Márcio Palheta58/94 Ciclo de vida - ActivityChamado quando a App é criada. Usado para criação da view e acesso a componentes. Chamado antes da App ficar Visível na tela. Se der tudo certo, chama onResume(), senão, onStop().
  • 59.
    M.Sc. Márcio Palheta59/94 Ciclo de vida - ActivityChamado quando a App é criada. Usado para criação da view e acesso a componentes. Chamado antes da App ficar Visível na tela. Se der tudo certo, chama onResume(), senão, onStop(). Chamado quando a App está em 1o plano, onde ocorre interação com o usuário.
  • 60.
    M.Sc. Márcio Palheta60/94 Ciclo de vida - Activity Ocorre quando o Android chama outra atividade. A nossa App perde o direito à tela.
  • 61.
    M.Sc. Márcio Palheta61/94 Ciclo de vida - Activity Ocorre quando o Android chama outra atividade. A nossa App perde o direito à tela. Ocorre quando outra atividade obteve o 1o plano ou quando a App está sendo eliminada.
  • 62.
    M.Sc. Márcio Palheta62/94 Ciclo de vida - Activity Ocorre quando o Android chama outra atividade. A nossa App perde o direito à tela. Ocorre quando outra atividade obteve o 1o plano ou quando a App está sendo eliminada.Última chance da App executar algo. Ocorre porque o Android precisa de recursos, ou usuário finalizou a App
  • 63.
    M.Sc. Márcio Palheta63/94 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”) ● Inclua mensagens em todos os métodos de eventos, conforme exemplo a seguir
  • 64.
    M.Sc. Márcio Palheta64/94 Exercício 02: Teste de eventos
  • 65.
    M.Sc. Márcio Palheta65/94 Componentes de tela ● As telas em Android são feitas em arquivos XML ● Telas 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
  • 66.
    M.Sc. Márcio Palheta66/94 Novos componentes de tela ● Vamos melhorar nossa interface, alterando o layout para LinearLayout e incluindo: – 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.
  • 67.
    M.Sc. Márcio Palheta67/94 Exercício 03: Inclusão de Strings ● Altere o arquivo /res/values/strings.xml
  • 68.
    M.Sc. Márcio Palheta68/94 Exercício 03: Inclusão de Strings ● Altere o arquivo /res/values/strings.xml Novas chaves: nome e clique
  • 69.
    M.Sc. Márcio Palheta69/94 Exercício 03: Mudanças na tela ● Arquivo: /res/layout/olamundolayout.xml
  • 70.
    M.Sc. Márcio Palheta70/94 Exercício 03: Mudanças na tela ● Arquivo: /res/layout/olamundolayout.xml Novo layout da nossa APP, usando LinearLayout
  • 71.
    M.Sc. Márcio Palheta71/94 Exercício 03: Mudanças na tela ● Arquivo: /res/layout/olamundolayout.xml Componente TextView para exibir título
  • 72.
    M.Sc. Márcio Palheta72/94 Exercício 03: Mudanças na tela ● Arquivo: /res/layout/olamundolayout.xml Componente TextView para exibir título Define que o ID do componente é igual a tvHello
  • 73.
    M.Sc. Márcio Palheta73/94 Exercício 03: Mudanças na tela ● Arquivo: /res/layout/olamundolayout.xml Componente texto chamado id = edNome
  • 74.
    M.Sc. Márcio Palheta74/94 Exercício 03: Mudanças na tela ● Arquivo: /res/layout/olamundolayout.xml Componente botão chamado id = btExibir
  • 75.
    M.Sc. Márcio Palheta75/94 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. ● Agora, precisamos alterar a classe controller (OlaMundoActivity.java), para implementação da lógica de negócios da nossa app.
  • 76.
    M.Sc. Márcio Palheta76/94 Exercício 03: Regras de negócio
  • 77.
    M.Sc. Márcio Palheta77/94 Exercício 03: Regras de negócio Atributos que representam campos da tela
  • 78.
    M.Sc. Márcio Palheta78/94 Exercício 03: Regras de negócio Busca campos da tela por ID
  • 79.
    M.Sc. Márcio Palheta79/94 Exercício 03: Regras de negócio Criação do Listener para o Evento de clique do botão
  • 80.
    M.Sc. Márcio Palheta80/94 Exercício 03: Regras de negócio Criação do Listener para o Evento de clique do botão Método invocado após o clique do botão
  • 81.
    M.Sc. Márcio Palheta81/94 Execução da App em um device ● Conect o cabo de dados de um device (tablet ou celular) ● Acione o menu Run / Run Configurations
  • 82.
    M.Sc. Márcio Palheta82/94 Execução da App em um device ● Conect o cabo de dados de um device (tablet ou celular) ● Acione o menu Run / Run Configurations Na aba Target, selecione a opção Always prompt..
  • 83.
    M.Sc. Márcio Palheta83/94 Execução da App em um device ● Conect o cabo de dados de um device (tablet ou celular) ● Acione o menu Run / Run Configurations Na aba Target, selecione a opção Always prompt.. Execute a app
  • 84.
    M.Sc. Márcio Palheta84/94 Executando a App em um device ● Escolha o device onde você quer rodar sua app
  • 85.
    M.Sc. Márcio Palheta85/94 Executando a App em um device ● Escolha o device onde você quer rodar sua app Escolha o device
  • 86.
    M.Sc. Márcio Palheta86/94 Executando a App em um device ● Escolha o device onde você quer rodar sua app Escolha o device Clique em OK
  • 87.
    M.Sc. Márcio Palheta87/94 App rodando no device Device Galaxy S2
  • 88.
    M.Sc. Márcio Palheta88/94 App rodando no device Device Galaxy S2 Virtual Device
  • 89.
    M.Sc. Márcio Palheta89/94 Alertas e confirmações ● No desenvolvimento de aplicações, é comum o uso de telas 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
  • 90.
    M.Sc. Márcio Palheta90/94 Exercício 04: Exibir tela de Alerta ● Tela atualizada ● /res/values/strings.xml ● /res/layout/olamundolayout.xml
  • 91.
    M.Sc. Márcio Palheta91/94 Exercício 04: Exibir tela de Alerta
  • 92.
    M.Sc. Márcio Palheta92/94 O que vem a seguir? ● Cadastro de Alunos ● Tela de cadastro ● Persistência com SQLite ● Intents ● Câmera e arquivos ● LayoutInflater ● Serviços de background ● Integração via JSON
  • 93.
    M.Sc. Márcio Palheta93/94 Referências ● www.caelum.com.br ● d.android.com ● LECHETA, Ricardo. Google Android, 3a edição, Novatec, São Paulo, 2013 ● Código fonte completo: https://github.com/marciopalheta/cursosandroid
  • 94.
    Android Básico –Hello World!