SlideShare ist ein Scribd-Unternehmen logo
1 von 110
Downloaden Sie, um offline zu lesen
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.

Weitere ähnliche Inhalte

Was ist angesagt?

Minicurso de Android
Minicurso de AndroidMinicurso de Android
Minicurso de AndroidEdgar Eler
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidSidney Roberto
 
Como montar o ambiente de desenvolvimento Android
Como montar o ambiente de desenvolvimento AndroidComo montar o ambiente de desenvolvimento Android
Como montar o ambiente de desenvolvimento AndroidWsdevs Desenvolvedores
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para AndroidClaudio Pereira
 
Desenvolvimento móvel com Google Android
Desenvolvimento móvel com Google AndroidDesenvolvimento móvel com Google Android
Desenvolvimento móvel com Google AndroidCaelum
 
Tutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDKTutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDKRonildo Oliveira
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para AndroidJorge Cardoso
 
Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2Matheus Calegaro
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidJosé Alexandre Macedo
 
Desenvolvimento android
Desenvolvimento androidDesenvolvimento android
Desenvolvimento androidDiego Keller
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidRafael Sakurai
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - BásicoHugoDalevedove
 
Baixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdkBaixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdkReuel Lopes
 
Aplicações móveis multi-plataforma com Titanium - Geek Night
Aplicações móveis multi-plataforma com Titanium - Geek NightAplicações móveis multi-plataforma com Titanium - Geek Night
Aplicações móveis multi-plataforma com Titanium - Geek NightEric Cavalcanti
 
Da introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidDa introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidRodolfo Faquin Della Justina
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3Jose Berardo
 
Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03Horacio Diamante Mondlane
 
Configurando o ambiente para desenvolvimento Android
Configurando o ambiente para desenvolvimento AndroidConfigurando o ambiente para desenvolvimento Android
Configurando o ambiente para desenvolvimento AndroidCalebeMiquissene
 

Was ist angesagt? (20)

Minicurso de Android
Minicurso de AndroidMinicurso de Android
Minicurso de Android
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para Android
 
Como montar o ambiente de desenvolvimento Android
Como montar o ambiente de desenvolvimento AndroidComo montar o ambiente de desenvolvimento Android
Como montar o ambiente de desenvolvimento Android
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
 
Desenvolvimento móvel com Google Android
Desenvolvimento móvel com Google AndroidDesenvolvimento móvel com Google Android
Desenvolvimento móvel com Google Android
 
Tutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDKTutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDK
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
 
Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
 
Desenvolvimento android
Desenvolvimento androidDesenvolvimento android
Desenvolvimento android
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao Android
 
Android Studio
Android StudioAndroid Studio
Android Studio
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
 
Baixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdkBaixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdk
 
Aplicações móveis multi-plataforma com Titanium - Geek Night
Aplicações móveis multi-plataforma com Titanium - Geek NightAplicações móveis multi-plataforma com Titanium - Geek Night
Aplicações móveis multi-plataforma com Titanium - Geek Night
 
Da introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidDa introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento Android
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3
 
Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03
 
Configurando o ambiente para desenvolvimento Android
Configurando o ambiente para desenvolvimento AndroidConfigurando o ambiente para desenvolvimento Android
Configurando o ambiente para desenvolvimento Android
 

Andere mochten auch

Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidOrientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidIury Teixeira
 
Análise de aplicativos e sistema Android - 1º Fórum Site Blindado Labs
Análise de aplicativos e sistema Android - 1º Fórum Site Blindado LabsAnálise de aplicativos e sistema Android - 1º Fórum Site Blindado Labs
Análise de aplicativos e sistema Android - 1º Fórum Site Blindado LabsRafael Tosetto Pimentel
 
Exploração da memória interna do Android utilizando Drozer Framework
Exploração da memória interna do Android utilizando Drozer FrameworkExploração da memória interna do Android utilizando Drozer Framework
Exploração da memória interna do Android utilizando Drozer FrameworkSite Blindado Labs
 
Introdução ao marketing de busca
Introdução ao marketing de buscaIntrodução ao marketing de busca
Introdução ao marketing de buscaAllen Gomes Vidal
 
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaAndroid Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaFelipe Silveira
 
Workshop on Android Rom Creation - FISTA/ISCTE 2014
Workshop on Android Rom Creation - FISTA/ISCTE 2014Workshop on Android Rom Creation - FISTA/ISCTE 2014
Workshop on Android Rom Creation - FISTA/ISCTE 2014Flávio Moringa
 
Aula05 android persistencia
Aula05 android persistenciaAula05 android persistencia
Aula05 android persistenciaRoberson Alves
 
Google Cloud Messaging for Android
Google Cloud Messaging for AndroidGoogle Cloud Messaging for Android
Google Cloud Messaging for Androidedilsonmendes
 
Aula07 android conectividade
Aula07 android conectividadeAula07 android conectividade
Aula07 android conectividadeRoberson Alves
 
Android Banco de Dados
Android Banco de DadosAndroid Banco de Dados
Android Banco de DadosAlex Braz
 
