Escolar Documentos
Profissional Documentos
Cultura Documentos
Cenrio
Aproximadamente 3,5 bilhes de pessoas possuem aparelho
celular.
Algumas cidades possuem em mdia 3 celulares por habitante.
Avano da tecnologia: cmeras, msicas, bluetooth, jogos, GPS,
acesso a banco de dados, internet, etc.
Vrias linhas de crdito para projetos que contemplem
mobilidade (ex: Fapemig, Oi)
Importante
Os fabricantes devem fornecer suporte completo a API. Ou seja,
o aplicativo que for desenvolvido em uma mesma verso pode
rodar em aparelhos de diversos fornecedores.
Novas verses devem ser o mximo possvel compatveis com
verses anteriores.
O Google Play garante que aplicaes visveis aos dispositivos
iro funcionar quando instaladas.
Deploy = colocar o aplicativo em produo.
Mquina Virtual
Diferentemente do Java, o Android no possui uma mquina
virtual Java (JVM).
A mquina virtual do Android denominada Dalvik VM.
Dalvik VM uma mquina virtual similar JVM, porm
otimizada para dispositivos mveis (possuindo algumas
restries).
Mquina Virtual
Ento, no processo de desenvolvimento, temos os arquivos .class
do Java que so compilados para .dex (Dalvik Executable).
Junta-se os resources (arquivos utilizados pelo programa, como
imagens e arquivos XML) ao arquivo com nica extenso
denominado .apk (Android Package File).
Mquina Virtual
Cada aplicao possui um processo que pode conter de uma a n
threads. Processamentos pesados no podem ser feitos na thread
principal, sob risco de travar at mesmo o aparelho.
Lembre-se: a Dalvik VM no executa bytecode, mas sim um
arquivo .dex (Dalvik Executable).
.java
Compilao para
bytecode
.class
.dex
Converso para
Dalvik Executable
Algumas referncias
Site oficial: http://www.android.com/.
Site Desenvolvedores: http://developer.android.com/.
Verificar principalmente o guia do desenvolvedor e API Demos.
Bugs do Android: http://code.google.com/p/android/issues/list.
Estrutura do Android
Estrutura do Android
Linux Kernel: o sistema operacional do Android, responsvel
por gerenciar processos, memrias, threads, etc. Multitarefa.
Libraries: feito em C/C++. O acesso atravs do Application
Framework.
Android RunTime: composta pelo Java SE e o Dalvik Virtual
Machine.
Application Framework: utilizado para construir aplicaes
Android.
Cuidado!
Aplicaes desenvolvidas e nativas so vistas da mesma maneira.
Pode ocasionar travamento de todo o aparelho, diferentemente
de uma aplicao desktop, por exemplo.
Ferramentas necessrias
Java SE (JDK)
Android SDK
Eclipse verso 3.4 ou superior (verso for Java Developers)
Plug-in ADT (instalado dentro do Eclipse)