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 Aplicativos para Dispositivos Móveis
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