Google Android

Propaganda
Google Android
Computação Móvel - 2ª Aula
Prática
MEIC/MERC
Sumário

Google Android:

O que é?

Que funcionalidades?

Que dispositivos?

Como programar?

Exercícios:
−
Executar exemplos
−
Ampliar exemplos
O que é?





Plataforma de SW para dispositivos
móveis.
Desenvolvida pela Google e a Open
Handset Alliance.
Baseada no núcleo do Linux.
Programada em Java usando o Eclipse e o
Android SDK.
Bibliotecas Java desenvolvidas pela
Google. Não coincidem
com o Java SE ou
ME.
Que funcionalidades?
Comparação com
Outros
Android
Núcleo
Dispositivos
Symbian
Linux
Poucos
Muitos
SW livre
Vários Participantes
Podiamos ainda falar de Palm OS e de iPhone OS...
Windows Mobile
Muitos
Que dispositivos?
HTC Dream (G1)
Como programar?



IDE Eclipse + Plug-in Android + Emulador
Aplicações Java usando as bibliotecas do
Android.
Conceitos base:

Activity: Corresponde a um ecrã da aplicação.

Layout: Descrição do GUI.

Manifest: Atributos/Configuração da aplicação.

Como manter código sempre a correr? Service.

Como acordar aplicações? IntentReceiver.

Como partilhar dados entre
aplicações?
ContentProvider.
Uma aplicação Android
A raíz do projecto
O código da aplicação
As bibliotecas Google Android
O desenho do GUI
(usar e.g. www.droiddraw.org).
Gera automaticamente R.java
A configuração da aplicação.
Gera automaticamente Manifest.java
Código da Aplicação
Activity = 1 ecrã de GUI
Corre quando se cria a Activity
Corre quando se clica
em b_serv ou b_cli
Layout
IDs para fazer getViewByID
no código Java
Manifesto
Permissões para a aplicação
aceder à rede
O emulador
• Baseado no emulador
ARM QEMU.
• Inclui:
– Aplicações Android.
– Exemplos Android.
• Debugger do Eclipse
controla emulador.
• Usa a Ethernet do PC
de desenvolvimento.
Pôr dois emuladores a
comunicar por sockets
- Abre-se o projecto no eclipse e no run (seta
verde), nas "run configurations" escolhe-se um
target manual. Assim sempre que se lançar uma
aplicação, o Eclipse vai perguntar em que
emulador se quer lançar a aplicação.
- Quando se lança um emulador, no título da
página diz o porto para o qual se pode fazer
telnet para configurar o emulador.
- Depois de se lançar o emulador servidor é
preciso fazer telnet para o porto do emulador e
redireccionar o porto do ServerSocket do
emulador para o porto da máquina local: redir
add tcp:2000:2000
Exercício: chat
Transformar o código dado numa aplicação de
chat:
• Lançar uma thread para escutar o socket ligado:
– Activity passa a “implements Runnable” e a ter um
método “public void run()”
– No ponto onde se quiser lançar a thread faz-se:
Thread thread = new Thread(this);
Thread.start();
• Adicionar uma caixa de texto e um botão para
mandar mensagens: no layout adicionar um
TextEdit e um Button.
• Modificar o tipo de dados
trocados: substituir o
ReadInt por...
Download