Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdução ao Desenvolvimento
para Dispositivos Móveis
Victor Adriel de Jesus Oliveira
INF - UFRGS
Summary
• PARTE I
• Introdução a Plataformas Móveis
• Padrões para o Desenvolvimento de Aplicativos
• Prototipagem de Apps Móveis (+ prática)
• Programação de Apps Híbridos com HTML (+ prática)
• PARTE II
• Programação de Apps Híbridos com HTML (+ prática)
• Programação de Apps Nativos com Android (+ prática)
• Novos Usos para Dispositivos Móveis
Introdução ao Android
Sobre o Android
• O Android é uma plataforma de software que permite criar
aplicativos para dispositivos móveis, como smartphones e
tablets
4
Sobre o Android
• O Android foi desenvolvido pela Google™, e posteriormente
pela OHA (Open Handset Alliance), uma organização que
une várias empresas com o objetivo de criar padrões
abertos para dispositivos móveis
5
Versões do Android
• O HTC Dream, smartphone produzido pela empresa HTC, foi
o primeiro dispositivo comercializado com o sistema
operacional Android
7
Comercialização do Android
86.1%
8
Comercialização do Android
• Em Outubro de 2016, o sistema operacional Android tinha
uma quota de 94,4% do mercado de smartphones no Brasil
9
Características do Android
• Código fonte open source
• Foi baseado no kernel do Linux
• Kit de desenvolvimento Java (Android SDK)
• Possui o SQLite, um SGBD nativo
• Tem suporte a gráficos 3D baseado na especificação 3.1 da
OpenGL ES (API lvl 21).
10
Arquitetura Android
FRAMEWORK DE APLICAÇÕES
11
Arquitetura Android
12
Arquitetura Android
14
Arquitetura Android
15
Componentes do Framework Android
• Os principais componentes do framework Android são:
• Activities
• Services
• Intents
• Broadcast receivers
16
Componentes do Framework Android
• Activity
• Componente que representa a tela, na qual o usuário interage com
a aplicação
Esta é a
segunda
Activity
17
Componentes do Framework Android
• Activity: ciclo de vida
18
Componentes do Framework Android
• Activity: ciclo de vida
onCreate()
método criado quando a
atividade é iniciada
19
Componentes do Framework Android
• Activity: ciclo de vida
onStart()
método chamado quando a
aplicação fica visível para o
usuário
20
Componentes do Framework Android
• Activity: ciclo de vida
onRestart()
necessário quando uma
aplicação estiver prestes a
ser chamada novamente 21
Componentes do Framework Android
• Activity: ciclo de vida
onResume()
método chamado quando a
aplicação irá interagir com o
usuário
22
Componentes do Framework Android
• Activity: ciclo de vida
onPause()
método chamado quando o
sistema está prestes a
retomar uma outra Activity
23
Componentes do Framework Android
• Activity: ciclo de vida
onStop()
método chamado quando a
aplicação não estiver mais
sendo executada
24
Componentes do Framework Android
• Activity: ciclo de vida
onDestroy()
método chamado quando a
aplicação já terminou, ou
quando o sistema necessita
finalizar uma Activity
25
Componentes do Framework Android
• Services
• componente responsável por rodar tarefas em background
26
Componentes do Framework Android
• Intents
• componente que inicia os demais. Para criar uma nova activity ou
service, você utiliza intents
Aplicação Android
outra
Activity principal
activity
Aplicação Android
outra
Activity principal activity
27
Componentes do Framework Android
• Broadcast receiver
• componente responsável por responder a eventos do sistema
28
Recursos de Hardware
• Para obter dados de sensores, como acelerômetro,
giroscópio ou sensor de proximidade, é necessário somente
fazer com que a nossa activity implemente a classe
SensorEventListener e indicarmos de qual sensor
esperamos obter os dados
29
Ambiente de Desenvolvimento
• O Android SDK fornece as bibliotecas da API e as
ferramentas necessárias para construir, testar e depurar
seus aplicativos para Android
30
Ambiente de Desenvolvimento
• O Android Studio é o ambiente de desenvolvimento
integrado (IDE) oficial para a plataforma Android
31
Ambiente de Desenvolvimento
Android Studio
http://www.inf.ufrgs.br/~vajoliveira/cei.html
33
Habilitar USB Debugging
• Settings > About Phone > Build number (Tap 7x)
34
Habilitar USB Debugging
• Settings > Developer Options > USB Debugging
35
Pratica: Chamar Tela com Intent
36
Lojas Virtuais Android
• O Google Play é a loja oficial para distribuição de aplicativos
Android
37
Lojas Virtuais Android
• Para publicar seus aplicativos no Google Play, basta logar
com sua conta Google, e se você ainda não for um
desenvolvedor cadastrado basta preencher os formulários e
fazer o pagamento de $25 com um cartão de crédito
38
Lojas Virtuais Android
• Em alternativa ao Google Play, existem outras lojas onde
seu aplicativo pode ser comercializado:
• Amazon Appstore for Android
• GetJar
• Slide ME
• F-Droid
• AppsLib
39
Comentários Finais
• A plataforma Android é composta de um sistema
operacional, middleware e aplicações móveis
• O Android tem liderado as vendas de smartphones
comparado a outras plataformas
• Fazendo o download de um único pacote se obtém todo o
ambiente de desenvolvimento do Android. Isto simplifica e
agiliza o desenvolvimento de aplicativos
• Existem diversas lojas virtuais onde se pode distribuir e
comercializar aplicativos Android
40
Outras Aplicações
Android em Outros Dispositivos
Android em Outros Dispositivos
Android em Outros Dispositivos
Games Móveis
• Existem engines que exigem apenas conhecimento em
lógica de programação, como o Construct 2 e GameSalad
• E aquelas que exigem mais conhecimento em programação,
como Unity 3D, Game Maker e Cocos2d-x
Realidade Virtual
• Daydream é a plataforma integrada ao Android N que
permitirá a fabricantes de hardware exibirem e criarem os
próprios conteúdos e serviços de VR mobile
• O mesmo conteúdo é disponibilizado hoje através do
projeto Google Cardboard
Realidade Aumentada
• O Google propõe através do Projeto Tango um smartphone
que consegue mapear o mundo à sua volta em 3D
• iOS 11 também já promete vir com novas funcionalidades
para possibilitar o desenvolvimento de apps para realidade
aumentada
Outras Aplicações Móveis
• Collaborative Object Manipulation (VR)
https://vimeo.com/groups/cgufrgs/videos/195470078
Outras Aplicações Móveis
• Collaborative Object Manipulation (AR)
https://youtu.be/lXSAkIIv9e0
Outras Aplicações Móveis
• Second Screen
Outras Aplicações Móveis
• Second Screen
https://vimeo.com/groups/cgufrgs/videos/35211441
Outras Aplicações Móveis
• 3D Visualization
https://vimeo.com/groups/cgufrgs/videos/96840154
Outras Aplicações Móveis
• 3D Visualization
https://vimeo.com/groups/cgufrgs/videos/195470179
Comentários Finais
• Aplicações móveis estão inseridas na computação ubíqua
que implica em um grande mercado a ser atendido
• Várias opções de desenvolvimento (sistemas web
responsivos, apps híbridos, nativos, diferentes plataformas
e linguagens de programação...), mas os princípios de
design são similares
• Atender a questões relacionadas à experiência do usuário
(conteúdo, contexto, e perfis de usuário) agregam valor à
aplicação
54
Referências
• http://www.android.com/
• http://techland.time.com/2013/04/16/ios-vs-android/
• http://socialcompare.com/en/comparison/android-versions-
comparison
• https://developer.android.com/studio/index.html
• http://www.statista.com/statistics/266136/global-market-share-held-
by-smartphone-operating-systems/
• http://www.statista.com/statistics/245189/market-share-of-mobile-
operating-systems-for-smartphone-sales-in-brazil/
55
Introdução ao Desenvolvimento
para Dispositivos Móveis