[MO901] Android 下忍 – 2011
Upcoming SlideShare
Loading in...5
×
 

[MO901] Android 下忍 – 2011

on

  • 222 views

Pa

Pa

Statistics

Views

Total Views
222
Views on SlideShare
209
Embed Views
13

Actions

Likes
0
Downloads
3
Comments
0

2 Embeds 13

http://www.robotodojo.com 10
http://www.douglasdrumond.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

[MO901] Android 下忍 – 2011 [MO901] Android 下忍 – 2011 Presentation Transcript

  • Android 下忍 Douglas Drumond drumond.douglas@gmail.com
  • Por que Android?
  • Crescimento Source: Gartner (Feb 2011)
  • Crescimento Symbian RIM Microsoft Android iOS Other OS Source: Gartner (Feb 2011)
  • Crescimento Symbian RIM Microsoft Android iOS Other OS Symbian iOS Android Microsoft RIM Other OS Source: Gartner (Feb 2011)
  • Crescimento Symbian RIM Microsoft Android iOS Other OS Symbian iOS Android Microsoft RIM Other OS Source: Gartner (Feb 2011)
  • Crescimento Symbian RIM Microsoft Android iOS Other OS Symbian iOS Android Microsoft RIM Other OS Source: Gartner (Feb 2011)
  • Android Market share Source: Techcrunch
  • Android Market share Source: Techcrunch
  • Android Market (apps)
  • Android Market (apps) • Aproximadamente 300.000
  • Android Market (apps) • Aproximadamente 300.000 • 30.000 novos aplicativos por mês
  • Android Market (apps) • Aproximadamente 300.000 • 30.000 novos aplicativos por mês • Estimativa de download: 3,8 bilhões de apps
  • O que é?
  • O que é? Aplicações Framework Bibliotecas Linux Kernel Dalvik
  • Livre
  • Livre
  • Livre
  • Livre • Acesso ao código-fonte
  • 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
  • Versões
  • Arquitetura
  • Arquitetura Linux Kernel
  • Arquitetura Bibliotecas Linux Kernel Dalvik
  • Arquitetura Framework Bibliotecas Linux Kernel Dalvik
  • Arquitetura Aplicações Framework Bibliotecas Linux Kernel Dalvik
  • Arquitetura Aplicações Framework Bibliotecas Linux Kernel Dalvik
  • Arquitetura
  • Arquitetura Linux Kernel
  • Arquitetura Linux Kernel Display Driver Flash Memory Driver Keypad Driver Audio Driver Camera Driver IPC WiFi Driver Gerenciamento de energia
  • Arquitetura Aplicações Framework Bibliotecas Linux Kernel Dalvik
  • Arquitetura
  • Arquitetura Dalvik
  • Arquitetura Dalvik • Baseada em registradores • .dex
  • Arquitetura Aplicações Framework Bibliotecas Linux Kernel Dalvik
  • Arquitetura
  • Arquitetura Bibliotecas
  • Arquitetura Bibliotecas Surface Manager SSL OpenGL ES SQLite Media Framework WebKit FreeType libc (bionic)
  • Arquitetura Aplicações Framework Bibliotecas Linux Kernel Dalvik
  • Arquitetura
  • Arquitetura Application Framework
  • Arquitetura Application Framework Activity Manager Location Manager Window Manager Resource Manager Content Providers Notification Manager Telephony Manager View System
  • Arquitetura Aplicações Framework Bibliotecas Linux Kernel Dalvik
  • Arquitetura
  • Arquitetura Aplicações
  • Arquitetura Aplicações Home Email Contacts SMS Phone Maps Browser Music
  • Dissecando as Aplicações
  • Activity
  • Activity • Interface
  • Activity • Interface • Um objetivo
  • Activity • Interface • Um objetivo • Várias por aplicativo
  • Activity • Interface • Um objetivo • Várias por aplicativo • Pode iniciar outras activities
  • Activity • Interface • Um objetivo • Várias por aplicativo • Pode iniciar outras activities • Herda de Activity
  • Activity
  • Activity
  • Activity • 3 estados: ativa, em pausa e parada
  • Activity • 3 estados: ativa, em pausa e parada • 3 ciclos de vida
  • Activity • 3 estados: ativa, em pausa e parada • 3 ciclos de vida • pode morrer a qualquer momento se não estiver ativa
  • Activity
  • Activity onCreate()
  • Activity onCreate() onStart()
  • Activity onCreate() onStart() onResume()
  • Activity onCreate() onStart() onResume() em execução
  • Activity onCreate() onStart() onResume() em execução onPause()
  • Activity onCreate() onStart() onResume() em execução onPause()
  • Activity onCreate() onStart() Primeiro plano onResume() em execução onPause()
  • Activity onCreate() onStart() Primeiro plano onResume() em execução onPause() onStop()
  • Activity onCreate() onStart() Primeiro plano onResume() em execução onPause() onStop() onRestart()
  • Activity onCreate() onStart() Primeiro plano onResume() em execução onPause() onStop() onRestart()
  • Activity onCreate() Visível onStart() Primeiro plano onResume() em execução onPause() onStop() onRestart()
  • Activity onCreate() Visível onStart() Primeiro plano onResume() em execução onPause() onStop() onDestroy() onRestart()
  • Activity onCreate() Visível onStart() Primeiro plano onResume() em execução onPause() onStop() onDestroy() shutdown onRestart()
  • Activity Ciclo de vida completo onCreate() Visível onStart() Primeiro plano onResume() em execução onPause() onStop() onDestroy() shutdown onRestart()
  • Service
  • Service • Sem interface
  • Service • Sem interface • Roda em segundo plano
  • Service • Sem interface • Roda em segundo plano • Executa na thread principal
  • Service • Sem interface • Roda em segundo plano • Executa na thread principal • Herda de Service
  • Service
  • Service
  • Service • Ativo ou parado
  • Service • Ativo ou parado • Roda em segundo plano
  • Service • Ativo ou parado • Roda em segundo plano • Pouco provável de ser morto
  • Service
  • Service onCreate()
  • Service onCreate() onStart()
  • Service onCreate() onStart() em execução
  • Service onCreate() onStart() em execução onDestroy()
  • Service onCreate() Ciclo de vida em atividade onStart() em execução onDestroy()
  • Service onCreate() Ciclo de vida em atividade onStart() em execução onDestroy() shutdown
  • Service Ciclo de vida completo Ciclo de vida em atividade onCreate() onStart() em execução onDestroy() shutdown
  • Content Provider
  • Content Provider • Disponibiliza dados para outros aplicativos
  • Content Provider • Disponibiliza dados para outros aplicativos • Sistema de arquivos ou SQLite
  • Content Provider • Disponibiliza dados para outros aplicativos • Sistema de arquivos ou SQLite • Herda de ContentProvider
  • Content Provider
  • Broadcast Receiver
  • Broadcast Receiver • Não possui interface (com usuário)
  • Broadcast Receiver • Não possui interface (com usuário) • Roda em segundo plano
  • Broadcast Receiver • Não possui interface (com usuário) • Roda em segundo plano • Reage a mensagens de broadcast
  • Broadcast Receiver • Não possui interface (com usuário) • Roda em segundo plano • Reage a mensagens de broadcast • Exemplo: carga de bateria
  • 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
  • Broadcast Receiver
  • Broadcast Receiver onReceive()
  • Broadcast Receiver onReceive() em execução
  • Broadcast Receiver onReceive() em execução Fim
  • Broadcast Receiver Ciclo de vida em atividade onReceive() em execução Fim
  • Intent
  • Intent • Possui um alvo facultativo
  • Intent • Possui um alvo facultativo • Se não tiver especificado alvo, o sistema encontra um
  • Intent • Possui um alvo facultativo • Se não tiver especificado alvo, o sistema encontra um • Pode executar uma Activity ou Service específico
  • Intent • Possui um alvo facultativo • Se não tiver especificado alvo, o sistema encontra um • Pode executar uma Activity ou Service específico • IntentFilters
  • Intent
  • Intent
  • Intent
  • Intent
  • Intent
  • Ferramentas
  • Pré-requisitos
  • Pré-requisitos • JDK
  • Pré-requisitos • JDK • Android SDK
  • Ambiente
  • Ambiente • Linux
  • Ambiente • Linux • Mac OS X (Intel)
  • Ambiente • Linux • Mac OS X (Intel) • Windows XP ou superior
  • Ferramentas
  • Ferramentas
  • Ferramentas
  • Ferramentas
  • Ferramentas
  • Ferramentas
  • Ferramentas • Remote debugger • logcat • DDMS
  • Ferramentas
  • Ferramentas
  • Ferramentas
  • Google Chrome
  • Google Chrome
  • Android Market
  • Android Market Desenvolvedor escolhe o preço
  • Android Market Desenvolvedor escolhe o preço 30/70
  • Android Market Desenvolvedor escolhe o preço 30/70 US$ 99,00/ano
  • Android Market Desenvolvedor escolhe o preço 30/70
  • Android Market
  • Android Market Desenvolvedor escolhe o preço
  • Android Market Desenvolvedor escolhe o preço 30/70
  • Android Market Desenvolvedor escolhe o preço 30/70 US$ 25,00 uma única vez
  • O que estão esperando? • developer.android.com
  • Obrigado
  • 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