INTRODUÇÃO À PROGRAMAÇÃO ANDROID – Curso de Extensão
geralmente direcionadas para usuários com base em um atributo particular de hardware de seu dispositivo, como um sensor de movimento (para o movimento dependentes de jogos) ou uma câmera frontal (para chamadas de vídeo online).
CAPÍTULO 2
ESTRUTURA DA PLATAFORMA ANDROID
Android não é apenas um “Sistema Operacional”. Android trata-se de uma pilha de componentes de software, desenvolvida para dispositivos móveis, que inclui sistema operacional, bibliotecas, frameworks de middleware e aplicacões-chave.
O Android é caracterizado por:
x Possuir um framework para desenvolvimento de aplicações que permite reutilização de código e outros benefícios da Programação Orientada a Objetos.
x Uso da máquina virtual Dalvik, otimizada para dispositivos móveis. x Navegador de internet WebKit integrado.
x Bibliotecas gráficas 2D e 3D.
x Sistema gerenciador de banco de dados SQLite.
x Suporte a diversos tipos de arquivos de imagens, vídeo e áudio. x Telefonia GSM.
x Conexões por Bluetooth, Wi-Fi, EDGE e 3G.
x Suporte a câmeras, GPS, bússola e acelerômetros. x Ambiente de desenvolvimento com diversos recursos.
Os principais componentes da arquitetura Android são relacionados desta forma:
x Aplicações: As implementações de Android trazem aplicações como clientes de correio eletrônico, gerenciadores de SMS, agendas e toda sorte de programas geralmente encontrados nestes dispositivos.
x Framework de Aplicações: As aplicações Android compartilham um conjunto de subsistemas e serviços que implementam componentes visuais, repositórios de conteúdo, gerenciadores de recursos, de notificações e o de atividades.
x Bibliotecas: Todas as implementações aqui citadas são mantidas sobre um extenso conjunto de bibliotecas. Abaixo, algumas das principais bibliotecas:
o System C library – uma implementação derivada da biblioteca C sintonizada para dispositivos rodando Linux.
o Media Libraries – as bibliotecas suportam os mais populares formatos de áudio e vídeo, bem como imagens estáticas.
o Surface Manager – gere o acesso ao subsistema de exibição bem como as múltiplas camadas de aplicações 2D e 3D;
o LibWebCore – um web browser engine utilizado tanto no Android Browser quanto para exibições web.
INTRODUÇÃO À PROGRAMAÇÃO ANDROID – Curso de Extensão
o 3D libraries – uma implementação baseada no OpenGL ES 1.0 APIs; as bibliotecas utilizam aceleração 3D via hardware (quando disponível) ou o software de renderização 3D altamente otimizado incluído no Android.
o FreeType – renderização de fontes bitmap.
o SQLite – um poderoso e leve engine de banco de dados relacional disponível para todas as aplicações
x Runtime: As aplicações Android rodam em seus próprios processos e em instâncias particulares da máquina virtual Dalvik.
o Toda aplicação Android roda em seu próprio processo, com sua própria instância da máquina virtual Dalvik.
o O Dalvik foi escrito de forma a executar várias VMs eficientemente. Ele executa arquivos .dex, que é otimizado para consumo mínimo de memória. A VM é baseada em registros e roda classes compiladas pela linguagem Java que foram transformadas em arquivos .dex, através da ferramenta “dx” incluída no SDK.
o O Dalvik VM baseia-se no kernel do Linux para funcionalidades subjacentes como o encadeamento e a gestão de baixo nível de memória.
x Kernel Linux: Todas estas camadas de software executam sobre um kernel Linux da família 2.6.
De uma forma mais detalhada, as camadas da plataforma Android são compostas de:
Em mais detalhes: Nível zero
No nível zero, temos a base da pilha, ou seja, o Kernel (Linux Kernel), para desenvolvê-la foi utilizado à versão 2.6 do Sistema Operacional Linux. Nele encontraremos os programas de gerenciamento de memória, configurações de segurança e vários drivers de hardware.
Nível um
No nível um, temos as camadas de bibliotecas (Libraries) e tempo de execução (Android RunTime).
A camada de biblioteca é um conjunto de instruções que dizem ao dispositivo como lidar com diferentes tipos de dados, incluindo um conjunto de biblioteca C / C + + usadas por diversos componentes do sistema e são expostas a desenvolvedores através da estrutura de aplicativo Android.
A camada de tempo de execução inclui um conjunto de bibliotecas do núcleo Java (Core Libraries). Para desenvolver aplicações para o Android, os programadores utilizam a linguagem de programação Java, nesta camada encontraremos a Máquina Virtual Dalvik (DVM).
INTRODUÇÃO À PROGRAMAÇÃO ANDROID – Curso de Extensão
O Android usa a máquinas virtuais Dalvik para rodar cada aplicação com seu próprio processo. Isso é importante por algumas razões: nenhuma aplicação é dependente de outra e se uma aplicação parar, ela não afeta quaisquer outras aplicações rodando no dispositivo e isso simplifica o gerenciamento de memória, pois a máquina virtual está baseada em registradores e desenvolvida de forma otimizada para requerer pouca memória e permitir que múltiplas instâncias executem ao mesmo tempo.
Ao contrário do que se afirma, que a Dalvik é uma máquina virtual Java, isso não é verdadeiro, pois ela executa seu próprio tipo de bytecodes.
Nível dois
No nível dois, temos a camada de framework de aplicação (Application Framework), programas que gerenciam as aplicações básicas do telefone. Os desenvolvedores têm acesso total ao framework como um conjunto de ferramentas básicas com o qual poderá construir ferramentas mais complexas. Nível três
No nível três, temos a camada de aplicações e as funções básicas do dispositivo. Esta é a camada de interação entre o usuário e o dispositivo móvel, nela encontramos aplicativos cliente de e-mail, programa de SMS, calendário, mapas, navegador, contatos entre outros.
CAPíTULO 3
PREPARAÇÃO DO AMBIENTE
Para desenvolver aplicativos para dispositivos com sistema operacional android é preciso ter os seguintes softwares em seu computador (para Windows):
x JDK – Java Development Kit x JVM – Java Virtual Machine
x ANDROID SDK (já vem incluso o Eclipse)
Nesse capítulo, vamos apresentar os passos a serem seguidos para a obtenção do SDK android que, a partir de 2012, passou a ter incorporado, num mesmo pacote, o SDK Manager, o ADT Android e o Eclipse IDE, que representam:
x SDK ANDROID: Standard Development Kit: inclui documentação, código e utilitários para que programadores consigam desenvolver as suas aplicações.
x ADT ANDROID: Android Development Tools: Eclipse IDE: Ambiente de desenvolvimento de aplicações Android usando a linguagem Java.
A preparação do ambiente para desenvolvimento Android foi dividida em partes, que mostram o passo a passo para obtenção e configuração das ferramentas necessárias:
PARTE I - OBTENÇÃO DAS FERRAMENTAS 1. Acessar o site: http://developer.android.com/ 2. Acessar o menu Develop
3. Acessar o menu Tools
4. Na aba à esquerda, clicar em Download
INTRODUÇÃO À PROGRAMAÇÃO ANDROID – Curso de Extensão
PARTE II - CONFIGURAÇÃO DAS FERRAMENTAS
1. Descompactar o arquivo SDK baixado
2. Abrir o diretório em que o arquivo foi baixado 3. Executar o arquivo SDK Manager.exe
4. Selecionar as ferramentas (tools) e versões da API Android para instalar. 4.1 - vamos instalar duas versões 4.2.2 (atual) e 2.3.3 (mais usada) 5. Instalar os pacotes para poder criar aplicações nessas duas versões
2
3
4
PARTE III - INTEGRAÇÃO COM O ECLIPSE
1. No diretório de extração das ferramentas, o mesmo em que o SDK manager está localizado, acessar o diretório do eclipse (IDE que vamos usar para criar as aplicações android).
INTRODUÇÃO À PROGRAMAÇÃO ANDROID – Curso de Extensão
2. Uma vez com o Eclipse IDE rodando, selecionar o local do Workspace, isto é, o diretório onde os projetos serão criados/salvos.
3. Feito isso, na tela principal do Eclipse, devemos clicar no Android Virtual Device Manager, localizado na barra de itens.
3.1 No AVD podemos gerenciar os simuladores Android, ou seja, podemos criar simuladores para executar as aplicações Android desenvolvidas, para as diversas versões da API do Android.
4. Na interface de configuração do AVD, vamos criar um novo simulador:
INTRODUÇÃO À PROGRAMAÇÃO ANDROID – Curso de Extensão
4.1.1 – Vamos fornecer os seguintes dados para a criação de um novo dispositivo virtual:
x AVD Name: simulador x Dispositivo: 5.4” FWVGA
x Target: Android 4.2.2 – API Level 17
x As demais informações podem continuar as padrões, que são: CPU, Keyborad, Skin, Cameras (frontal e traseira) tamanhos de memória, capacidade de armazenamento interno e do SD card.
Feito isso, podemos iniciar a execução do simulador, clicando no botão de Start da interface de gerenciamento de AVDs:
INTRODUÇÃO À PROGRAMAÇÃO ANDROID – Curso de Extensão
Podemos perceber que há botões que simulam os botões de aparelhos móveis. TELA INICIAL DO ANDROID DURANTE A EXECUÇÃO NO SIMULADOR
INTRODUÇÃO À PROGRAMAÇÃO ANDROID – Curso de Extensão
MENU DE APLICAÇÕES ONDE AS APLICAÇÕES CRIADAS IRÃO ESTAR LOCALIZADAS.