Your SlideShare is downloading. ×

[MO901] Android 下忍 – 2011

140

Published on

Pa

Pa

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
140
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
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

×