Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[Unicamp Forum Permanente] Android Faixa Branca
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Douglas Kayama
May 15, 2012
Technology
1
480
[Unicamp Forum Permanente] Android Faixa Branca
Palestra introdutória sobre Android apresentada no Fórum Permanente de Software Livre na Unicamp
Douglas Kayama
May 15, 2012
Tweet
Share
More Decks by Douglas Kayama
See All by Douglas Kayama
TensorFlow no Android – v2
douglasdrumond
0
35
BLE
douglasdrumond
0
33
TensorFlow no Android
douglasdrumond
0
28
Firebase or Realm?
douglasdrumond
0
82
Rio Dev Day – Introdução ao Android
douglasdrumond
0
99
Google I/O
douglasdrumond
0
63
Criando apps com alto nível de qualidade (versão longa)
douglasdrumond
0
42
Criando apps com alto nível de qualidade (versão curta)
douglasdrumond
0
30
Primeiros Passos com Google Fit
douglasdrumond
0
200
Other Decks in Technology
See All in Technology
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
340
Why Organizations Fail: ノーベル経済学賞「国家はなぜ衰退するのか」から考えるアジャイル組織論
kawaguti
PRO
1
180
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
750
AIエージェントに必要なのはデータではなく文脈だった/ai-agent-context-graph-mybest
jonnojun
1
240
Agent Skils
dip_tech
PRO
0
130
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
490
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
260
Exadata Fleet Update
oracle4engineer
PRO
0
1.1k
Webhook best practices for rock solid and resilient deployments
glaforge
2
300
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
480
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
380
プロポーザルに込める段取り八分
shoheimitani
1
620
Featured
See All Featured
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
290
The Language of Interfaces
destraynor
162
26k
Crafting Experiences
bethany
1
50
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.7k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
260
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
390
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
130
Transcript
Android Faixa Branca Douglas Drumond
[email protected]
E aí?
E aí? • Motivação
E aí? • Motivação • Por dentro do Android
E aí? • Motivação • Por dentro do Android •
Por dentro das aplicações
E aí? • Motivação • Por dentro do Android •
Por dentro das aplicações • Ferramentas de desenvolvimento
Por que Android?
Crescimento Source: Gartner (Feb 2011)
Crescimento Symbian Android RIM iOS Microsoft Other OS Source: Gartner
(Feb 2011)
Crescimento Symbian Android RIM iOS Microsoft Other OS Symbian Android
RIM iOS Microsoft Other OS Source: Gartner (Feb 2011)
Crescimento Symbian Android RIM iOS Microsoft Other OS Symbian Android
RIM iOS Microsoft Other OS Source: Gartner (Feb 2011)
Crescimento Symbian Android RIM iOS Microsoft Other OS Symbian Android
RIM iOS Microsoft Other OS Source: Gartner (Feb 2011)
Android Market share Source: Techcrunch & Google
Android Market share Source: Techcrunch & Google
100 milhões Total de Ativações
Android Market share 36 OEM’s 215 operadoras 450k desenvolvedores 310
modelos 112 países
Android Market (apps)
Android Market (apps) • Aproximadamente 200.000
Android Market (apps) • Aproximadamente 200.000 • 4,5 bilhões de
downloads
Android Market (apps) • Aproximadamente 200.000 • 4,5 bilhões de
downloads • 1 bilhão nos últimos 60 dias
O que é?
O que é? Linux Kernel Bibliotecas Framework Aplicações Dalvik
Livre
Livre
Livre
Livre
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
Versões
Arquitetura
Arquitetura Linux Kernel
Arquitetura Linux Kernel Bibliotecas Dalvik
Arquitetura Linux Kernel Bibliotecas Framework Dalvik
Arquitetura Linux Kernel Bibliotecas Framework Aplicações Dalvik
Arquitetura Linux Kernel Bibliotecas Framework Aplicações Dalvik
Arquitetura
Arquitetura Linux Kernel Display Driver Keypad Driver Camera Driver WiFi
Driver Flash Memory Driver Audio Driver Gerenciamento de energia IPC
Arquitetura Linux Kernel Bibliotecas Framework Aplicações Dalvik
Arquitetura
Dalvik Arquitetura
Dalvik Arquitetura • Baseada em registradores • .dex
Arquitetura Linux Kernel Bibliotecas Framework Aplicações Dalvik
Arquitetura
Arquitetura Bibliotecas Surface Manager OpenGL ES Media Framework FreeType SSL
SQLite libc (bionic) WebKit
Arquitetura Linux Kernel Bibliotecas Framework Aplicações Dalvik
Arquitetura
Arquitetura Application Framework Activity Manager Window Manager Content Providers Telephony
Manager Location Manager Resource Manager View System Notification Manager
Arquitetura Linux Kernel Bibliotecas Framework Aplicações Dalvik
Arquitetura
Arquitetura Aplicações Home Contacts Phone Browser Email SMS Music Maps
Dissecando as Aplicações
Activity
Service
Content Provider
Intent
Intent
Intent
Intent
Intent
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
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
Service
Service onCreate() onStart() em execução onDestroy() shutdown Ciclo de vida
em atividade Ciclo de vida completo
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
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() onResume() em execução onPause() Primeiro plano
Activity onCreate() onStart() onResume() em execução onPause() onStop() Primeiro plano
Activity onCreate() onStart() onRestart() onResume() em execução onPause() onStop() Primeiro
plano
Activity onCreate() onStart() onRestart() onResume() em execução onPause() onStop() Primeiro
plano
Activity onCreate() onStart() onRestart() onResume() em execução onPause() onStop() Primeiro
plano Visível
Activity onCreate() onStart() onRestart() onResume() em execução onPause() onStop() onDestroy()
Primeiro plano Visível
Activity onCreate() onStart() onRestart() onResume() em execução onPause() onStop() onDestroy()
shutdown Primeiro plano Visível
Activity onCreate() onStart() onRestart() onResume() em execução onPause() onStop() onDestroy()
shutdown Primeiro plano Visível Ciclo de vida completo
Multitarefa
Multitarefa
Multitarefa onCreate()
Multitarefa onPause()
Multitarefa
Multitarefa onResume()
Multitarefa onPause()
Multitarefa onStop()
Multitarefa onStop() onCreate()
Multitarefa onStop() onCreate() onPause()
Multitarefa onStop() onCreate() onStop() onPause()
Multitarefa onStop() onCreate() onStop() onPause()
Multitarefa onStop() onCreate() onCreate() onStop() onPause()
Multitarefa onRestart() onStop() onCreate() onCreate() onStop() onPause()
Multitarefa onStart() onRestart() onStop() onCreate() onCreate() onStop() onPause()
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
US$ 25,00 uma única vez Android Market Desenvolvedor escolhe o
preço 30/70
Tarefa para casa • 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/debugging- tracing.html