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.
Comparação com Outros
Android Symbian Windows Mobile
Núcleo Linux
Dispositivos Poucos Muitos Muitos
SW livre
Vários Participantes
Podiamos ainda falar de Palm OS e de iPhone OS...
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
O código da aplicação
A raíz do projecto
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
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...