Descubra o potencial do seu smartphone Android
Descubra o potencial do seu smartphone AndroidDescubra o potencial do seu smartphone Android
Descubra o potencial do seu smartphone AndroidFlavio Mendes
 
Google Android - WTJatai
Google Android - WTJataiGoogle Android - WTJatai
Google Android - WTJataiCaelum
 
Desenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidDesenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidJosé Alexandre Macedo
 
Acessando Banco de Dados com o Android
Acessando Banco de Dados com o AndroidAcessando Banco de Dados com o Android
Acessando Banco de Dados com o AndroidFernando Anselmo
 
Release Notes Versao 2.16
Release Notes Versao 2.16Release Notes Versao 2.16
Release Notes Versao 2.16Plataforma CORE
 
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google androidDesenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google androidLucas Aquiles
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceRicardo Rufino
 
Consumindo dados via web service no android
Consumindo dados via web service no androidConsumindo dados via web service no android
Consumindo dados via web service no androidAlexandre Antunes
 
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneEntenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneHenrique Perticarati
 

Andere mochten auch (20)

Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidOrientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores Android
 
Análise de aplicativos e sistema Android - 1º Fórum Site Blindado Labs
Análise de aplicativos e sistema Android - 1º Fórum Site Blindado LabsAnálise de aplicativos e sistema Android - 1º Fórum Site Blindado Labs
Análise de aplicativos e sistema Android - 1º Fórum Site Blindado Labs
 
Exploração da memória interna do Android utilizando Drozer Framework
Exploração da memória interna do Android utilizando Drozer FrameworkExploração da memória interna do Android utilizando Drozer Framework
Exploração da memória interna do Android utilizando Drozer Framework
 
Introdução ao marketing de busca
Introdução ao marketing de buscaIntrodução ao marketing de busca
Introdução ao marketing de busca
 
API Geolocation
API GeolocationAPI Geolocation
API Geolocation
 
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaAndroid Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
 
Workshop on Android Rom Creation - FISTA/ISCTE 2014
Workshop on Android Rom Creation - FISTA/ISCTE 2014Workshop on Android Rom Creation - FISTA/ISCTE 2014
Workshop on Android Rom Creation - FISTA/ISCTE 2014
 
Aula05 android persistencia
Aula05 android persistenciaAula05 android persistencia
Aula05 android persistencia
 
Google Cloud Messaging for Android
Google Cloud Messaging for AndroidGoogle Cloud Messaging for Android
Google Cloud Messaging for Android
 
Aula07 android conectividade
Aula07 android conectividadeAula07 android conectividade
Aula07 android conectividade
 
Android Banco de Dados
Android Banco de DadosAndroid Banco de Dados
Android Banco de Dados
 
Descubra o potencial do seu smartphone Android
Descubra o potencial do seu smartphone AndroidDescubra o potencial do seu smartphone Android
Descubra o potencial do seu smartphone Android
 
Google Android - WTJatai
Google Android - WTJataiGoogle Android - WTJatai
Google Android - WTJatai
 
Desenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidDesenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma Android
 
Acessando Banco de Dados com o Android
Acessando Banco de Dados com o AndroidAcessando Banco de Dados com o Android
Acessando Banco de Dados com o Android
 
Release Notes Versao 2.16
Release Notes Versao 2.16Release Notes Versao 2.16
Release Notes Versao 2.16
 
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google androidDesenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDevice
 
Consumindo dados via web service no android
Consumindo dados via web service no androidConsumindo dados via web service no android
Consumindo dados via web service no android
 
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneEntenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
 

Ähnlich wie Aulas Google Android

Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o AndroidHeider Lopes
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma AndroidÉdipo Souza
 
Treinamento básico de Android
Treinamento básico de AndroidTreinamento básico de Android
Treinamento básico de AndroidTiago Barreto
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma AndroidNatanael Fonseca
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao androidMessias Batista
 
Android: Por onde começar ?
Android: Por onde começar ?Android: Por onde começar ?
Android: Por onde começar ?GDGFoz
 
Introdução ao android e plataforma android
Introdução ao android e plataforma androidIntrodução ao android e plataforma android
Introdução ao android e plataforma androidJuarez Junior
 
Curso Android 01: Introdução
Curso Android 01: IntroduçãoCurso Android 01: Introdução
Curso Android 01: IntroduçãoAline Borges
 
Curso de Android - Módulo 02
Curso de Android - Módulo 02Curso de Android - Módulo 02
Curso de Android - Módulo 02Luiz Duarte
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android NooclixIury Teixeira
 
Aula01 - introdução, Activity
Aula01 - introdução,  ActivityAula01 - introdução,  Activity
Aula01 - introdução, ActivityArthur Emanuel
 
Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Laís Vidal
 
Android Palestra
Android PalestraAndroid Palestra
Android PalestraRenato
 
Aplicações com Tecnologias Web
Aplicações com Tecnologias WebAplicações com Tecnologias Web
Aplicações com Tecnologias WebRildo Pragana
 
Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao androidPaulo Remoli
 

