GOOGLE ANDROID
Prof. MSc. Iury Teixeira
Faculdade de Juazeiro do Norte
Especialização em Desenvolvimento de Aplicativos para
Dispositivos Móveis
Nosso objetivo
Conhecer o sistema operacional e plataforma de
desenvolvimento Google Android junto de seus principais
componentes de desenvolvimento de Apps.
Roteiro
•  Origem
•  OHA
•  Onde está o Android?
•  OAA
•  Arquitetura
•  Tipos de Aplicativos
•  Google Play
•  SDK e Dalvik
•  Ambiente de
Desenvolvimento
•  AVD e Emulador
•  ADB, DDMS e ADT
•  Widgets
•  Activity
•  ListActivity
•  Intents
Android
Sistema Operacional
Android, Inc.
Open Source
Código Proprietário?
Java !?Linux
O que existe no Android?
Acesso a serviços nativos
API´s
Views e Fragments
Gráficos, câmeras
Background e Foreground
Widgets
SQLite
C2DMSensores
Mercado do Android
2012
66,4 % dos Devices
Mercado do Android
2013
78,4 % de aparelhos com AndroidOS
15,6 % iOS
2014 – previsão – Fonte : Gartner
onde Android?
Smartphones e phablets
Tablets
Wearable Devices
Internet das Coisas
iQon System
Arquitetura do AndroidOS
•  Android é baseado no Kernel 2.6 do Linux;
•  O Linux é responsável por gerenciar:
Memória
Processos
Threads
Segurança
Redes
Drivers
Android e Linux
Prof. Iury Teixeira
•  Assim como no Java, o Android possui uma VM, chamada
Dalvik. VM otimizada para baixo consumo de
recursos
•  Essa mesma, é responsável por efetuar toda compilação e
transformar em código executável no Android;
•  Não existe uma JVM no Android;
•  E como funciona a compilação?
Máquina Virtual
Prof. Iury Teixeira
Exportação
Prof. Iury Teixeira
Tipos de Aplicativos
•  Foreground
•  Interage com o usuário
•  Background
•  Executa em segundo plano
•  Intermittent
•  União dos primeiros tipos
•  Widgets
•  De fácil acesso na Home Screen
•  API específica
Prof. Iury Teixeira
Loja de Aplicativos
•  Objetivo:
•  Possibilitar aos desenvolvedores um local para disponibilizar suas
Apps.
•  Para utilizar:
•  Cadastro, pagamento de US$ 25.00;
•  Após isso pode ser instalado por qualquer usuário;
Versões X API
Ferramentas e SDK
Eclipse + ADT plugin
Android SDK Tools
Android Platform-tools
The latest Android platform
The latest Android system image
for the emulator
ADT Bundle
Estrutura do SDK
•  add-ons
•  Arquivos extras e de terceiros pertencentes a determinadas APIs
•  plataforms
•  raiz das APIs
•  tools
•  Arquivos auxiliares para a execução de ferramentas do SDK
O Que vem com o SDK
•  Contém:
•  toda a API necessária para desenvolver utilizando a
linguagem Java;
•  SDK Manger
•  Emulador;
•  Sendo possível plugar um celular na porta USB para
executar/testar a aplicação;
•  Para isso necessita do driver do celular instalado na máquina;
•  AVD Manager
•  Controlador de plataformas do Android
•  DDMS
•  Debug, Monitoramento;
SDK Manager
•  Local onde pode ser feito o download de:
•  APIs
•  Ferramentas
•  bibliotecas de terceiros
•  Documentação, exemplos e código
AVD Manager
•  Android Virtual Device
•  Gerenciador de máquinas(devices) virtuais
•  Mas o que é AVD ?
• Android Virtual Device
•  Criação de uma configuração virtual para um determinado
dispositivo, reconhecida e emulada pelo emulador.
AVD Manager
Prof. Iury Teixeira
AVD 1
AVD 2
Android 4.1
SD 5000 MB
Resol.: HVGA
Android 4.2
SD 500 MB
Resol.: HVGA
Android 4.2
SD 1024 MB
Resol.:
WQVGA432
AVD 3
AVD Manager
Emulador
Prof. Iury Teixeira
Novo projeto usando o Eclipse ADT
•  File > New > Android Application Project
Template da Activity
•  Necessita de Fragments versão 11 ou superior (mínimo)
Arquitetura da App
Src: código fonte Java
Gen: fonte Java gerado pelo ADT
Android 4.2.2: Compile with, versão de compilação do
projeto
Assests: arquivos html, textos, fonte, banco,… recursos
Bin: onde ficará o .apk
Libs: bibliotecas utilizadas no projeto
Res: recursos estáticos utilizados no projeto
Drawable: imagens do aplicativo
Layout: interfaces/telas do aplicativo
Menu: desenhos de menu do aplicativo
Values: mensagens de texto do aplicativo
(internacionalização)
AndroidManifest.xml
• Deve-se manter na raiz do projeto;
• Mantem todas as configurações do projeto:
•  Nome, pacote base, ícone
•  Activity’s
•  Versão SDK
•  Permissões
O que significa essas linhas?
Pode ser executada isoladamente, ponto inicial
A Activity estará na tela inicial
AndroidManifest.xml
layouts
layout
•  /res/layout/activity_main.xml
•  Os arquivos XML na pasta layout representam uma tela da aplicação;
•  As TAGS representam os componentes visuais;
•  Os componentes visuais podem ser criados via API Java também;
strings
• /res/values/string.xml
•  Muito importante para internacionalização;
Chave Valor
A Classe R
•  Possui constantes (do tipo INT) para todos os recursos
criados;
•  Acessa imagens;
•  É atualizada automaticamente pelo ADT(Plugin), quando a
pasta res é alterada;
•  R.drawable.imagem1;
•  R.layout.meu_layout;
•  R.string.valor_string;
•  R.style.meu_estilo;
Diferente de android.R
Classe R
Pixels, densidades,
…
drawable
Pixel??
Um pixel é o menor ponto físico da tela de um dispositivo
É o elemento pelo qual as imagens são criadas.
Pilhas de Densidade
Tendo como densidade base do
dispositvo alvo 160dpi, qual tamanho
fisico teria as outras imagens (nas pastas
drawable’s)?
Criando a imagem correta…
32px x 32px
Densidade (dpi) Pixels x Escala Tamanho Recomendado (dp)
120 32 * 0.75 24
160 32 * 1.00 32
240 32 * 1.50 48
320 32 * 2.00 64
480 32 * 3.00 96
Tendo como densidade base do dispositvo alvo 160dpi, qual tamanho fisico
teria as outras imagens (drawable’s)?
Todos os recursos devem ter: nomes
minusculos e sem espaços. Caso não
siga a regra a classe R não será
compilada.
Criando um AVD
1º Passo
Criando um AVD
2º Passo
Executando o projeto
Botão direito no projeto e siga os passos abaixo:
Activity Principal
Capturando componentes
Arquivo Java ( Principal.java )
Arquivo XML ( layout/main.xml )
Evento click/tap do Button
Mão no código J
•  Criar um aplicativo chamado ArqMob;
•  Calcular a área do losango:
•  O resultado deve ser exibido em um AlertDialog.Builder
A = b * h / 2
Componentes Visuais
TextView e EditText
•  Propriedades:
•  layout_width = [“wrap_content” ou “match_parent”] -> Preenchimento
Lateral
•  layout_heigth = [“wrap_content” ou “match_parent”] -> Preenchimento
Altura
•  background = “#FFFF34” -> Cor de Fundo
•  textColor = “#FFFF34” -> Cor da Fonte
•  hint = “insira seu nome”-> Caso o campo de texto esteja vazio
•  autoLink = [“web ou map e etc”] - > o TextView Funciona como link.
•  layout_weight = [“valor inteiro”] -> Refere-se a porcentagem que o
componente irá ocupar na tela;
Tipos de InputType do EditText
http://developer.android.com/guide/topics/ui/controls/text.html
Tipos de InputType do EditText
http://developer.android.com/guide/topics/ui/controls/text.html
ToggleButton e CheckBox
•  Componentes para seleção de iten opcionais;
•  Propriedades do ToogleButton:
•  textOn: Exibe um texto quando selecionado;
•  textOff: Exibe um texto quando não está selecionado;
•  Método isChecked(): [método de ambos os componentes]
•  Retorna a situação da seleção;
Tela Anterior
RadioButton
•  É utilizado com o auxilio de um RadioGroup
•  Propriedades:
•  Text: Texto a ser exibido;
•  Checked: Se o botão iniciará marcado ou não [ true | false ]
•  Método para obter o radio selecionado:
•  isChecked();
RadioButton
Activity
•  Representa uma “tela” da aplicação;
•  Tem a função de gerenciar os eventos da tela;
•  Regra de Visão;
•  Configura a View a ser exibido;
Activity
•  Deve herdar de Activity [ou subclasses];
•  Deve implementar onCreate:
•  Inicializar View;
•  Criar os elementos da tela;
•  Deve ser informado no AndroidManifest.xml
Activity
•  Cada Activity é adicionada ao activity stack
Finish()
Por exemplo de pause:
- Ligação
Activity encerrada
pelo sistema
Tela 1 Tela 2
•  Para navegarmos entre várias telas, utilizaremos os
seguintes métodos:
startActivity(intent);
•  Pode enviar parâmetros
•  Exibe uma nova activity
startActivityForResult(intent,codigo);
•  Pode enviar parâmetros
•  Exibe uma nova activity
•  Espera um retorno da mesma
•  Para se enviar parâmetros utiliza-se a classe Intent em
união com a Bundle, ou não;
•  É similar a um HashMap;
Valor INT e STRING
Enviando parâmentros
•  Para enviar parâmetros
•  É similar a um HashMap;
Valor Boolean
De forma abreviada
Captando resultados de outras telas
Iniciando outra tela esperando resposta
•  Utiliza-se o método setResult(codigo, intent);
•  Em seguida chama o método finish();
Retornando valores
Ou sobrescreve o método onBackPressed e não chama o finish();
•  Capturando o retorno
•  onActivityResult(int requestCode, int resultCode, Intent data);
•  Efetua a leitura do intent de acordo com resultCode
•  requestCode = codigo da Intent do
startActivityForResult(intent, codigo);
A result code specified by the second activity. This is either RESULT_OK
if the operation was successful or RESULT_CANCELED if the user
backed out or the operation failed for some reason.
Mão no código J
•  Transforme sua aplicação desktop em mobile;
•  Exportar o modelo de Formas Geométricas:
•  Triangulo (lib);
•  Quadrado (lib);
•  CheckBox perguntando se deve calcular o volume (L x L x L)
•  Prisma e Circulo (na mesma tela- usar radiobutton):
•  prisma (Área total = A1 + 2 * A2)
•  circulo(Área total = 3.14 * Raio * Raio)
ListActivity
•  Exibe dados em forma de lista;
•  Subclasse de Activity;
•  Já possui métodos relacionado
ao componente ListView;
•  Já possui barra de rolagem;
•  Método setContentView(listView), é
chamado automático;
•  Necessário um ListAdapter;
•  Fazendo a ligação entre o ListView e os
dados.
ListActivity
Adapter ??
O Adapter permite que classes
com interfaces incompatíveis
possam interagir.
ListActivity
•  Um rápido exemplo…
Array com itens do ListView
(Lista)
ListActivity
•  Um rápido exemplo…
Personalizada?
X
Java como programar
Novatec
X
Cada item pode ter essa estrutura?
Criando Layout personalizados
para ListView
Criando o layout_list.xml
•  Criando a classe Icones
•  Representando cada item da lista
•  Criando o a classe Icones (Continuação)
•  Representando cada item da lista
Nosso Adapter
•  Criando o a classe IconesAdapter (Continuação)
•  Adaptor para a List
•  Criando o a classe IconesAdapter (Continuação)
•  Criando o a classe IconesAdapter (Continuação)
•  Adaptor para a List
Configurando a Activity de Exibição
Configurando o clique no item da Lista (ListActivity)
Mão no Código J
•  Crie um novo Projeto:
•  Criar uma tela de Login, antes de visualizar
a lista de livros;
•  Listar livros com imagem da capa, editora,
edição e titulo;
•  Ao clicar em um item, navegar para a
respectiva tela de detalhamento (titulo,
autor, capa, resumo);
X
Java como programar
Edição 3
Item da Lista
Detalhamento
XJava como programar
Resumo Resumo
Resumo Resumo
Resumo Resumo
Novatec - Edição
Novatec
LerExibir: Leitura autorizada
Intents
O Que mais elas podem fazer?
•  Representa uma “ação”, que será executada pela
aplicação em conjunto com o sistema operacional;
•  Exemplos:
•  Abrir uma nova tela startActivity(intent);
•  Efetuar uma ligação;
•  Abrir o browser;
•  Abrir um mapa;
•  …….
Intents
ACTION_CALL
ACTION_VIEW
ACTION_SEND
ACTION_DIAL
ACTION_WEB_SEARCH
Exemplos de Ações
•  Algumas das atividades/intenções precisam de
autorização/permissão:
•  Internet:
•  android.permission.INTERNET
•  Contatos:
•  android.permission.READ_CONTACTS
•  Ligação:
•  android.permission.CALL_PHONE
Intents
Abrindo o browser
•  Faça uma ligação
•  Ação: Intent.ACTION_CALL;
•  URI: “tel:numerodesejado”;
•  android.permission.CALL_PHONE
Uri uri= Uri.parse(“tel:88074562”);
new Intent(Intent.Action_CALL, uri);
startActivity(intent);
Fazendo ligação
•  Adicionar opção de buscar livros na internet (no google);
•  Adicionar opção de ligar para o desenvolvedor da app.
Mão no código
Notifications
http://developer.android.com/guide/topics/ui/notifiers/notifications.html
Notifications
•  Classe: android.app.Notification
•  Exibi uma mensagem na barra de
status;
•  Possui um conteúdo/mensagem;
•  Uma Intent pode ser disparada ao clicar;
•  Aplicação em segundo plano disparar
um Alerta;
Estrutura
da
Notificação
Requisitos Necessários
•  Icone Pequeno
•  Titulo
•  Mensagem
Criando
Flags
http://developer.android.com/reference/android/app/PendingIntent.html
Após acionada deve-se cancelar a notificação
Ou adicionar no onDestroy(), para encerra junto
com a Activity que a iniciou!
Mão no código J
•  Faça com que ao abrir a tela de detalhamento de livros
uma notificação seja disparada, e caso o usuário clique o
mesmo seja redirecionado para o google com a lista de
resultados referentes ao nome do livros.

