55
Introdução ao Desenvolvimento para Dispositivos Móveis Victor Adriel de Jesus Oliveira INF - UFRGS PARTE II

Introdução ao Desenvolvimento para Dispositivos Móveisvajoliveira/images/cei/docs/IntroToMobileII.pdf · cliente de email, navegador, mapas, calculadora, ... • O Android Studio

  • Upload
    dothu

  • View
    220

  • Download
    1

Embed Size (px)

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

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 segundaActivity

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

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 [email protected]

Skype: victor.adriel