Baixe o app para aproveitar ainda mais
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
Compartilhar