View
222
Download
1
Category
Preview:
Citation preview
Introdução ao Desenvolvimento para Dispositivos Móveis
Victor Adriel de Jesus OliveiraINF - 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
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
• 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
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 segundaActivity
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
Lojas Virtuais Android
• Para publicar seus aplicativos no Google Play, basta logarcom 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
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
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 Oliveiravajoliveira@inf.ufrgs.br
Skype: victor.adriel
Recommended