Android (Sistema Operativo)

Este artigo é patrocinado por: «A sua instituição aqui»

Apresentação do Android (Sistema Operativo)

Em 2003 na cidade de Palo Alto na Califórnia, Andy Rubin fundou a Android Inc. uma empresa de tecnologia totalmente independente. Dois anos mais tarde, em 2005 o Google adquiriu a Android Inc., dentro do Google, uma equipa liderada por Rubin, desenvolveu uma plataforma móvel baseada em Linux, com o objetivo de ser uma plataforma flexível, aberta, livre e de fácil migração para os fabricantes.

Em 2007 surgiu a OHA (Open Handset Alliance), aliada a diversas empresas com o intuito de inovar e acelerar o desenvolvimento de aplicações e serviços para Android.

O Google fornece gratuitamente uma biblioteca para o desenvolvimento de aplicações Android em Java, na qual a quantidade de aplicações desenvolvidas por terceiros tem um acréscimo significativo. Tais aplicações encontram-se disponíveis, gratuitamente como pagos no Google Play, sendo esta a loja e distribuidora oficial de aplicações Android.

Além disso é um sistema robusto, na qual oferece uma série de recursos e ferramentas que facilitam o desenvolvimento de aplicações para dispositivos móveis, tais como máquina virtual Dalvik (baseada na JVM), base de dados SQLite, touch screen, GPS, gráficos 3D, acelerômetro, giroscópio e outros.

Versões da Plataforma

Para batizar cada versão do Android desde a versão 1.5 o Google determinou dar nomes de sobremesas ou bolos em inglês e seguem uma lógica alfabética a cada atualização do sistema.

Versão Data Codename
1.0 23 de Setembro de 2008 Astro
1.1 9 de Fevereiro de 2009 (Sem apelido)
1.5 30 de Abril de 2009 Cupcake
1.6 15 de Setembro de 2009 Donut
2.0/2.1 26 de Outubro de 2009 Eclair
2.2 20 de Maio de 2010 Froyo
2.3 6 de Dezembro de 2010 Gingerbread
3.0 22 de Feveireiro de 2011 Honeycomb
4.0 19 de Outubro de 2011 Ice Cream Sandwich
4.1/4.2 27 de Junho de 2012 Jelly Bean
4.4 31 de Outubro de 2013 Kit Kat
5.0 3 de Novembro de 2014 Lollipop

Estrutura geral da plataforma Android

Algumas características principais do Android, destacam-se:

  • Framework de Aplicação: Permite que aplicativos possam ser desenvolvidos reutilizando e substituindo componentes existentes, o que agiliza o desenvolvimento de aplicativos.
  • Máquina Virtual Dalvik: As aplicações escritas em java são compiladas em bytecode Dalvik e executadas utilizando a Máquina Virtual Dalvik, que é uma máquina virtual para uso de dispositivos móveis, na qual os programas são distribuídos em formato binário (bytecode) e possam ser executados em qualquer dispositivo Android, independentemente do processador utilizado.
  • Browser Integrado: Possui um navegador integrado, que utiliza a Engine Open Source Webkit e que torna possível a renderização de páginas web no dispositivo móvel.
  • Suporte Gráfico Avançado: Bibliotecas 2D/3D baseadas no OpenGL e suporte a aceleração de gráficos por hardware.
  • Armazenamento: É utilizado SQLite para armazenamento de dados de forma estruturada.
  • Suporte Multimídia: Nativamente suporta os padrões mais utilizados de arquivos multimídia tais como áudio, vídeo e formatos de imagem (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG e GIF).
  • Mensagens: Tanto SMS como MMS são formas disponíveis de envio de mensagens., dependendo do hardware.
  • Telefonia GSM: Oferece suporte a telefonia GSM, dependendo do hardware.
  • Acessibilidade: Suporte de Bluetooth, EDGE, 3G e WiFi, dependendo do hardware.
  • Vídeo e Afins: Suporte de câmeras, GPS, bússola e acelerómetro, ecrã sensível ao toque, aceleração de gráficos 3D, dependendo do hardware.
  • Ambiente de desenvolvimento (SDK): Possui um ambiente de desenvolvimento completo, incluindo um emulador de dispositivo, com ferramentas de depuração, monitoramento de memória e desempenho.

Poderá ser utilizado um plugin ADT que integra essas funcionalidades ao Eclipse, que é um ambiente de desenvolvimento integrado (IDE-Integrated Development Environment) genérico e multiplataforma.

A arquitetura do Android

Um dos pontos importantes na plataforma Android é a sua arquitetura, que estrutura a criação dos aplicativos de forma a manterem um mesmo padrão, sendo também responsável por gerenciar os seus respetivos processos, conforme ilustrado na  Figura 1, esta arquitetura é dividida em quatro camadas:

Figura 1 - Arquitetura da plataforma Android

Figura 1 – Arquitetura da plataforma Android

Camada de Aplicações – Juntamente com o Android vem um conjunto de aplicações importantes que capacita ao desenvolvedor o desenvolvimento de outras aplicações. Desses aplicativos podemos citar Cliente de e-mail, cliente de SMS e MMS, Agenda, Mapas, Navegador, Contactos, entre outros.

Todos os aplicativos implementados foram desenvolvidos na linguagem de programação Java.

