Desenvolvendo para Android: Arquitetura Android.

Para a galera interessada em começar a desenvolver na plataforma Android, irei publicar uma série de artigos para despertar o conhecimento básico, visando mostrar os principais conceitos da plataforma e seu ambiente de desenvolvimento.

Você pode tirar as dúvidas que surgirem no decorrer desta artigo sobre a Arquitetura Android diretamente com o autor do artigo, basta pra isso comentar a sua dúvida ao final do artigo! Comente, isso nos ajuda a entender melhor o que estamos fazendo! E se realmente estamos sendo util para o seu aprendizado!
Não esqueça que você pode acessar nossas vídeo aulas sobre Android:

  1. Introdução ao Android
  2. Instalação do Android SDK
  3. Instalação e configuração da IDE Eclipse para desenvolvimento em android

O que é o Android?

O Android é um sistema operacional para dispositivos móveis, baseado em uma plataforma de código aberta sob a licença apache, permitindo que os fabricantes possam modificar seu código fonte, essa liberdade permite adicionar novos recursos e incorporá-los ao sistema, desta forma o software evolui constantemente. O sistema possui cerca de 12 milhões de linhas de código, sendo: 3 milhões em XML; 2.8 milhões em C; 2.1 milhões em Java; e 1.75 milhões em C++.

Ao contrário do que muita gente pensa, o Android não é desenvolvido apenas pela Google, existe um grupo de empresas como a Motorola, Samsung, LG, Sony Ericsson, HTC, China Mobile, Intel, Asus e muitas outras, que forma o Open Handset Alliance (OHA) com o objetivo de desenvolver a plataforma.

Arquitetura Android

A arquitetura do sistema operacional Android é uma pilha de programas agrupados em camadas. Podemos dividir essas camadas em níveis zero, um, dois e três, conforme figura abaixo.

Arquitetura Android em níveis

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 utiliza a linguagem de programação Java, nesta camada encontraremos a Máquina Virtual Dalvik (DVM).

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.

Desenvolvendo para Android

Existe atualmente, cerca de três bilhões de pessoas que estão utilizando dispositivos móveis pelo mundo, e o Android é o sistema operacional mais utilizado para estes dispositivos. Aprender a desenvolver para essa plataforma significa uma estratégia de posicionamento no mercado da tecnologia. Se você quer começar a desenvolver em Android, terá que começar pelos conceitos básicos, entendendo a plataforma.

Veja também as vídeo aulas sobre Android e aprenda ainda mais! Assiste ai! E se restou dúvidas comente, temos o maior prazer em ajudar!

  1. Introdução ao Android
  2. Instalação do Android SDK
  3. Instalação e configuração da IDE Eclipse para desenvolvimento em android

Referência bibliográfica

LECHETA, Ricardo R. Google Android: aprenda a criar aplicações para dispositivos móveis com o Android SDK. Ed. Novatec. 2ª ed. São Paulo, 2010.

Comentarios

comentarios