Baixe o app para aproveitar ainda mais
Prévia do material em texto
Unidade IV – Programação para dispositivos móveis Prof. Jorge Bergson / Prof. Milton Escóssia � É uma plataforma de software de código aberto que incluiincluiincluiinclui um sistema operacional para dispositivos móveis baseado no SO Linux; � Essa plataforma inclui: � Sistema Operacional (Kernel GNU Linux); � Middleware;Middleware;Middleware;Middleware; � Aplicações; � MiddlewareMiddlewareMiddlewareMiddleware � Designação genérica utilizada para referir aos sistemas de software que se executam entre as aplicações e os sistemas operacionais; � É utilizado para mover ou transportar informações e dados entre programas de diferentes protocolos de comunicação, plataformas e dependências do sistema operacional; � MiddlewareMiddlewareMiddlewareMiddleware � É geralmente constituído por módulos dotados com APIs de alto nível que proporcionam a sua integração com aplicações desenvolvidas em diversas linguagens de programação e interfaces de baixo nível que permitem a sua independência relativamente ao dispositivo; � Foi desenvolvido pela empresa Android Inc. que foi adquirida pelo Google em 2005; � Em 2007 foi formada a Open Open Open Open HandsetHandsetHandsetHandset AllianceAllianceAllianceAlliance (OHA):(OHA):(OHA):(OHA): � Criada e fundada pela Google, nasceu para o desenvolvimento e implementação do Android em dispositivos móveis; � Acelerar as inovações nas comunicações móveis e oferecer a seus consumidores um melhor serviço; � Open Open Open Open HandsetHandsetHandsetHandset AllianceAllianceAllianceAlliance (OHA):(OHA):(OHA):(OHA): � Consórcio que inicialmente contava com 34 empresas e hoje possui mais de 80; � Dentre as empresas que a formam estão: � Fabricantes de Dispositivos Móveis – Samsung, LG, HTC, Motorola... � Fabricantes de Componentes – Texas Instruments, Intel, Nvidia... � Fabricantes de Software – PV, Ebay, Esmertec... � Operadoras Móveis de todo mundo – T-Mobile. Italia Telecom, China Mobile... � Empresas de Comercialização – Aplix, Noser, Systems... � HTC T-Mobile Google G1 � Código aberto (open source); � A ideia é que programadores de todo o mundo contribuam de maneira livre e constante com o seu desenvolvimento; � É liberado também para que os fabricantes desenvolvam aplicações específicas para seus aparelhos; � Importante: não é pelo fato da licença ser de código aberto que todas as aplicações serão gratuitas; � Todos os serviços básicos, como gerenciamento de drivers, memória e segurança, estão baseados no LinuxLinuxLinuxLinux; � Máquina virtual Máquina virtual Máquina virtual Máquina virtual DalvikDalvikDalvikDalvik : � Otimizada para requerer pouca memória e poder usar várias instancias simultaneamente sem que o dispositivo fique lento; � Os executáveis tem uma extensão ....dexdexdexdex, que é uma versão otimizada do ....classclassclassclass; � A linguagem em que se programa é Java; � Navegador web integradoNavegador web integradoNavegador web integradoNavegador web integrado, baseado no projeto open source Webkit: � O mesmo do iPhone e Nokia série 60; � Utiliza o SQLiteSQLiteSQLiteSQLite para armazenamento de dados estruturados; � Já vem incluído no SDK; � Também é possível utilizar outros BDs; � Bluetooth, EDGE, 3G e Bluetooth, EDGE, 3G e Bluetooth, EDGE, 3G e Bluetooth, EDGE, 3G e WiFiWiFiWiFiWiFi: � Foco nas principais tecnologias de comunicação de dados sem fio; � Dependente de hardware; � Câmera, GPS, bússola e acelerômetroCâmera, GPS, bússola e acelerômetroCâmera, GPS, bússola e acelerômetroCâmera, GPS, bússola e acelerômetro: � Dependente de hardware; � Biblioteca de gráficos Biblioteca de gráficos Biblioteca de gráficos Biblioteca de gráficos otimizada para dispositivos móveis: biblioteca para gráficos 2d e 3d baseada na especificação OpenGL ES 1.0; � Suporte multimídiaSuporte multimídiaSuporte multimídiaSuporte multimídia: compatibilidade com os principais formatos existentes, dentre eles: mpeg4, mp3, aac, amr, jpg, png e gif; � Telefonia GSMTelefonia GSMTelefonia GSMTelefonia GSM: As aplicações podem manipular operações telefônicas, caso o fabricante permita esse acesso; � Framework de desenvolvimento de Framework de desenvolvimento de Framework de desenvolvimento de Framework de desenvolvimento de aplicaçõesaplicaçõesaplicaçõesaplicações: � Reutilização de código; � Facilidade de acesso a recursos exclusivos e manutenção facilitada; � Ambiente de desenvolvimento com pluginpluginpluginplugin para Eclipsepara Eclipsepara Eclipsepara Eclipse, incluindo: � Emulador; � Ferramentas para debug, supervisão de memória e desempenho; � A arquitetura da plataforma Android é dividida em quatro camadas: � Kernel GNU Linux; � Bibliotecas; � Framework para aplicações; � As próprias aplicações; � Além da porção runtime, necessária para a execução dos aplicativos no dispositivo; � Responsável por gerenciar: � Processos e threads; � Memória; � Arquivos e pastas; � Redes; � Drivers dos dispositivos; � Energia; � Os drivers de dispositivo fornecidos incluem display,câmera, teclado, WiFi, etc. � Não existe uma JVM e sim outra máquina virtual, a DalvikDalvikDalvikDalvik, otimizada para interpretar códigos em dispositivos móveis; � Ao compilar um bytecode (.classclassclassclass), este é convertido para o formato específico da máquina virtual Dalvik, o .dexdexdexdex (Dalvik Executable), que representa a aplicação compilada; � Depois da aplicação Android ter sido compilada é gerado um arquivo único, neste caso com a extensão .apkapkapkapk (Android Package File); � A camada de Bibliotecas é formada por um conjunto de bibliotecas escritas em C/C++; � Tudo disponível para os desenvolvedores através do Framework de aplicações; � Entre as mais importantes encontra-se o SQLite, OpenGL, WebKit, FreeType, Secure Sockets Layer (SSL) e as bibliotecas de mídia que permitem reproduzir arquivos de áudio, vídeo e imagem. � O Framework é uma base para as aplicações, onde os desenvolvedores tem acesso completo; � Pensando na reutilização dos componentes, uma aplicação pode capturar funcionalidades de outra criada anteriormente para o seu desenvolvimento; � Recursos inclusos: � TelephonyTelephonyTelephonyTelephony managermanagermanagermanager: gerência de hardware do dispositivo; � ViewViewViewView systemsystemsystemsystem: conjunto de telas (componentes gráficos) para desenvolver uma aplicação; � ContentContentContentContent providersprovidersprovidersproviders: dados que são compartilhados entre várias aplicações: � Exemplo: a agenda; � Recursos inclusos: � Resource ManagerResource ManagerResource ManagerResource Manager: administrador de recursos que permite acessar strings, gráficos, arquivos de layout, etc; � NotificationNotificationNotificationNotification ManagerManagerManagerManager: administrador de notificações para mostrar alertas; � ActivityActivityActivityActivity ManagerManagerManagerManager: gerencia o ciclo de vida das aplicações e da navegação entre elas; � Recursos inclusos: � LocationLocationLocationLocation Manager:Manager:Manager:Manager: serviço de localização. Permite o celular receber avisos, notificações, eventos, etc. de um lugar específico ou de sua localização atual; � Serviço XMPP: Serviço XMPP: Serviço XMPP: Serviço XMPP: Envio de mensagens para aplicações entre terminais Android. � Pode ser utilizado entre jogos multiusuário, por exemplo; � Conjunto de aplicações do Android, dentre as básicas encontra-se um navegador Web, um cliente de e-mail, um calendário, entre outras; � Todas feitas em linguagem Java; Fonte: http://developer.android.com/about/dashboards/index.htmlFonte: http://developer.android.com/about/dashboards/index.html http://www.android.com/whatsnew/
Compartilhar