![Page 1: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/1.jpg)
114/09/11 ENUCOMP - 2011
![Page 2: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/2.jpg)
Apresentação
2
Cândido Sales •Estudante do IFPI;•Membro do LIMS;
Lucas Aquiles•Estudante do IFPI;
Apresentação
14/09/11 ENUCOMP - 2011
![Page 3: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/3.jpg)
Introdução a Computação móvelIntrodução a Computação móvel
314/09/11 ENUCOMP - 2011
![Page 4: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/4.jpg)
4
Computação MóvelRealizada em dispositivos portáteis que sejam
capazes de acessar uma rede sem fio.
Por usuários móveis (com diferentes velocidades)
Acesso à informação a qualquer lugar, a qualquer momento
Termos relacionados:
– Computação Pervasiva
– Computação Ubíqua
14/09/11 ENUCOMP - 2011
![Page 5: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/5.jpg)
Dos Mainsframes à computação móvel
14/09/11 ENUCOMP - 2011
![Page 6: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/6.jpg)
Computação Pervasiva
Computação Pervasiva: acesso conveniente a informações relevantes e a habilidade de realizar ações sobre as mesmas quando e onde for necessário (IBM).
“Espalhada por todos os lugares”
14/09/11 ENUCOMP - 2011
![Page 7: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/7.jpg)
Computação Pervasiva
Projeto Everywhere Display (IBM)
– Qualquer superfície pode se tornar em uma projeção do tipo “touch screen”
14/09/11 ENUCOMP - 2011
![Page 8: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/8.jpg)
Computação Ubíqua
Computação Ubíqua:
– onipresença da informática no cotidiano das pessoas (Wikipédia)
– ... tornam-se parte da nossa vida de forma que não os percebemos mais (Mark Weiser)
– Baseia-se na detecção de gestos, movimentos, fala, movimentação dos olhos...
14/09/11 ENUCOMP - 2011
![Page 9: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/9.jpg)
Computação Ubíqua
Ex: Casa do “futuro”:
• Sistema automático de iluminação
• Sistemas de extinção e prevenção de incêndios
• Monitoramento de saúde dos ocupantes da casa
• Geladeira que perceba variações de estoque e validade dos produtos
• Celular que envia dados de “coletados” a uma central médica
14/09/11 ENUCOMP - 2011
![Page 10: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/10.jpg)
14/09/11 ENUCOMP - 2011
Computação Ubíqua
![Page 11: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/11.jpg)
Juntando tudo
14/09/11 ENUCOMP - 2011
![Page 12: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/12.jpg)
Princípios da Computação Móvel
Descentralização
Diversificação
Conectividade
Simplicidade
14/09/11 ENUCOMP - 2011
![Page 13: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/13.jpg)
Princípio da Descentralização
Um passo além da descentralização dos sistemas distribuídos;
Uma grande variedade de pequenos dispositivos cooperam estabelecendo uma rede dinâmica de relacionamentos;
A habilidade de utilizar aplicações e informações em dispositivos móveis gera a necessidade de sincronização de atualizações de dados com sistemas servidores e outros dispositivos.
14/09/11 ENUCOMP - 2011
![Page 14: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/14.jpg)
Princípio da Diversificação
Mesma informação em diferentes “modelos”
14/09/11 ENUCOMP - 2011
![Page 15: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/15.jpg)
Princípio da Conectividade
Uma grande variedade de tecnologias deve ser atendida:
– redes celulares, WLANs, Bluetooth, IrDA, WiMax, comunicação via satélite, etc. . .
Não basta apenas conectar os dispositivos:
– Troca de dados
– Descoberta de serviços
– Delegação de tarefas
14/09/11 ENUCOMP - 2011
![Page 16: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/16.jpg)
Princípio da Simplicidade
Computadores de uso geral: configuração complexa
“Computadores” móveis: mais específicos e mais simples em configuração
Simples não significa primitivo:– telas touch-screen,– reconhecimento de escrita,– reconhecimento de voz– etc
14/09/11 ENUCOMP - 2011
![Page 17: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/17.jpg)
Requisitos de Aplicação• Infra-estrutura:
- Cobertura(indoor, outdoor, acesso a alta/baixa velocidade)
- Qualidade da comunicação
- Confiabilidade e estabilidade da comunicação
- Segurança
• Dispositivo Móvel
– Forma de interação (grafico, textual, voz)
– Capacidade de identificar localização
– Capacidade de processamento e armazenamento locais
• Serviços Middleware
– Suporte à criptografia e autenticação
– QoS (Quality of Service)
– Descoberta e adaptação a novos serviços e recursos
14/09/11 ENUCOMP - 2011
![Page 18: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/18.jpg)
Aceitação das Tecnologias
Tempo para atingir 1 milhão de usuários:
– TV preto-banco: 20 anos
– TV em cores: 9 anos
– VCR: 8 anos
– PC: 6 anos
– Celular: 2 anos e meio
Dos 128 milhões de PCs vendidos em 2001, 22% eram laptops e este percentual tem crescido 1 a 2 pontos por ano desde 1999;
Acessos à Internet por meio de dispositivos móveis ultrapassou os acessos convencionais (PC e Browser) desde meados de 2002.
14/09/11 ENUCOMP - 2011
![Page 19: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/19.jpg)
Algumas aplicações de computação móvel
Négocios diversos: m-commerce e m-business
• Acesso à Internet por viajantes: transferência de arquivos, Web, acesso remoto…;
• Comércio: vendedores ambulantes;
• Tratamento Médico emergencial: transmissão do prontuário de/para ambulância (ou local do acidente);
• Segurança: consulta e obtenção de ficha criminal;
• Seguradoras: avaliação de sinistro;
• Serviços de resgate: coordenação das atividades de resgate;
• Aplicações Militares: coordenação de ações;
Gerenciamento de frota e Gerenciamento de bens;
14/09/11 ENUCOMP - 2011
![Page 20: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/20.jpg)
Serviços baseados em localização
Serviços de emergência: usuários entram em contato com uma central (E911) e é localizado;
• Informações de tráfego;
• Navegação: Como ir do ponto A ao ponto B?
• Gerenciamento de frota;
• Gerenciamento de bens;
• Publicidade sem fio: usuários podem subscrever serviços que os notifiquem a respeito de certos produtos quando adentrarem uma dada região;
• Serviços de busca: restaurantes, postos de gasolina, hotéis próximos;
• Localização automática de veículos;
• Mapas;
• Informações de trânsito;
• Jogos.
14/09/11 ENUCOMP - 2011
![Page 21: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/21.jpg)
Impacto da Computação MóvelRepresenta um novo paradigma computacional,ampliando os
conceitos da computação distribuída
– Áreas com diversas implicações:
Redes de Computadores
Sistemas Operacionais
Banco de Dados
Ambientes de Programação
etc. . .
Mudanças sociais?
14/09/11 ENUCOMP - 2011
![Page 22: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/22.jpg)
Difusão da Tecnologia celular
14/09/11 ENUCOMP - 2011
![Page 23: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/23.jpg)
14/09/11 ENUCOMP - 2011
Difusão da Tecnologia celular
![Page 24: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/24.jpg)
Difusão da Tecnologia celular
14/09/11 ENUCOMP - 2011
![Page 25: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/25.jpg)
14/09/11 ENUCOMP - 2011
Difusão da Tecnologia celular
![Page 26: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/26.jpg)
Difusão da Tecnologia celular
14/09/11 ENUCOMP - 2011
![Page 27: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/27.jpg)
14/09/11 ENUCOMP - 2011
Difusão da Tecnologia celular
![Page 28: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/28.jpg)
14/09/11 ENUCOMP - 2011
Difusão da Tecnologia celular
![Page 29: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/29.jpg)
14/09/11 ENUCOMP - 2011
Difusão da Tecnologia celular
![Page 30: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/30.jpg)
14/09/11 ENUCOMP - 2011
Difusão da Tecnologia celular
![Page 31: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/31.jpg)
14/09/11 ENUCOMP - 2011
Difusão da Tecnologia celular
![Page 32: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/32.jpg)
Visão GeralVisão Geral
III SACIC - 2011 3214/09/11 ENUCOMP - 2011
![Page 33: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/33.jpg)
Roteiro
1. Mundo mobile
2. O que é o Android;
3. Open Handset Alliance;
4. Android e os competidores;
5. Por que Linux no Android?;
6. Dalvik Virtual Machine;
7. Instalando as ferramentas do Android;
8. Projeto “Meu HelloWord”
9. Componentes;
14/09/11 ENUCOMP - 2011
![Page 34: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/34.jpg)
Mundo mobile
Mercado de celulares
Usuários querem mais recursos em seus dispositivos
Aplicações móveis no mundo coorporativo
Necessidade de plataformas mais modernas para desenvolvimento de aplicações no auxilio de seus negócios e lucros.
14/09/11 ENUCOMP - 2011
![Page 35: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/35.jpg)
O que é Android?
Sistema operacional baseado no kernel do Linux;
Possui uma implementação da JVM – Dalvik;
Código aberto e livre;Plataforma flexível e poderosíssima de
desenvolvimentoCustomizavel
14/09/11 ENUCOMP - 2011
![Page 36: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/36.jpg)
Android e os competidores
IPhone
JME
Symbiam
BlackBerry
WindowsMobile
14/09/11 ENUCOMP - 2011
![Page 37: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/37.jpg)
Porque Linux no android?
Construída sob o kernel 2.6 do Linux
Gerencia memória e processos
Abstração de hardware
Usuários não vêem o Linux e seus programas não fazem chamas diretas a ele.
Suporte a gráficos 3D, especificação 1.0 da OpenGL ES, possível criar jogso com ótima qualidade.
14/09/11 ENUCOMP - 2011
![Page 38: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/38.jpg)
Open Handset Alliance
União entre grandes da telefonia liderados pelo Google (OHA – Open Handset Alliance)
Definir uma plataforma única e abertaPlataforma moderna e flexível para
desenvolvimento de aplicaçõesFabricantes, Usuários e
Desenvolvedores se beneficiam com o grupo
14/09/11 ENUCOMP - 2011
![Page 39: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/39.jpg)
Dalvik Virtual Machine
JVM ótimizada para execução de dispositivos móveis – Dalvik
Bytecodes (arquivo .class) são convertidos em arquivo .dex (Dalvik Executable) – Aplicação android compilada
Compactação dos arquivos .dex e recursos como imagens em arquivos .apk (Android Package File) – Aplicação Final
14/09/11 ENUCOMP - 2011
![Page 40: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/40.jpg)
Instalando as ferramentas do Android
Requisitos1.Java SDK2.Android SDK3.Eclipse IDE4.Plugin ADT
14/09/11 ENUCOMP - 2011
![Page 41: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/41.jpg)
Configuração do ambiente
1. Escolher a versãodo JDK
2.Aceite os termos
3.Escolher a versãopara seu S.O
14/09/11 ENUCOMP - 2011
![Page 42: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/42.jpg)
Configuração do ambiente
Instalação do JDK no Linux (Ubuntu)Com o comando apt-get:sudo apt-get install openjdk-6-jdk && sudo apt-get
install sun-java6-jdk
Após a instalação entre via console e digite: java –v
A saída deve ser a versão do java instalado.
14/09/11 ENUCOMP - 2011
![Page 43: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/43.jpg)
Instalação do Android SDK
1. no site www.android.com escolher a opção developers
14/09/11 ENUCOMP - 2011
![Page 44: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/44.jpg)
Instalação do Android SDK
2. Escolha a opção SDK
3. Baixe o android SDK de acordo com o seu S.O
A versão atual é a 3.2 (para tablet) e 2.3.3 (para smartphone)14/09/11 ENUCOMP - 2011
![Page 45: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/45.jpg)
Instalação do Android SDK
Localize o arquivo e descompacte-o.
No windows basta executar o arquivo “SDK Manager.exe” localizado na pasta raiz do sdk
No linux ou Mac, acesse pelo terminal a pasta raiz do sdk e execute o comando ./tools/android
14/09/11 ENUCOMP - 2011
![Page 46: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/46.jpg)
Instalação do Android SDK
irá aparacer o Android SDK e o AVD (android vitual device) Manager.
14/09/11 ENUCOMP - 2011
![Page 47: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/47.jpg)
Instalação do Android SDK
Vá em “Available Packages”, marque a opção “AndroidRepository” e clique em “Install Selected”
14/09/11 ENUCOMP - 2011
![Page 48: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/48.jpg)
Instalação do Android SDK
Uma lista com todos os componentes disponíveis, incluindo documentação, plataformas, add-on, bibliotecas será exibida.
14/09/11 ENUCOMP - 2011
![Page 49: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/49.jpg)
Instalação do Android SDK
Caso ocorra algum erro de HTTPS SSL, vá em "settings“, marque a opção "Force https:// sources to be fetched using http://" e clique em "Save & Apply".
14/09/11 ENUCOMP - 2011
![Page 50: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/50.jpg)
Instalação do Android SDK
Aceite todos e clique em “install”
14/09/11 ENUCOMP - 2011
![Page 51: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/51.jpg)
Instalação e Configuração do Eclipse IDE
1. Acesse o site www.eclipse.org e vá na sessão “Downlods”
2. Escolha a versão do Eclipse IDE for Java Developers
14/09/11 ENUCOMP - 2011
![Page 52: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/52.jpg)
Instalação e Configuração do Eclipse IDE
Faça o download
14/09/11 ENUCOMP - 2011
![Page 53: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/53.jpg)
Instalação e Configuração do Eclipse IDE
Após o download localize o arquivo , descompacte-o e execute o arquivo “eclipse.exe”
No ubunto é apenas “eclipse”
14/09/11 ENUCOMP - 2011
![Page 54: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/54.jpg)
Instalação do plugin ADT
Inicie o eclipse e vá em “help”, “install new software”
14/09/11 ENUCOMP - 2011
![Page 55: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/55.jpg)
Instalação do plugin ADT
Clique em add e uma nova janela irá aparecer
Em “name” coloque “ADT Plugin” e em “location” adicione https://dl-ssl.google.com/android/eclipse/ e clique em “ok”
14/09/11 ENUCOMP - 2011
![Page 56: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/56.jpg)
Instalação do plugin ADT
Selecione “ADT Plugin” na lista de sites, marque a opção “Developers Tools” e clique em “next”.
14/09/11 ENUCOMP - 2011
![Page 57: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/57.jpg)
Instalação do plugin ADT
Irá aparecer uma lista com todos os item a serem instalados.
Clique em "Next" novamente. Na próxima tela, escolha a opção "I accept the the terms of the licence agreements" e clique em 'Finish'.
Após o processo de instação do plugin o Eclipse irá reiniciar.
14/09/11 ENUCOMP - 2011
![Page 58: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/58.jpg)
Instalação do plugin ADT
Quando o Eclipse IDE iniciar uma mensagem de erro irá aparecer, porque a IDE não consegue localizar o Android SDK
Vá em Window, Preferences, Android. Clique em 'Browse..‘, selecione a raiz do SDK e clique em 'OK‘.
14/09/11 ENUCOMP - 2011
![Page 59: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/59.jpg)
Criando uma ADV
Abra o “SDK e ADV Manager” e em Virtual Devices clique em “new”
14/09/11 ENUCOMP - 2011
![Page 60: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/60.jpg)
Criando uma ADV
Adicione as informações como na imagem e clique em “Create ADV”
14/09/11 ENUCOMP - 2011
![Page 61: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/61.jpg)
Criando uma ADV
Criamos uma ADV com o nome “enucomp”
Que possui o firmeware 2.2 e também possui o Secure Digital Card (SD) e o Skin Default Half-VGA – HVGA (320 x 480)
14/09/11 ENUCOMP - 2011
![Page 62: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/62.jpg)
Pronto! Nosso ambiente está pronto para desenvolvimento.
14/09/11 ENUCOMP - 2011
![Page 63: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/63.jpg)
Projeto “Meu HelloWord”
O plugin ADT vem com uma aplicação HelloWord de exemplo, vamos usá-la
Vá em “file” > “Project” > “new project”.
Vá em “android” > “android project” e clique em “next”
Em Project Name digite: HelloAndroid
No Build Target: Android 2.2
Application Name : Hello, Android
Package name: br.ifpi.edu.hello
Create Activity: Hello
E clique em “finish”
14/09/11 ENUCOMP - 2011
![Page 64: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/64.jpg)
Projeto “Meu HelloWord”
Um estrutura de diretórios como a mostrada abaixo será criada
14/09/11 ENUCOMP - 2011
![Page 65: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/65.jpg)
Projeto “Meu HelloWord”
Para executar clique com o botão direito em cima do projeto e escolha “run as” > “android application”
14/09/11 ENUCOMP - 2011
![Page 66: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/66.jpg)
Projeto “Meu HelloWord”
14/09/11 ENUCOMP - 2011
![Page 67: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/67.jpg)
ActivityActivity
III SACIC - 2011 6714/09/11 ENUCOMP - 2011
![Page 68: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/68.jpg)
ActivityUma tela pode ser criada de duas formas:
– Em um arquivo XML
– Direto em um arquivo Java usando a sua API
android.app.Activity:
– Similar à classe JFrame do Swing
– Representa, à priori, uma tela da aplicação
– Composta por vários componentes representados pela classe andoid.view.View (botões, checkboxes, imagens)
– Controla a passagem de parâmetros para outra tela
– Define métodos para tratar eventos dos componentes
14/09/11 ENUCOMP - 2011
![Page 69: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/69.jpg)
Activity
14/09/11 ENUCOMP - 2011
![Page 70: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/70.jpg)
View
São componentes simples (botões, checkboxes, imagens) ou componentes compostos
– Atuam como gerenciadores de layout
– Podem conter várias views filhas (outro componentes)
O arquivo main.xml é um arquivo de layout padrão
Vários layouts podemser definidos
14/09/11 ENUCOMP - 2011
![Page 71: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/71.jpg)
Setando a View Principal
O médoto setContentView faz a ligação entre a activity e a view
A view passada como parâmetro está definida no arquivo main.xml (pode ser mudado)
– é referenciada via o arquivo R.java como uma constante
14/09/11 ENUCOMP - 2011
![Page 72: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/72.jpg)
A classe R
14/09/11 ENUCOMP - 2011
![Page 73: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/73.jpg)
AndroidManifest.xml
Base da aplicação e semelhante ao web.xml de aplicações WEB
14/09/11 ENUCOMP - 2011
![Page 74: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/74.jpg)
AndroidManifest.xml
As Activities devem ser definidas no arquivo
Para que o usuário possa interagir, pelo menosuma Activity deve ser definida no arquivo
A configuração de uma Activity como ponto de partida para a aplicação é ilustrada abaixo:
14/09/11 ENUCOMP - 2011
![Page 75: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/75.jpg)
Criação de interface via Java
Pode-se definir uma interface visual via codificação java
14/09/11 ENUCOMP - 2011
![Page 76: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/76.jpg)
Referenciando componentes
Sempre que possível, atribua um ID aos componentes
14/09/11 ENUCOMP - 2011
![Page 77: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/77.jpg)
Referenciando componentes
Adicionar IDs aos componentes permitem acesso via codificação
14/09/11 ENUCOMP - 2011
![Page 78: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/78.jpg)
Tratando o clique de um botão
Para tratar eventos de um botão, deve-se:
– Obter o componente pelo ID
– Instanciar um listener
– Setar o listener no botão
– Implementar o método onClick
14/09/11 ENUCOMP - 2011
![Page 79: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/79.jpg)
Exemplo
14/09/11 ENUCOMP - 2011
![Page 80: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/80.jpg)
Gerando Logs
14/09/11 ENUCOMP - 2011
![Page 81: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/81.jpg)
Gerando Logs
Usa-se a classe Log e seus métodos estáticos:
14/09/11 ENUCOMP - 2011
![Page 82: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/82.jpg)
ComponentesComponentes
III SACIC - 2011 8214/09/11 ENUCOMP - 2011
![Page 83: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/83.jpg)
Roteiro
1. ScrollView;2. MapView;3. ListView;4. ImageView;5. ContextMenu;6. Autocomplete;7. Tables;8. Buttons (ImageButton, GroupButton, Button);9. “CSS”;10.Tratamento de eventos11.Apresentação de exemplos
14/09/11 ENUCOMP - 2011
![Page 84: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/84.jpg)
ScrollView
A classe android.widget.ScrollView deve ser utilizada para telas que contêm muitos elementos e nas quais seja necessário fazer a rolagem da tela.Exemplo
exemplo_scrollview.xml ExemploScrollView
14/09/11 ENUCOMP - 2011
![Page 85: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/85.jpg)
MapView
Para visualização de mapas;Para utilizar um MapView, basta definir a tag
<com.google.android.maps.MapView> e informar no atributo android:apiKey uma chave de autenticação válida para o Google Maps.
Exemplo Mapview.xml MapaSimplesXML
14/09/11 ENUCOMP - 2011
![Page 86: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/86.jpg)
ListView
Desenha os componentes em uma lista vertical e com barra de rolagem (scroll), se necessário.Necessita da classe android.app.ListActivity,
uma acitivy especial para exibir uma lista de itens na vertical.
Exemplo Prático! Pág. 113
14/09/11 ENUCOMP - 2011
![Page 87: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/87.jpg)
ImageView
Apresenta uma imagem que você selecionou.
14/09/11 ENUCOMP - 2011
![Page 88: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/88.jpg)
Context Menu
Menu contextuado que pode ser utilizado em qualquer momento de sua aplicação.Exemplo
Pág 253
14/09/11 ENUCOMP - 2011
![Page 89: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/89.jpg)
Autocomplete
Um recurso muito usado em aplicações web
São campos de texto que podem completar automaticamente o texto que o usuário está digitando.
Para usar o AutoCompleteTextView é necessário chamar o método setAdapter(adaptador) e informar sua implementação de ListAdapter.
Exemplo Pág 221
14/09/11 ENUCOMP - 2011
![Page 90: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/90.jpg)
Tabs
• Conceitos1. TabHost – Componente que agrupa os
butões e o contéudo
1. TabWidget – Grupa em linha os butões que possuem labels e ícones (opcional)
1. FrameLayout – Agrupa o conteúdo de uma aba
14/09/11 ENUCOMP - 2011
![Page 91: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/91.jpg)
Tabs
• Estrutura
14/09/11 ENUCOMP - 2011
![Page 92: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/92.jpg)
Usando TabActivity
• Crie uma nova Activity que extenda de TabActivity e implementa as interfaces OnTabChangeListener e TabContentFactory
14/09/11 ENUCOMP - 2011
![Page 93: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/93.jpg)
Usando TabActivity
• Crie dois novos layouts xml do android com os nomes tab1.xml tab2.xml e adicione um TextView a cada layout
• E altere o setContentView() das activitys Tab1.class e Tab2.class para eles.
14/09/11 ENUCOMP - 2011
![Page 94: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/94.jpg)
Nova tab pelo XML do Android
Crie um novo layout XML - tabs.xml
Crie uma nova acvitivy - Tabs.java que estenda de Activity
Adicione a activity ao AndroidManifest.xml
Altere o método setContentView(R.layout.tabs))
14/09/11 ENUCOMP - 2011
![Page 95: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/95.jpg)
Nova tab pelo XML do Android
Sua activity deve está assim
14/09/11 ENUCOMP - 2011
![Page 96: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/96.jpg)
Nova tab pelo XML do Android
Altere o arquivo tab.xml
14/09/11 ENUCOMP - 2011
![Page 97: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/97.jpg)
Nova tab pelo XML do Android
Altere o arquivo Tab.java
14/09/11 ENUCOMP - 2011
![Page 98: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/98.jpg)
Nova tab pelo XML do Android
Altere o arquivo AndroidManifest para que a activity Tabs.java seja iniciada no início da aplicação
14/09/11 ENUCOMP - 2011
![Page 99: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/99.jpg)
Buttons
As classes android.widget.Button e android.widget.ImageButton são utilizadas para criar um botão na tela.A diferença é que a classe ImageButton
permite usar uma imagem para desenhar no botão.
Exemplo Pág 223
14/09/11 ENUCOMP - 2011
![Page 100: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/100.jpg)
“CSS”
Podemos utilizar os arquivos XML como extensões de estilos que podem ser reutilizados em vários layouts, sem necessitar a repetição de código.Exemplo
Guia Turistico
14/09/11 ENUCOMP - 2011
![Page 101: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/101.jpg)
Ciclo de vidaCiclo de vida
III SACIC - 2011 10114/09/11 ENUCOMP - 2011
![Page 102: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/102.jpg)
17/05/11 III SACIC - 2011
Ciclo de vida de uma activity
14/09/11 ENUCOMP - 2011
![Page 103: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/103.jpg)
17/05/11 III SACIC - 2011
onCreate:
– Obrigatório e chamado uma única vez.
– Deve-se setar a view
• onStart: é chamado quando uma activity está ficando visível e já tem uma view definida
• onRestart: chamado quando uma activity foi parada temporariamente e está retornando à execução
• onResume:
– Quando uma activity está executando.
– Pode ser chamada também para recuperação de dados quando foi interrompida e volta a execução
Ciclo de vida de uma activity
14/09/11 ENUCOMP - 2011
![Page 104: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/104.jpg)
17/05/11 III SACIC - 2011
onPause: chamado quando a activity está sendo tirada do topo da execução. Usado para salvar o estado da aplicação
onStop:
– A aplicação não está mais visível e está em segundo plano.
– Caso fique por muito tempo em 2o Plano e falte recursos, o S.O. pode remover completamente da pilha de execução
onDestroy: encerra literalmente a activity
Ciclo de vida de uma activity
14/09/11 ENUCOMP - 2011
![Page 105: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/105.jpg)
Activities x IntentsActivities x Intents
III SACIC - 2011 10514/09/11 ENUCOMP - 2011
![Page 106: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/106.jpg)
Activities x Intents
Activities são as "telas"Uma aplicação pode ter várias activities:– geralmente independentes,– contudo elas podem precisar se cooperar e
trocar dados entre siNuma aplicação tradicional, uma activity deve
ser definida como "main" e será executada ao rodar a aplicação
Indo de uma activity para outra é possível pedindo para a atual executar uma intent
14/09/11 ENUCOMP - 2011
![Page 107: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/107.jpg)
Intents
14/09/11 ENUCOMP - 2011
![Page 108: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/108.jpg)
Intents
android.content.Intent
• Representa uma mensagem da aplicação para o S.O.
• Solicita que algo seja realizado e serve para integrar aplicações
• Ex:
– Chamar outra tela (já visto)
– Solicitar que o S.O. ligue para um número;
– Abrir o browser em um determinado endereço
– Exibir algum endereço, localização ou rota num mapa
– Executar processamento em segundo plano
– Enviar mensagem para outras aplicações realizarem tarefas específicas
14/09/11 ENUCOMP - 2011
![Page 109: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/109.jpg)
Intents
São chamadas pelos métodos:
startActivity(intent) = Executa uma activity
starActivityForResult(intent) = Executa uma activity quepode retornar valores
startService(intent) or bindService(intent, …) = Inicia ou se comunica comum serviço de segundo plano
sendBroadcast(intent) = Envia uma intent que podeser "capturada" por serviçosespecíficos
14/09/11 ENUCOMP - 2011
![Page 110: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/110.jpg)
Alguns tipos de Intents pré-definidos
14/09/11 ENUCOMP - 2011
![Page 111: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/111.jpg)
Permissões
Algumas intents necessitam de permissão explicita para executar
Deve-se adicionar as permissões no arquivo AndroidManifest.xml
14/09/11 ENUCOMP - 2011
![Page 112: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/112.jpg)
Usando Intents pré-definidas
14/09/11 ENUCOMP - 2011
![Page 113: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/113.jpg)
Algumas permissões
Permissão para executar navegação: INTERNET
Ligações telefônicas: CALL_PHONE
Leitura à lista de contatos: READ_CONTACTS
14/09/11 ENUCOMP - 2011
![Page 114: Desenvolvimento de aplicações para a plataforma google android](https://reader035.vdocuments.pub/reader035/viewer/2022062319/55397ffd550346722e8b4a5a/html5/thumbnails/114.jpg)
Intent chamar navegador
Tipo ACTION_VIEW
...
Uri uri = Uri.parse("http://www.android.com");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
...
É necessária a permissão INTERNET
14/09/11 ENUCOMP - 2011