Buscar

Introdução ao Desenvolvimento para Dispositivos Móveis

Prévia do material em texto

Introdução ao Desenvolvimento 
para Dispositivos Móveis
Victor Adriel de Jesus Oliveira
INF - UFRGS
PARTE II
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
• O Android oferece um conjunto completo de software para 
dispositivos móveis: um sistema operacional, middleware e 
aplicações chave
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
• A OHA é composta por empresas fabricantes de dispositivos 
móveis, operadoras, empresas de comercialização, de 
semicondutores e de software
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
8
86.1%
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
Vendas de Smartphones no Brasil de 2013 a 2016 (fonte: http://www.statista.com/)
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
11
FRAMEWORK DE APLICAÇÕES
Arquitetura Android
12
Camada responsável pelo controle 
de processos, gerência de memória, 
threads, protocolos de rede e a 
segurança dos arquivos.
Arquitetura Android
13
Conjunto de bibliotecas C/C++ 
utilizadas por vários componentes 
do Android.
Cada aplicação no Android roda em 
um processo diferente no Linux e 
para cada processo é criada uma 
instância da máquina virtual Dalvik. 
Arquitetura Android
14
Conjunto de APIs. Contém ferramentas para a 
criação de interfaces e ferramentas de sistema, 
como as intents utilizadas para iniciar outros 
aplicativos/atividades ou abertura de arquivos.
Arquitetura Android
15
Camada de Aplicações onde se localizam todos 
os aplicativos que são executados sobre o 
sistema operacional, como gerenciador de SMS, 
cliente de email, navegador, mapas, calculadora, 
etc.
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
17
Primeira Activity Segunda Activity
Esta é a 
segunda
Activity
Componentes do Framework Android
• Activity: ciclo de vida
18
Componentes do Framework Android
• Activity: ciclo de vida
19
onCreate()
método criado quando a 
atividade é iniciada
Componentes do Framework Android
• Activity: ciclo de vida
20
onStart()
método chamado quando a 
aplicação fica visível para o 
usuário
Componentes do Framework Android
• Activity: ciclo de vida
21
onRestart()
necessário quando uma 
aplicação estiver prestes a 
ser chamada novamente
Componentes do Framework Android
• Activity: ciclo de vida
22
onResume()
método chamado quando a 
aplicação irá interagir com o 
usuário
Componentes do Framework Android
• Activity: ciclo de vida
23
onPause()
método chamado quando o 
sistema está prestes a 
retomar uma outra Activity
Componentes do Framework Android
• Activity: ciclo de vida
24
onStop()
método chamado quando a 
aplicação não estiver mais 
sendo executada
Componentes do Framework Android
• Activity: ciclo de vida
25
onDestroy()
método chamado quando a 
aplicação já terminou, ou 
quando o sistema necessita 
finalizar uma Activity
Componentes do Framework Android
• Services
• componente responsável por rodar tarefas em background
26
Ciclo de vida diferente. Não 
contém componentes de 
interface
Componentes do Framework Android
• Intents
• componente que inicia os demais. Para criar uma nova activity ou 
service, você utiliza intents
27
Aplicação Android
Aplicação Android
Activity principal
Activity principal
outra 
activity
outra 
activity
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
• É possível fazer o download do Android SDK separadamente 
ou através da instalação do Android Studio
30
Ambiente de Desenvolvimento
• O Android Studio é o ambiente de desenvolvimento 
integrado (IDE) oficial para a plataforma Android
• O Android Studio foi lançado em Maio de 2013 e sua 
primeira versão estável em Junho de 2014. Ele é 
disponibilizado gratuitamente sob a Licença Apache 2.0
31
Ambiente de Desenvolvimento
32
A imagem do sistema mais 
recente do Android para o 
emulador
Android Studio
Ferramentas do SDK do 
Android
Hello World com Android
33
http://www.inf.ufrgs.br/~vajoliveira/cei.html
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
• Feito isso você terá acesso ao console do desenvolvedor 
Android
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 Nque 
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
Victor Adriel de Jesus Oliveira
vajoliveira@inf.ufrgs.br
Skype: victor.adriel

Continue navegando