O documento apresenta uma introdução sobre desenvolvimento de aplicações para dispositivos móveis, descrevendo as principais plataformas como Android e iOS. O Android é destacado como uma plataforma de código aberto baseada em Linux, com arquitetura de componentes e suporte a diversas tecnologias. A máquina virtual Dalvik e linguagem Java são explicadas, assim como as principais versões do Android.
Desenvolvimento de Sistemas para Dispositivos Móveis e Sem Fio
1. Desenvolvimento de
Aplicações para
Dispositivos Móveis
Introdução
Prof. Leandro Rezende C. de Mendonça, MSc.
terça-feira, 20 de setembro de 11
2. Open Handset Alliance
• http://www.openhandsetalliance.com
terça-feira, 20 de setembro de 11
3. Plataformas
• Symbian (Nokia)
• iPhone - iOS 4.2 (Apple)
• Windows Mobile (Microsoft)
• Blackberry (RIM)
• Java Mobile Edition (Sun)
• Linux Mobile (LiMo)
• Android - (Google)
terça-feira, 20 de setembro de 11
4. Android
• Open Source, without royalty;
• Based on Linux;
• Not locked into one vendor;
• Component-based architecture;
• Optimized for low-power, low-memory
devices;
• Support 2D, 3D OpenGL, Flash, H.
264(AVC), MP3 e AAC;
terça-feira, 20 de setembro de 11
5. Android Virtual
Machine
• Android Dalvik Virtual Machine (Developer
by Dan Bornstein at Google);
• Java Language;
• Java Libraries are different from both JavaSE
and JavaME;
• Code portable across ARM, x86 and other
architectures;
terça-feira, 20 de setembro de 11
6. Versões do Android
• 1.5 (Cupcake) - 1.000 changes to 1.1
• 1.6 (Donut) - High and Low displays
• 2.0 (Eclair) - Multi-touch, docking, virtual
keys, HTML5, synchronization APIs etc.
• 2.1 (Eclair Maintenance) - Live wall-papers,
more HTML5 and Widgets
• 2.2 (FroYo) - Application installation on
external SD, faster virtual machine,
OpenGL ES 2.0 APIs etc.
terça-feira, 20 de setembro de 11
7. Ambiente de
Desenvolvimento
• Java 5.0 +
• Eclipse 3.3.1 + ADT(Android Development
Tool)
• http://developer.android.com/sdk/eclipse-
adt.html
• Netbeans 6.9.1+ plugin nbandroid
(http://kenai.com/downloads/nbandroid)
• Android SDK
(http://d.android.com/sdk/)
terça-feira, 20 de setembro de 11
15. Android Emulator
Ctrl + F11
Flip Screen
terça-feira, 20 de setembro de 11
16. Activity
• É toda Classe que herda da classe
android.app.Activity;
• Controla os eventos da tela e apresenta a
View desejada;
• Cada aplicação no Android é definida como
uma Activity;
terça-feira, 20 de setembro de 11
18. Android Life Cicle I T ’ S A LIVE ! 37
Figure 2.3: Life cycle of an Android activity
terça-feira, 20 de setembro de 11
19. Ciclo de Vida
• Criar o projeto Lab01
• Abra o LogCat para visualizar as transições
de estados
• Window > Show View > Other >
Android > LogCat
terça-feira, 20 de setembro de 11
20. Testes de Transições de
Estados
• 1 - Execute a aplicação e observe os log’s;
• 2 - Clique no botão voltar do emulador ou
aperte a tecla ESC e observe os log’s;
• 3 - Na tela inicial do emulador abra
novamente a aplicação e observe os log’s;
• 4 - Após abrir novemente a aplicação clique
no botão HOME do emulador e observe os
log’s.
terça-feira, 20 de setembro de 11
21. Testes de Transições de
Estados
• 5 - Execute novamente a aplicação e observe
os log’s;
• 6 - Vamos simular uma ligação e observar os
log’s;
• Conecte via telnet no emulador execute os
comandos e observe os log’s:
• $ telnet localhost 5554
• gsm call 32223333
terça-feira, 20 de setembro de 11
• sms send 32223333 teste
22. Activity
• Aplicações mais complexas possuem várias
telas (Activity’s)
• Métodos para iniciar outra Activity(Tela):
• startActivity(intent): Inicia a próxima
tela sem qualquer vínculo entre telas.
• startActivityForResult(codigo,
resultado, intent): Usado retornar
resultados para a tela principal, ou seja
manter vínculo entre telas.
terça-feira, 20 de setembro de 11
23. Activity
• Exemplo para abrir outra tela utilizando
o método startActivity:
• Criar o projeto Lab02
terça-feira, 20 de setembro de 11
24. Activity
• OBS: Informe no arquivo AndroidManifest.xml
do projeto a criação de uma nova Activity,
adicionando a seguinte linha no arquivo.
terça-feira, 20 de setembro de 11
25. Ciclo de Vida - Activity
• Abra o LogCat para visualizar as transições
de estados quando as telas são alternadas.
• Window > Show View > Other >
Android > LogCat
terça-feira, 20 de setembro de 11
26. Ciclo de Vida - Activity
• Com o LOGCAT ainda aberto simule uma
ligação através do terminal e observe as
transições das telas.
• $ telnet localhost 5554
• gsm call 32223333
terça-feira, 20 de setembro de 11
27. Activity - Passagem de
parâmetro
• Faça uma cópia do projeto Lab02 para
Lab03.
• Iremos adicionar código para a passagem
de parâmetro da uma tela para a outra:
• depois no no método onClickda classe Tela2.
Primeiro
método onCreate
da classe main,
terça-feira, 20 de setembro de 11
28. Activity - Passagem de
parâmetro
• Abra o LogCat para visualizar o parâmetro
enviado para a Tela 2.
• Window > Show View > Other >
Android > LogCat
terça-feira, 20 de setembro de 11
29. Fim
• Dúvidas ?
• Perguntas ?
terça-feira, 20 de setembro de 11