Escolar Documentos
Profissional Documentos
Cultura Documentos
Tchelinux
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
OPalestrante
ranieri@dev.java.net
Tchelinux
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Android,comocomeou?
Tchelinux
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Android,comocomeou?
ComeamosrumoresqueaoGoogleplaneja entrarnomercadodetelefoniamvel...
Tchelinux
4
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Porquedispositivosmveis?
Tchelinux
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Android,comoapareceu?
Dia5denovembrode2007,aOpenHandset Alliance,foianunciada.
Tchelinux
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Depoisdoanuncio...
Tchelinux
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
?Android?
Tchelinux
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
?Android?
UmSDK?
Tchelinux
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
?Android?
Temumalinguagemdeprogramao?
Java Dalvik(KernelGNU/Linux)
Temumamquinavirtual?
Tchelinux
10
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
?Android?
11
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Licenas
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Licenas
LicenasdeSoftwareLivre:
GPL(GeneralPublicLicense) BSD(BerkeleySoftwareDistribution) Mozilla Apache etc...
Tchelinux
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Tchelinux
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
PorquelicenaApache(ASL)?
Tchelinux
15
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Ento,OpenSource!
Tchelinux
16
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Aberto
Emtrspontosdevista(trsreis):
Tchelinux
17
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
EoJavaME?
Tchelinux
18
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
JavaME
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
AndroidAPIvsJavaAPI
PacotesSuportados
Tchelinux
20
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
AndroidAPIvsJavaAPI
PacotesSuportados
includingjava.util.concurrent
Tchelinux
21
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
AndroidAPIvsJavaAPI
PacotesSuportados
javax.soundMusicandsoundeffects
Tchelinux
22
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
AndroidAPIvsJavaAPI
PacotesSuportados
javax.sqlMoredatabaseinterfaces
exceptjavax.sql.rowset
javax.xml.parsersXMLparsing org.w3c.domDOMnodesandelements
butnotsubpackages
org.xml.saxSimpleAPIforXML
Tchelinux
23
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
AndroidAPIvsJavaAPI
PacotesnoSuportados
Tchelinux
24
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
AndroidAPIvsJavaAPI
PacotesnoSuportados
javax.xml
exceptjavax.xml.parsers
subpackages
Tchelinux
25
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
PacotesSuportados(noJSE)
AndroidAPI
org.apache.commons.codec
org.apache.commons.httpclient
org.jsonJavaScriptObjectNotation
Tchelinux
26
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Mas...PorqueoGoogle escolheuJava?
Tchelinux
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
SoftwareLivreeJava
Freshmeatrankingdelinguagens
1C(9223projetos)
2Java(6225projetos) 3C++(5156projects)
Portaljava.net
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
TIOBEProgrammingCommunityIndexforOctober2008
AdoodoJava
Tchelinux
29
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
AdoodoJava
TIOBEProgrammingCommunityIndexforOctober2008
Tchelinux
30
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Arquitetura
Tchelinux
31
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
AndroidArquitetura
Tchelinux
32
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
LinuxKernel
Versodokernel:2.6
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
AndroidArquitetura
12/11/08
Tchelinux
34
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Bibliotecas
Tchelinux
35
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Runtime
AplicaoAndroid:
umprocessoLinux PrpriainstnciadamquinavitualDalvik
Executaarquivos.dex(ferramentadx)
Tchelinux
36
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
AndroidArquitetura
Tchelinux
37
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Framework
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
AndroidArquitetura
Tchelinux
39
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Aplicaes
...
Tchelinux
40
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
SDK
Tchelinux
41
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
AndroidSDK
OAndroidSDKformadopor:
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
AndroidSDK
suportadoemplataformasbaseadasemx86
Tchelinux
43
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
AndroidSDK
Dependede:
IDEoficial
NocompatvelcomoGnuCompilerforJava(gcj)
Tchelinux
44
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
AndroidSDK
Ferramentasdelinhadecomando
Tchelinux
45
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Tchelinux
46
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
AndroidSDK
ParaosfansdoNetBeansIDE
AndroidpluginforNetBeans(unandroid) http://kenai.com/projects/nbandroid/
Tchelinux
47
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
AndroidSDK
Tchelinux
48
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
SuasCaracteristicas...
Bibliotecas2D Grficos3D(OpenGL1.0)
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
SuasCaracteristicas...
Dependentedohardware:
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Emulador
Emulaohardware(QEMU)
12/11/08
Tchelinux
51
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
InstalandooSDK
http://developer.android.com/sdk/1.5_r3/installing.html
Tchelinux
52
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
AplicaoAndroid
Existem4tiposbsicosdeelementos:
Oscomponentesquecompeaaplicaoestono AndroidManifest.xml.
12/11/08
Tchelinux
53
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
HelloWorld!
http://developer.android.com/guide/tutorials/helloworld.html
Tchelinux
54
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Tchelinux
57
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
MacintoshXIBMPC
Tchelinux
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Macbrasileiro
Tchelinux
59
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
IPhoneXAndroid
Tchelinux
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
SDKConcorrncia
Tchelinux
61
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
AndroidnoJava
Noexecutabytecodes
Execuraarqquivosdex DalviknoumaJVM
NopossuiJVM(????)
NosegueasespecificaesdoJCP
Tchelinux
62
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
JCPQuemmandanoJava
Tchelinux
63
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
MembrosJCP
ApacheSoftwareFoundation BEASystems Borland Google FujitsuLimited HewlettPackard IBM Intel Oracle RedHat SAP SunMicrosystems
Tchelinux
64
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Dalvik
Interpreteronly,registerbasedvirtualmachine
DanBornstein
villageofDalvkinIceland
Tchelinux
65
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
DalvikJarxDex
Tchelinux
66
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
JVMOsegredododesempenho
JIT Compiladorjustintime
DalviknopossuiJIT!!!
Tchelinux
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
JVMOsegredododesempenho
Tchelinux
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
DalviksemJIT
DanBornstein
Tchelinux
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
GarbageCollector
Maisdeumarefernciapodeapontarparao mesmoobjeto
Tchelinux
70
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
GarbageCollector
Seoobjetonopossuireferncias,est liberadoparaocoletordelixo
Tchelinux
71
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
GarbageCollector
Tchelinux
72
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
GCDalvik
Tchelinux
73
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Obrigado!!!
12/11/08
Tchelinux
74
DesenvolvendoaplicaesemJavaparaoGoogleAndroid
Bibliografia
http://www.fatecjp.com.br/posgraduacao/posgraduacaoddm.htm http://wwwdi.inf.pucrio.br/~endler/courses/Mobile/Tarefas/MAPslides/ http://www.androidbr.mobi/ http://code.google.com/android/ http://source.android.com/ http://ranierifernandes.blogspot.com http://java.sun.com http://www.jcp.org/en/participation/members/ http://www.tiobe.com/tpci.htm LivroGoogleAndroidRicardoR.Lecheta
12/11/08
Tchelinux
75