Você está na página 1de 55

PARTE II

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

• 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

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

Vendas de Smartphones no Brasil de 2013 a 2016 (fonte: http://www.statista.com/)

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

Camada responsável pelo controle


de processos, gerência de memória,
threads, protocolos de rede e a
segurança dos arquivos.

12
Arquitetura Android

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.
13
Arquitetura Android

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.

14
Arquitetura Android

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.

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

Primeira Activity Segunda Activity

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

Ciclo de vida diferente. Não


contém componentes de
interface

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

• É 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

Android Studio

A imagem do sistema mais


recente do Android para o
emulador
Ferramentas do SDK do
Android
32
Hello World com Android

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

• 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 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

Victor Adriel de Jesus Oliveira


vajoliveira@inf.ufrgs.br
Skype: victor.adriel

Você também pode gostar