Ähnlich wie Aulas Google Android (20)

Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o Android
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
 
Treinamento básico de Android
Treinamento básico de AndroidTreinamento básico de Android
Treinamento básico de Android
 
Apresentação Google Android
Apresentação Google AndroidApresentação Google Android
Apresentação Google Android
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
 
Android: Por onde começar ?
Android: Por onde começar ?Android: Por onde começar ?
Android: Por onde começar ?
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Android
AndroidAndroid
Android
 
Introdução ao android e plataforma android
Introdução ao android e plataforma androidIntrodução ao android e plataforma android
Introdução ao android e plataforma android
 
Curso Android 01: Introdução
Curso Android 01: IntroduçãoCurso Android 01: Introdução
Curso Android 01: Introdução
 
Curso de Android - Módulo 02
Curso de Android - Módulo 02Curso de Android - Módulo 02
Curso de Android - Módulo 02
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Curso Básico Android - Aula 01
Curso Básico Android - Aula 01Curso Básico Android - Aula 01
Curso Básico Android - Aula 01
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android Nooclix
 
Aula01 - introdução, Activity
Aula01 - introdução,  ActivityAula01 - introdução,  Activity
Aula01 - introdução, Activity
 
Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012
 
Android Palestra
Android PalestraAndroid Palestra
Android Palestra
 
Aplicações com Tecnologias Web
Aplicações com Tecnologias WebAplicações com Tecnologias Web
Aplicações com Tecnologias Web
 
Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao android
 

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 o sistema 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
  • 4.
  • 5. Android Sistema Operacional Android, Inc. Open Source Código Proprietário? Java !?Linux
  • 6. 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
  • 7.
  • 9. Mercado do Android 2013 78,4 % de aparelhos com AndroidOS 15,6 % iOS
  • 10. 2014 – previsão – Fonte : Gartner
  • 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 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
  • 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;
  • 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 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;
  • 27. SDK Manager •  Local onde pode ser feito o download de: •  APIs •  Ferramentas •  bibliotecas de terceiros •  Documentação, exemplos e código
  • 28. AVD Manager •  Android Virtual Device •  Gerenciador de máquinas(devices) virtuais
  • 29. •  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
  • 30. 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
  • 31. Novo projeto usando o Eclipse ADT •  File > New > Android Application Project
  • 32. Template da Activity •  Necessita de Fragments versão 11 ou superior (mínimo)
  • 34. 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)
  • 35. 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
  • 36. O que significa essas linhas? Pode ser executada isoladamente, ponto inicial A Activity estará na tela inicial AndroidManifest.xml
  • 38. 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;
  • 40. • /res/values/string.xml •  Muito importante para 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
  • 44. Pixel?? Um pixel é o menor ponto físico da tela de um dispositivo É o elemento pelo qual as imagens são criadas.
  • 46. Tendo como densidade base do dispositvo alvo 160dpi, qual tamanho fisico teria as outras imagens (nas pastas drawable’s)?
  • 47. 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)?
  • 48. Todos os recursos devem ter: nomes minusculos e sem espaços. Caso não siga a regra a classe R não será compilada.
  • 51. Executando o projeto Botão direito no projeto e siga os passos abaixo:
  • 53. Capturando componentes Arquivo Java ( Principal.java ) Arquivo XML ( layout/main.xml )
  • 55. 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
  • 57.
  • 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 InputType do EditText http://developer.android.com/guide/topics/ui/controls/text.html
  • 60. Tipos de InputType do 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;
  • 63. 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();
  • 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 herdar de 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 de pause: - Ligação Activity encerrada pelo sistema
  • 71. •  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
  • 72. •  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
  • 73. •  Para enviar parâmetros •  É similar a um HashMap; Valor Boolean De forma abreviada
  • 74. Captando resultados de outras telas
  • 75. Iniciando outra tela esperando resposta
  • 76. •  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();
  • 77. •  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.
  • 78. 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)
  • 80. •  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
  • 81. Adapter ?? O Adapter permite que classes com interfaces incompatíveis possam interagir.
  • 82. ListActivity •  Um rápido exemplo… Array com itens do ListView (Lista)
  • 87. •  Criando a classe Icones •  Representando cada item da lista
  • 88. •  Criando o a classe Icones (Continuação) •  Representando cada item da lista
  • 90. •  Criando o a classe IconesAdapter (Continuação) •  Adaptor para a List
  • 91. •  Criando o a classe IconesAdapter (Continuação)
  • 92. •  Criando o a classe IconesAdapter (Continuação) •  Adaptor para a List
  • 93. Configurando a Activity de Exibição
  • 94. Configurando o clique no item da Lista (ListActivity)
  • 95. 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
  • 96. Intents O Que mais elas 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
  • 99. •  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
  • 101. •  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
  • 102. •  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
  • 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;
  • 106. Requisitos Necessários •  Icone Pequeno •  Titulo •  Mensagem
  • 109. Após acionada deve-se cancelar a notificação Ou adicionar no onDestroy(), para encerra junto com a Activity que a iniciou!
  • 110. 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.