Your SlideShare is downloading. ×
  • Like
[MO901] Android 下忍 – 2011
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

[MO901] Android 下忍 – 2011

  • 117 views
Published

Pa

Pa

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
117
On SlideShare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Android 下忍 Douglas Drumond drumond.douglas@gmail.com
  • 2. Por que Android?
  • 3. Crescimento Source: Gartner (Feb 2011)
  • 4. Crescimento Symbian RIM Microsoft Android iOS Other OS Source: Gartner (Feb 2011)
  • 5. Crescimento Symbian RIM Microsoft Android iOS Other OS Symbian iOS Android Microsoft RIM Other OS Source: Gartner (Feb 2011)
  • 6. Crescimento Symbian RIM Microsoft Android iOS Other OS Symbian iOS Android Microsoft RIM Other OS Source: Gartner (Feb 2011)
  • 7. Crescimento Symbian RIM Microsoft Android iOS Other OS Symbian iOS Android Microsoft RIM Other OS Source: Gartner (Feb 2011)
  • 8. Android Market share Source: Techcrunch
  • 9. Android Market share Source: Techcrunch
  • 10. Android Market (apps)
  • 11. Android Market (apps) • Aproximadamente 300.000
  • 12. Android Market (apps) • Aproximadamente 300.000 • 30.000 novos aplicativos por mês
  • 13. Android Market (apps) • Aproximadamente 300.000 • 30.000 novos aplicativos por mês • Estimativa de download: 3,8 bilhões de apps
  • 14. O que é?
  • 15. O que é? Aplicações Framework Bibliotecas Linux Kernel Dalvik
  • 16. Livre
  • 17. Livre
  • 18. Livre
  • 19. Livre • Acesso ao código-fonte
  • 20. Livre • the definition of open: "mkdir android ; cd android ; repo init -u git:// android.git.kernel.org/platform/manifest.git ; repo sync ; make" http://twitter.com/#!/arubin/status/27808662429
  • 21. Versões
  • 22. Arquitetura
  • 23. Arquitetura Linux Kernel
  • 24. Arquitetura Bibliotecas Linux Kernel Dalvik
  • 25. Arquitetura Framework Bibliotecas Linux Kernel Dalvik
  • 26. Arquitetura Aplicações Framework Bibliotecas Linux Kernel Dalvik
  • 27. Arquitetura Aplicações Framework Bibliotecas Linux Kernel Dalvik
  • 28. Arquitetura
  • 29. Arquitetura Linux Kernel
  • 30. Arquitetura Linux Kernel Display Driver Flash Memory Driver Keypad Driver Audio Driver Camera Driver IPC WiFi Driver Gerenciamento de energia
  • 31. Arquitetura Aplicações Framework Bibliotecas Linux Kernel Dalvik
  • 32. Arquitetura
  • 33. Arquitetura Dalvik
  • 34. Arquitetura Dalvik • Baseada em registradores • .dex
  • 35. Arquitetura Aplicações Framework Bibliotecas Linux Kernel Dalvik
  • 36. Arquitetura
  • 37. Arquitetura Bibliotecas
  • 38. Arquitetura Bibliotecas Surface Manager SSL OpenGL ES SQLite Media Framework WebKit FreeType libc (bionic)
  • 39. Arquitetura Aplicações Framework Bibliotecas Linux Kernel Dalvik
  • 40. Arquitetura
  • 41. Arquitetura Application Framework
  • 42. Arquitetura Application Framework Activity Manager Location Manager Window Manager Resource Manager Content Providers Notification Manager Telephony Manager View System
  • 43. Arquitetura Aplicações Framework Bibliotecas Linux Kernel Dalvik
  • 44. Arquitetura
  • 45. Arquitetura Aplicações
  • 46. Arquitetura Aplicações Home Email Contacts SMS Phone Maps Browser Music
  • 47. Dissecando as Aplicações
  • 48. Activity
  • 49. Activity • Interface
  • 50. Activity • Interface • Um objetivo
  • 51. Activity • Interface • Um objetivo • Várias por aplicativo
  • 52. Activity • Interface • Um objetivo • Várias por aplicativo • Pode iniciar outras activities
  • 53. Activity • Interface • Um objetivo • Várias por aplicativo • Pode iniciar outras activities • Herda de Activity
  • 54. Activity
  • 55. Activity
  • 56. Activity • 3 estados: ativa, em pausa e parada
  • 57. Activity • 3 estados: ativa, em pausa e parada • 3 ciclos de vida
  • 58. Activity • 3 estados: ativa, em pausa e parada • 3 ciclos de vida • pode morrer a qualquer momento se não estiver ativa
  • 59. Activity
  • 60. Activity onCreate()
  • 61. Activity onCreate() onStart()
  • 62. Activity onCreate() onStart() onResume()
  • 63. Activity onCreate() onStart() onResume() em execução
  • 64. Activity onCreate() onStart() onResume() em execução onPause()
  • 65. Activity onCreate() onStart() onResume() em execução onPause()
  • 66. Activity onCreate() onStart() Primeiro plano onResume() em execução onPause()
  • 67. Activity onCreate() onStart() Primeiro plano onResume() em execução onPause() onStop()
  • 68. Activity onCreate() onStart() Primeiro plano onResume() em execução onPause() onStop() onRestart()
  • 69. Activity onCreate() onStart() Primeiro plano onResume() em execução onPause() onStop() onRestart()
  • 70. Activity onCreate() Visível onStart() Primeiro plano onResume() em execução onPause() onStop() onRestart()
  • 71. Activity onCreate() Visível onStart() Primeiro plano onResume() em execução onPause() onStop() onDestroy() onRestart()
  • 72. Activity onCreate() Visível onStart() Primeiro plano onResume() em execução onPause() onStop() onDestroy() shutdown onRestart()
  • 73. Activity Ciclo de vida completo onCreate() Visível onStart() Primeiro plano onResume() em execução onPause() onStop() onDestroy() shutdown onRestart()
  • 74. Service
  • 75. Service • Sem interface
  • 76. Service • Sem interface • Roda em segundo plano
  • 77. Service • Sem interface • Roda em segundo plano • Executa na thread principal
  • 78. Service • Sem interface • Roda em segundo plano • Executa na thread principal • Herda de Service
  • 79. Service
  • 80. Service
  • 81. Service • Ativo ou parado
  • 82. Service • Ativo ou parado • Roda em segundo plano
  • 83. Service • Ativo ou parado • Roda em segundo plano • Pouco provável de ser morto
  • 84. Service
  • 85. Service onCreate()
  • 86. Service onCreate() onStart()
  • 87. Service onCreate() onStart() em execução
  • 88. Service onCreate() onStart() em execução onDestroy()
  • 89. Service onCreate() Ciclo de vida em atividade onStart() em execução onDestroy()
  • 90. Service onCreate() Ciclo de vida em atividade onStart() em execução onDestroy() shutdown
  • 91. Service Ciclo de vida completo Ciclo de vida em atividade onCreate() onStart() em execução onDestroy() shutdown
  • 92. Content Provider
  • 93. Content Provider • Disponibiliza dados para outros aplicativos
  • 94. Content Provider • Disponibiliza dados para outros aplicativos • Sistema de arquivos ou SQLite
  • 95. Content Provider • Disponibiliza dados para outros aplicativos • Sistema de arquivos ou SQLite • Herda de ContentProvider
  • 96. Content Provider
  • 97. Broadcast Receiver
  • 98. Broadcast Receiver • Não possui interface (com usuário)
  • 99. Broadcast Receiver • Não possui interface (com usuário) • Roda em segundo plano
  • 100. Broadcast Receiver • Não possui interface (com usuário) • Roda em segundo plano • Reage a mensagens de broadcast
  • 101. Broadcast Receiver • Não possui interface (com usuário) • Roda em segundo plano • Reage a mensagens de broadcast • Exemplo: carga de bateria
  • 102. Broadcast Receiver • Não possui interface (com usuário) • Roda em segundo plano • Reage a mensagens de broadcast • Exemplo: carga de bateria • Herda de BroadcastReceiver
  • 103. Broadcast Receiver
  • 104. Broadcast Receiver onReceive()
  • 105. Broadcast Receiver onReceive() em execução
  • 106. Broadcast Receiver onReceive() em execução Fim
  • 107. Broadcast Receiver Ciclo de vida em atividade onReceive() em execução Fim
  • 108. Intent
  • 109. Intent • Possui um alvo facultativo
  • 110. Intent • Possui um alvo facultativo • Se não tiver especificado alvo, o sistema encontra um
  • 111. Intent • Possui um alvo facultativo • Se não tiver especificado alvo, o sistema encontra um • Pode executar uma Activity ou Service específico
  • 112. Intent • Possui um alvo facultativo • Se não tiver especificado alvo, o sistema encontra um • Pode executar uma Activity ou Service específico • IntentFilters
  • 113. Intent
  • 114. Intent
  • 115. Intent
  • 116. Intent
  • 117. Intent
  • 118. Ferramentas
  • 119. Pré-requisitos
  • 120. Pré-requisitos • JDK
  • 121. Pré-requisitos • JDK • Android SDK
  • 122. Ambiente
  • 123. Ambiente • Linux
  • 124. Ambiente • Linux • Mac OS X (Intel)
  • 125. Ambiente • Linux • Mac OS X (Intel) • Windows XP ou superior
  • 126. Ferramentas
  • 127. Ferramentas
  • 128. Ferramentas
  • 129. Ferramentas
  • 130. Ferramentas
  • 131. Ferramentas
  • 132. Ferramentas • Remote debugger • logcat • DDMS
  • 133. Ferramentas
  • 134. Ferramentas
  • 135. Ferramentas
  • 136. Google Chrome
  • 137. Google Chrome
  • 138. Android Market
  • 139. Android Market Desenvolvedor escolhe o preço
  • 140. Android Market Desenvolvedor escolhe o preço 30/70
  • 141. Android Market Desenvolvedor escolhe o preço 30/70 US$ 99,00/ano
  • 142. Android Market Desenvolvedor escolhe o preço 30/70
  • 143. Android Market
  • 144. Android Market Desenvolvedor escolhe o preço
  • 145. Android Market Desenvolvedor escolhe o preço 30/70
  • 146. Android Market Desenvolvedor escolhe o preço 30/70 US$ 25,00 uma única vez
  • 147. O que estão esperando? • developer.android.com
  • 148. Obrigado
  • 149. Créditos •http://www.flickr.com/photos/xazac/5090246138/sizes/s/in/ photostream/ •http://www.flickr.com/photos/bfishadow/4290430790/sizes/s/in/ photostream/ •http://www.flickr.com/photos/nickbutcher/5529239187/sizes/m/in/ photostream/ •http://www.flickr.com/photos/3bilder/5113921580/sizes/m/in/ photostream/ •http://www.flickr.com/photos/abulhussain/4543434080/sizes/o/in/ photostream/ •http://developer.android.com/guide/developing/debugging/debuggingtracing.html