Este documento apresenta uma ementa detalhada sobre o treinamento de Android, incluindo 8 tópicos principais como introdução ao Android, ambiente de desenvolvimento, conceitos básicos, entre outros. Apresenta também informações sobre as versões do Android, tipos de dispositivos, mercado mobile e a arquitetura do sistema operacional Android.
6. Ementa
1. Introdução ao Android
2. Ambiente de desenvolvimento
3. Conceitos básicos
4. Application, Activities e Fragments
2
7. Ementa
1. Introdução ao Android
2. Ambiente de desenvolvimento
3. Conceitos básicos
4. Application, Activities e Fragments
5. Intents e Broadcast Receivers
2
8. Ementa
1. Introdução ao Android
2. Ambiente de desenvolvimento
3. Conceitos básicos
4. Application, Activities e Fragments
5. Intents e Broadcast Receivers
6. Views e Layout Managers
2
9. Ementa
1. Introdução ao Android
2. Ambiente de desenvolvimento
3. Conceitos básicos
4. Application, Activities e Fragments
5. Intents e Broadcast Receivers
6. Views e Layout Managers
7. Persistência de dados e Content Providers
2
10. Ementa
1. Introdução ao Android
2. Ambiente de desenvolvimento
3. Conceitos básicos
4. Application, Activities e Fragments
5. Intents e Broadcast Receivers
6. Views e Layout Managers
7. Persistência de dados e Content Providers
8. Arquivos, estados e Shared Preferences
2
11. Ementa
Introdução ao Android
O que é o Android?
Open Handset Alliance
Mercado mobile
Dispositivos
Arquitetura, versões, APIs e tipos de aplicativos
Google Play Store (Android Market)
3
13. É um sistema operacional mobile baseado em Linux,
originalmente desenvolvido por uma empresa de
mesmo nome, comprada pela Google em 2005
É fundamentado em código open source, sob licença
Apache. Por isso, admite que fabricantes de hardware
insiram código proprietário para diferenciar seus
produtos.
Android é em geral mas não completamente Java.
API escrita baseada em Java para a maquina virtual
Dalvik. Arquivos .class viram .dex e o pacote é .apk
5
14. A plataforma Android é mais do que um S.O., é todo
um ecossistema que envolve métricas de
compatibilidade e padrões para fabricantes, kit para
o desenvolvedor (SDK), middleware e plugins para
ambientes integrados de desenvolvimento (IDEs)
O Android conta com o Android Market, rebatizado
de Google Play Store, uma central de vendas e
distribuição de aplicativos voltados para a plataforma
http://play.google.com
6
16. Ampla API e acesso a serviços nativos como
chamadas telefônicas, lista de contatos, SMS e MMS
Interface multitouch adequada a telas de resoluções e
densidades diferentes (Views e Fragments)
Extenso suporte a mídias como imagens, gráficos 2D
e 3D (OpenGL), audio, vídeo e live streamming
Incrementos de experiência de usuário no ambiente
operacional com widgets e live wallpapers
Aplicações multitarefas, visíveis ou em background e
serviços de notificações
8
17. Acesso a hardwares como cameras (frontal e traseira),
vibrações, flashes, etc
Persistência em bancos de dados SQLite e Content
Providers
Compartilhamento de dados inter-aplicação como
intenções (Intents)
Suporte a comandos remotos para o aparelho - Cloud
To Device Manager (C2DM)
Mapas e serviços de geolocalização (direta e
reversa) utilizando GPS
9
19. Quem está por trás do Android?
www.openhandsetalliance.com
http://www.youtube.com/watch?v=7Y4thikv-OM
11
20. Quem está por trás do Android?
Grupo de 84
empresas:
www.openhandsetalliance.com
http://www.youtube.com/watch?v=7Y4thikv-OM
11
21. Mercado Mobile no Mundo
Para cada nascimento,
quase 2 aparelhos Android
são vendidos
No segundo trimestre de
2013, 79% dos
dispositivos móveis
vendidos foram Androids
31% só da Samsung, mais do que o dobro dos iPhones
Fontes:
www.lukew.com/ff/entry.asp?1506
http://www.gartner.com/newsroom/id/2573415
12
22. Mercado Mobile no Brasil
Em 2012, o número de
celulares superou o de
brasileiros
Somos o 4º maior mercado
mobile do mundo
84% dos brasileiros (16+)
possuem celular
48% possuem mais de um
aparelho
10% das vendas online
vem de dispositivos móveis
Fontes:
http://www.mobilizado.com.br/mercado/infografico-mostra-importancia-do-mercado-mobile-no-brasil
http://webxtool.com/pt/infograficos/mercado-mobile-no-brasil
13
25. Wearable devices
Relógios, pulseiras e
outros acessórios
Motoactv
Galaxy Gear
Sony Smartwatch
Qualcomm Toq
Destaque para as telas OLED dobráveis, principal
novidade tecnológica de 2013/2014
16
26. Wearable devices
Óculos
Google Glasses
Lançado no GoogleIO 2012
e disponível a partir de 2013
Recon Mod Live
Altitude, velocidade,
direção, posicionamento
GPS e realidade
aumentada
www.reconinstruments.com
17
27. Internet das coisas (IoT)
Utensílios domésticos
Refrigeradores e
máquinas de lavar da
Samsung
Aplicativos de receitas, dados
sobre tempo e temperatura,
e muito mais por ser Android
http://www.samsung.com/us/
appliances/refrigerators
18
28. Internet das coisas (IoT)
Cameras point-andshoot e mirrorless*
cameras Polaroid
19
29. Internet das coisas (IoT)
Smart TVs
Lenovo TV K91
Touch no controle remoto
http://www.youtube.com/
watch?v=LubgHYbqXso
20
35. Linux Kernel:
Camada de mais baixo nível que traz os drivers para
comunicação com o hardware adjacente
Hardware Abstraction Layer (HAL):
Camada de bibliotecas em C/C++ para padronizar o acesso
aos drivers do kernel
25
36. Libraries:
Camada de bibliotecas em Java úteis como o banco de dados
SQLite, ou Webkit para funcionalidades de browser
Android Runtime:
Camada do mesmo nível das demais bibliotecas Java, mas é
quem traz a máquina virtual Dalvik e suas bibliotecas do núcleo
26
37. Application Framework:
Camada que expõe diversos serviços e funcionalidades do
Android que o programador em geral faz uso em seus
aplicativos
Applications:
Camada toplevel onde ficam os aplicativos. Uns são fornecidos
com o aparelho (como o discador, contatos, browser...)
27
39. Android 1.0
HTC Dream (ou T-Mobile G1)
23 de setembro de 2008
API nível 1
Suporte a câmera
Apps do Google (calendar,
maps, youtube, search, talk,
sync)
Suporte Wi-Fi e bluetooth
Webkit browser
29
40. Android 1.1
Petit-Four
09 de fevereiro de 2009
Linux Kernel 2.6
API nível 2
Apenas pequenas melhorias nas
funcionalidades anteriores
Embora esse não tenha “pego”,
iniciou a brincadeira de chamar
cada versão por um nome de
sobremesa
30
41. Cupcake
Android 1.5
30 de abril de 2009
Linux Kernel 2.6.27
API nível 3
Considerado o primeiro marco
comercial do Android
Lançado junto com o HTC Magic
Grava e reproduz vídeos
Suporte a teclados virtuais de
terceiros com previsão de texto
http://www.youtube.com/watch?v=zpfQISmjmVs
31
42. Donut
Android 1.6
15 de setembro de 2009
Linux Kernel 2.6.27
API nível 4
Passou a suportar telas WVGA
(800x480)
Melhorias nos aplicativos e no
Android Market
Novas funções como o text-tospeech
http://www.youtube.com/watch?v=MBRFkLKRwFw
32
43. Eclair
Android 2.0, 2.0.1 e 2.1
26/10/2009, 03/12/2009, 12/01/2010
Linux Kernel 2.6.29
APIs níveis 5, 6 e 7
Primeira versão a entrar forte no
Brasil (através da Vivo)
Diversas melhorias e novas
funcionalidades nas apps pré
existentes
Suporte a múltiplas resoluções
de tela
Live wallpapers
http://www.youtube.com/watch?v=opZ69P-0Jbc
33
44. Froyo (frozen yogurt)
Android 2.2
20 de maio de 2010
Linux Kernel 2.6.32
API nível 8
JIT, USB Tethering e Wi-Fi hotspot
Suporte a Flash e browser com o
Chrome V8 (Javascript)
C2DM - cloude to device
Atualizações automáticas e
instalações de apps no SD Card
http://www.youtube.com/watch?v=yAZYSVr2Bhc
34
45. Gingerbread
Android 2.3 e 2.3.3 a 2.3.7
20 de maio de 2010
Linux Kernel 2.6.35
APIs níveis 9 e 10
Garbage Collector concorrente
Suporte a comunicações NFC
Múltiplas câmeras
Suporte ao codec de video VP8
e ao formato padrão WebM
Novos sensores giroscópio e
barômetro
http://www.youtube.com/watch?v=Jx3pdWBlZ34
35
46. Honeycomb
Android 3.0,3.1, 3.2 e 3.2
22 de fevereiro de 2011
Linux Kernel 2.6.36
APIs níveis 11, 12 e 13
Primeira versão feita para tablets. Não usada em smartphones.
Interface toda remodelada e com suporte a múltiplas versões de
telas com o uso de Fragments
Nova funcionalidade barra de ações (Action Bar)
Diversas melhorias de API
http://www.youtube.com/watch?v=RfJuigJebRg
36
47. Icecream Sandwich
Android 4.0.1-4.0.2 e 4.0.3-4.0.4
19 de outubro de 2011
Linux Kernel 3.0.1
APIs níveis 14 e 15
Reagrupou os esforços em uma única
versão para tablets e smartphones
Visual do honeycomb mais limpo
Possível instalar o próprio Google
Chrome como browser
Suporte a Wi-Fi Direct e melhorias nas
cameras e nas manipulações das
mídias
http://www.youtube.com/watch?v=M-AZ08wCwJA
37
48. Jelly Bean
Android 4.1, 4.2 e 4.3
09/07/2012, 13/11/2012 e 24/07/2013
Linux Kernel 3.0.31
APIs níveis 16, 17 e 18
Trouxe o Chrome como navegador
padrão e não mais suporta Flash
devido ao abandono da Adobe
Suporte a Nested Fragments
Suporte a multi-usuários em tablets
4.1 lançada com o Asus Nexus 7 e 4.2
com LG Nexus 4 e Samsung Nexus 10
http://www.youtube.com/watch?v=M-AZ08wCwJA
38
49. KitKat
Android 4.4
03 de setembro de 2013
Linux Kernel 3.8
API nível 19
Wireless printing
WebView baseada no Chromium
Apesar e já haver planos para o
4.5 (ainda Kitkat), provavelmente,
esta será última versão antes do
Android 5, Key Lime Pie
https://www.youtube.com/watch?v=_5DxyLLhXoI
39
50. Uso Mundial do Android 14/12/09 a 14/12/2013 - Wikipedia
Dados atualizados: http://developer.android.com/about/dashboards/index.html
40
51. Tipos de aplicativos
Foreground
Aplicativos úteis apenas enquanto estão visíveis
Muitos games se enquadram nessa categoria
O mais importante aqui é o pleno entendimento do ciclo de
vida das Activities
Background
Aplicativos menos comuns com um tempo proporcional de
interação com o usuário muito baixo
Exemplos são receptores de chamadas de voz, SMS ou
relógios de alarmes
Importante conhecer bem Services e Broadcast Receivers
41
52. Tipos de aplicativos
Intermittent
Misto dos dois primeiros tipo
A maioria dos aplicativos bem escritos precisa reagir a inputs
do usuário e a eventos em background
Interessante conhecer também Notifications
Widgets e Live Wallpapers
Esses tipos de aplicativos invadem a home screen do usuário
proporcionando uma experiência mais agradável e maior
praticidade no acesso
Há uma API específica para esses tipos de componentes
42
53. Google Play Store
Local onde você pode distribuir seus aplicativos
gratuitos ou pagos. Para utilizar é necessário:
Registrar-se como desenvolvedor. Taxa US$ 25.00
É possível pagar com o Google Wallet
Acessar o Google Developer Console
Disponibilizado após o registro
Enviar aplicativos
Registrar o nome e demais informações como descrição e duas
imagens obrigatórias (mais 6 screenshots são opcionais)
Enviar APK (pacote do aplicativo)
Acesse seus relatórios financeiros
http://developer.android.com/distribute/googleplay/publish/register.html
43