– Framework de Aplicações – O Android fornece uma plataforma de desenvolvimento aberto, na qual os desenvolvedores tem acesso irrestrito as API’s usados pelas aplicações principais, sendo livres para aproveitar as vantagens dos dispositivos. Os principais módulos são detalhados a seguir:

. Gerenciador de atividade (Activity Manager) – Gere todo o ciclo de vida de uma aplicação Android, ou seja, o tempo desde quando a aplicação é ativada até quando é finalizada por completo.

. Provedor de Conteúdo (Content Provider) – Permite aos aplicativos acederem a conteúdos de outros aplicativos ou mesmo disponibilizarem seus conteúdos aos outros.

. Gerenciador de Notificações (Notification Manager) – Aqui vai permitir que cada aplicação mostre na barra de status notificações personalizadas.

. Gerenciador de Recursos (Resource Manager) – Fornece acesso a recursos “extras” como gráficos e layoutes, por exemplo. Pode-se ainda citar outras funcionalidades providas pelo Framework como, um conjunto de componentes de interface que inclui listas, caixas de texto, botões, entre outros recursos usados no projeto de interfaces gráficas.

– Bibliotecas– O Android inclui um conjunto de bibliotecas C/C++ utilizadas por vários componentes no sistema. Essas bibliotecas permitem trabalhar com arquivos de multimídia comuns como, por exemplo, MPEG4, H.264, MP3, AAC, AMR, JPG e PNG.

Componentes como o Surface Manager que vai permitir a manipulação de imagens 2D e 3D, baseadas no OpenGL (Open Graphics Library). O OpenGL é um conjunto de várias funções que fornecem acesso a praticamente todos os recursos do hardware de vídeo. Para completar, foi disponibilizado também o SQLite, um simples banco de dados relacional. As aplicações que usam SQLite podem ter assim acesso a uma base de dados relacional SQL, sem a necessidade de recorrerem a sistemas de base de dados RDBMS (relational database management system) separados. Isto permite um nível menor de consumo de recursos.

– Android Runtime – O Android inclui um grupo de bibliotecas que fornece a maioria das funcionalidades disponíveis nas principais bibliotecas da linguagem Java. Esta camada é responsável pela execução de programas complexos em ambientes com memória limitada, bateria limitada, processamento limitado entre outros.

Cada aplicação Android é executada em um processo próprio e restrito, com sua própria instância da máquina virtual Dalvik. O Dalvik foi escrito de forma a executar várias VMs (Virtual Machines) eficientes e baseia-se no kernel do Linux para funcionalidades subjacentes como o encadeamento e a gestão de baixo nível de memória.

Linux Kernel – Esta é a camada mais inferior da arquitetura, é onde se encontra o núcleo do sistema operacional, neste caso, o Kernel Linux. O Android utiliza o Linux para coordenar serviços vitais ao seu funcionamento, como segurança, gestão de memória, gestão de processos, utilização da rede e drivers. O Kernel do Linux atua como uma camada de abstração entre o hardware do dispositivo e o resto do conjunto de softwares que são desenvolvidos em paralelo.

Desenvolvimento Android

Para o desenvolvimento de aplicações, a Google disponibiliza algumas ferramentas livres e gratuitas.

– O Android SDK (Software Developer Kit) é o kit de desenvolvimento que disponibiliza as ferramentas e APIs necessários para desenvolver aplicações para a plataforma Android utilizando a linguagem Java.

http://developer.android.com/sdk/index.html

Para criar aplicativos é necessário ter um ambiente para desenvolvimento Java.

Android Studio – IDE de programação para a plataforma Android, baseado no IntelliJ IDEA. A IDE é similar ao Eclipse com o plugin ADT e fornece ferramentas de desenvolvimento integradas Android para desenvolvimento e depuração.

O Android Studio é simples, rápida e conta com diversas funcionalidades para o desenvolvimento mobile, pois é especializada na tarefa de desenvolvimento.

Uma grande vantagem da ferramenta é que é de simples configuração, basta instalar o “java jdk” e o Android Studio, que vem com todos os pacotes para o desenvolvimento na plataforma Android, incluindo o SDK, as ferramentas e os emuladores.

2908 Visualizações 1 Total
2908 Visualizações

A Knoow é uma enciclopédia colaborativa e em permamente adaptação e melhoria. Se detetou alguma falha em algum dos nossos verbetes, pedimos que nos informe para o mail geral@knoow.net para que possamos verificar. Ajude-nos a melhorar.

Gostaria de ser nosso colaborador?

É especialista em alguma das áreas de conhecimento presentes na nossa enciclopédia? Tem gosto pela escrita? Gostaria de ser editor numa enciclopédia em português, integralmente escrita por especialistas? Gostaria de partilhar conhecimento?

Se a sua resposta é sim, então envie-nos o seu CV para geral@knoow.net para que possamos analisar e enviar mais detalhes sobre a forma de colaboração.

 

Áreas para as quais procuramos especialistas:

  •  Biologia
  •  Economia
  •  História
  •  Medicina
  •  Medicina Veterinária
  •  Filosofia
  •  Sociologia
  •  Contabilidade
  •  Direito
  •  Mecânica
  •  Química
  •  Física
  •  Matemática