Aulas Google Android

  • 1.
    GOOGLE ANDROID Prof. MSc.Iury Teixeira Faculdade de Juazeiro do Norte Especialização em Desenvolvimento de Aplicativos para Dispositivos Móveis
  • 2.
    Nosso objetivo Conhecer osistema operacional e plataforma de desenvolvimento Google Android junto de seus principais componentes de desenvolvimento de Apps.
  • 3.
    Roteiro •  Origem •  OHA • Onde está o Android? •  OAA •  Arquitetura •  Tipos de Aplicativos •  Google Play •  SDK e Dalvik •  Ambiente de Desenvolvimento •  AVD e Emulador •  ADB, DDMS e ADT •  Widgets •  Activity •  ListActivity •  Intents
  • 5.
    Android Sistema Operacional Android, Inc. OpenSource Código Proprietário? Java !?Linux
  • 6.
    O que existeno Android? Acesso a serviços nativos API´s Views e Fragments Gráficos, câmeras Background e Foreground Widgets SQLite C2DMSensores
  • 8.
  • 9.
    Mercado do Android 2013 78,4% de aparelhos com AndroidOS 15,6 % iOS
  • 10.
    2014 – previsão– Fonte : Gartner
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
    •  Android ébaseado no Kernel 2.6 do Linux; •  O Linux é responsável por gerenciar: Memória Processos Threads Segurança Redes Drivers Android e Linux Prof. Iury Teixeira
  • 19.
    •  Assim comono Java, o Android possui uma VM, chamada Dalvik. VM otimizada para baixo consumo de recursos •  Essa mesma, é responsável por efetuar toda compilação e transformar em código executável no Android; •  Não existe uma JVM no Android; •  E como funciona a compilação? Máquina Virtual Prof. Iury Teixeira
  • 20.
  • 21.
    Tipos de Aplicativos • Foreground •  Interage com o usuário •  Background •  Executa em segundo plano •  Intermittent •  União dos primeiros tipos •  Widgets •  De fácil acesso na Home Screen •  API específica Prof. Iury Teixeira
  • 22.
    Loja de Aplicativos • Objetivo: •  Possibilitar aos desenvolvedores um local para disponibilizar suas Apps. •  Para utilizar: •  Cadastro, pagamento de US$ 25.00; •  Após isso pode ser instalado por qualquer usuário;
  • 23.
  • 24.
    Ferramentas e SDK Eclipse+ ADT plugin Android SDK Tools Android Platform-tools The latest Android platform The latest Android system image for the emulator ADT Bundle
  • 25.
    Estrutura do SDK • add-ons •  Arquivos extras e de terceiros pertencentes a determinadas APIs •  plataforms •  raiz das APIs •  tools •  Arquivos auxiliares para a execução de ferramentas do SDK
  • 26.
    O Que vemcom o SDK •  Contém: •  toda a API necessária para desenvolver utilizando a linguagem Java; •  SDK Manger •  Emulador; •  Sendo possível plugar um celular na porta USB para executar/testar a aplicação; •  Para isso necessita do driver do celular instalado na máquina; •  AVD Manager •  Controlador de plataformas do Android •  DDMS •  Debug, Monitoramento;
  • 27.
    SDK Manager •  Localonde pode ser feito o download de: •  APIs •  Ferramentas •  bibliotecas de terceiros •  Documentação, exemplos e código
  • 28.
    AVD Manager •  AndroidVirtual Device •  Gerenciador de máquinas(devices) virtuais
  • 29.
    •  Mas oque é AVD ? • Android Virtual Device •  Criação de uma configuração virtual para um determinado dispositivo, reconhecida e emulada pelo emulador. AVD Manager Prof. Iury Teixeira
  • 30.
    AVD 1 AVD 2 Android4.1 SD 5000 MB Resol.: HVGA Android 4.2 SD 500 MB Resol.: HVGA Android 4.2 SD 1024 MB Resol.: WQVGA432 AVD 3 AVD Manager Emulador Prof. Iury Teixeira
  • 31.
    Novo projeto usandoo Eclipse ADT •  File > New > Android Application Project
  • 32.
    Template da Activity • Necessita de Fragments versão 11 ou superior (mínimo)
  • 33.
  • 34.
    Src: código fonteJava Gen: fonte Java gerado pelo ADT Android 4.2.2: Compile with, versão de compilação do projeto Assests: arquivos html, textos, fonte, banco,… recursos Bin: onde ficará o .apk Libs: bibliotecas utilizadas no projeto Res: recursos estáticos utilizados no projeto Drawable: imagens do aplicativo Layout: interfaces/telas do aplicativo Menu: desenhos de menu do aplicativo Values: mensagens de texto do aplicativo (internacionalização)
  • 35.
    AndroidManifest.xml • Deve-se manter naraiz do projeto; • Mantem todas as configurações do projeto: •  Nome, pacote base, ícone •  Activity’s •  Versão SDK •  Permissões
  • 36.
    O que significaessas linhas? Pode ser executada isoladamente, ponto inicial A Activity estará na tela inicial AndroidManifest.xml
  • 37.
  • 38.
    layout •  /res/layout/activity_main.xml •  Osarquivos XML na pasta layout representam uma tela da aplicação; •  As TAGS representam os componentes visuais; •  Os componentes visuais podem ser criados via API Java também;
  • 39.
  • 40.
    • /res/values/string.xml •  Muito importantepara internacionalização; Chave Valor
  • 41.
    A Classe R • Possui constantes (do tipo INT) para todos os recursos criados; •  Acessa imagens; •  É atualizada automaticamente pelo ADT(Plugin), quando a pasta res é alterada; •  R.drawable.imagem1; •  R.layout.meu_layout; •  R.string.valor_string; •  R.style.meu_estilo; Diferente de android.R
  • 42.
  • 43.
  • 44.
    Pixel?? Um pixel éo menor ponto físico da tela de um dispositivo É o elemento pelo qual as imagens são criadas.
  • 45.
  • 46.
    Tendo como densidadebase do dispositvo alvo 160dpi, qual tamanho fisico teria as outras imagens (nas pastas drawable’s)?
  • 47.
    Criando a imagemcorreta… 32px x 32px Densidade (dpi) Pixels x Escala Tamanho Recomendado (dp) 120 32 * 0.75 24 160 32 * 1.00 32 240 32 * 1.50 48 320 32 * 2.00 64 480 32 * 3.00 96 Tendo como densidade base do dispositvo alvo 160dpi, qual tamanho fisico teria as outras imagens (drawable’s)?
  • 48.
    Todos os recursosdevem ter: nomes minusculos e sem espaços. Caso não siga a regra a classe R não será compilada.
  • 49.
  • 50.
  • 51.
    Executando o projeto Botãodireito no projeto e siga os passos abaixo:
  • 52.
  • 53.
    Capturando componentes Arquivo Java( Principal.java ) Arquivo XML ( layout/main.xml )
  • 54.
  • 55.
    Mão no códigoJ •  Criar um aplicativo chamado ArqMob; •  Calcular a área do losango: •  O resultado deve ser exibido em um AlertDialog.Builder A = b * h / 2
  • 56.
  • 58.
    TextView e EditText • Propriedades: •  layout_width = [“wrap_content” ou “match_parent”] -> Preenchimento Lateral •  layout_heigth = [“wrap_content” ou “match_parent”] -> Preenchimento Altura •  background = “#FFFF34” -> Cor de Fundo •  textColor = “#FFFF34” -> Cor da Fonte •  hint = “insira seu nome”-> Caso o campo de texto esteja vazio •  autoLink = [“web ou map e etc”] - > o TextView Funciona como link. •  layout_weight = [“valor inteiro”] -> Refere-se a porcentagem que o componente irá ocupar na tela;
  • 59.
    Tipos de InputTypedo EditText http://developer.android.com/guide/topics/ui/controls/text.html
  • 60.
    Tipos de InputTypedo EditText http://developer.android.com/guide/topics/ui/controls/text.html
  • 61.
    ToggleButton e CheckBox • Componentes para seleção de iten opcionais; •  Propriedades do ToogleButton: •  textOn: Exibe um texto quando selecionado; •  textOff: Exibe um texto quando não está selecionado; •  Método isChecked(): [método de ambos os componentes] •  Retorna a situação da seleção;
  • 62.
  • 63.
    RadioButton •  É utilizadocom o auxilio de um RadioGroup •  Propriedades: •  Text: Texto a ser exibido; •  Checked: Se o botão iniciará marcado ou não [ true | false ] •  Método para obter o radio selecionado: •  isChecked();
  • 64.
  • 65.
  • 66.
    •  Representa uma“tela” da aplicação; •  Tem a função de gerenciar os eventos da tela; •  Regra de Visão; •  Configura a View a ser exibido; Activity
  • 67.
    •  Deve herdarde Activity [ou subclasses]; •  Deve implementar onCreate: •  Inicializar View; •  Criar os elementos da tela; •  Deve ser informado no AndroidManifest.xml Activity
  • 68.
    •  Cada Activityé adicionada ao activity stack
  • 69.
    Finish() Por exemplo depause: - Ligação Activity encerrada pelo sistema
  • 70.
  • 71.
    •  Para navegarmosentre várias telas, utilizaremos os seguintes métodos: startActivity(intent); •  Pode enviar parâmetros •  Exibe uma nova activity startActivityForResult(intent,codigo); •  Pode enviar parâmetros •  Exibe uma nova activity •  Espera um retorno da mesma
  • 72.
    •  Para seenviar parâmetros utiliza-se a classe Intent em união com a Bundle, ou não; •  É similar a um HashMap; Valor INT e STRING Enviando parâmentros
  • 73.
    •  Para enviarparâmetros •  É similar a um HashMap; Valor Boolean De forma abreviada
  • 74.
  • 75.
    Iniciando outra telaesperando resposta
  • 76.
    •  Utiliza-se ométodo setResult(codigo, intent); •  Em seguida chama o método finish(); Retornando valores Ou sobrescreve o método onBackPressed e não chama o finish();
  • 77.
    •  Capturando oretorno •  onActivityResult(int requestCode, int resultCode, Intent data); •  Efetua a leitura do intent de acordo com resultCode •  requestCode = codigo da Intent do startActivityForResult(intent, codigo); A result code specified by the second activity. This is either RESULT_OK if the operation was successful or RESULT_CANCELED if the user backed out or the operation failed for some reason.
  • 78.
    Mão no códigoJ •  Transforme sua aplicação desktop em mobile; •  Exportar o modelo de Formas Geométricas: •  Triangulo (lib); •  Quadrado (lib); •  CheckBox perguntando se deve calcular o volume (L x L x L) •  Prisma e Circulo (na mesma tela- usar radiobutton): •  prisma (Área total = A1 + 2 * A2) •  circulo(Área total = 3.14 * Raio * Raio)
  • 79.
  • 80.
    •  Exibe dadosem forma de lista; •  Subclasse de Activity; •  Já possui métodos relacionado ao componente ListView; •  Já possui barra de rolagem; •  Método setContentView(listView), é chamado automático; •  Necessário um ListAdapter; •  Fazendo a ligação entre o ListView e os dados. ListActivity
  • 81.
    Adapter ?? O Adapterpermite que classes com interfaces incompatíveis possam interagir.
  • 82.
    ListActivity •  Um rápidoexemplo… Array com itens do ListView (Lista)
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
    •  Criando aclasse Icones •  Representando cada item da lista
  • 88.
    •  Criando oa classe Icones (Continuação) •  Representando cada item da lista
  • 89.
  • 90.
    •  Criando oa classe IconesAdapter (Continuação) •  Adaptor para a List
  • 91.
    •  Criando oa classe IconesAdapter (Continuação)
  • 92.
    •  Criando oa classe IconesAdapter (Continuação) •  Adaptor para a List
  • 93.
  • 94.
    Configurando o cliqueno item da Lista (ListActivity)
  • 95.
    Mão no CódigoJ •  Crie um novo Projeto: •  Criar uma tela de Login, antes de visualizar a lista de livros; •  Listar livros com imagem da capa, editora, edição e titulo; •  Ao clicar em um item, navegar para a respectiva tela de detalhamento (titulo, autor, capa, resumo); X Java como programar Edição 3 Item da Lista Detalhamento XJava como programar Resumo Resumo Resumo Resumo Resumo Resumo Novatec - Edição Novatec LerExibir: Leitura autorizada
  • 96.
    Intents O Que maiselas podem fazer?
  • 97.
    •  Representa uma“ação”, que será executada pela aplicação em conjunto com o sistema operacional; •  Exemplos: •  Abrir uma nova tela startActivity(intent); •  Efetuar uma ligação; •  Abrir o browser; •  Abrir um mapa; •  ……. Intents
  • 98.
  • 99.
    •  Algumas dasatividades/intenções precisam de autorização/permissão: •  Internet: •  android.permission.INTERNET •  Contatos: •  android.permission.READ_CONTACTS •  Ligação: •  android.permission.CALL_PHONE Intents
  • 100.
  • 101.
    •  Faça umaligação •  Ação: Intent.ACTION_CALL; •  URI: “tel:numerodesejado”; •  android.permission.CALL_PHONE Uri uri= Uri.parse(“tel:88074562”); new Intent(Intent.Action_CALL, uri); startActivity(intent); Fazendo ligação
  • 102.
    •  Adicionar opçãode buscar livros na internet (no google); •  Adicionar opção de ligar para o desenvolvedor da app. Mão no código
  • 103.
  • 104.
    Notifications •  Classe: android.app.Notification • Exibi uma mensagem na barra de status; •  Possui um conteúdo/mensagem; •  Uma Intent pode ser disparada ao clicar; •  Aplicação em segundo plano disparar um Alerta;
  • 105.
  • 106.
    Requisitos Necessários •  IconePequeno •  Titulo •  Mensagem
  • 107.
  • 108.
  • 109.
    Após acionada deve-secancelar a notificação Ou adicionar no onDestroy(), para encerra junto com a Activity que a iniciou!
  • 110.
    Mão no códigoJ •  Faça com que ao abrir a tela de detalhamento de livros uma notificação seja disparada, e caso o usuário clique o mesmo seja redirecionado para o google com a lista de resultados referentes ao nome do livros.