Buscar

Aula 3 - Introdução Android

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/

Continue navegando