Introdução ao Android

Neste Post iremos apresentar um pouco sobre a historia do Android, onde e quando começou, e no que ele é baseado.

Andy Rubin foi o criador do Sistema Operacional Android, criado em 2003, chamou a atenção do gigante Google, que depois de 2 anos decidiu comprá-lo. O T – Mobile G1 foi o primeiro aparelho celular com Android no mercado, lançado pela HTC.

t-mobile-g1-black

O T – Mobile G1 começou a ser vendido nos Estados Unidos no dia 22 de outubro de 2008, no valor de U$ 179, com tela sensível a toque, teclado Qwerty e todas as outras funcionalidades que os dispositivos Android tem a oferecer.

Para promover o Android, assim que a primeira versão do SDK foi lançada, software utilizado para desenvolver aplicativos na plataforma Android, que possui um emulador para simular o sistema do Android, também foi anunciado um concurso, o Android Developer Challenge (ADC), que superou U$ 10 milhões em prêmios. O propósito do concurso era absorver as ideias e bugs encontrados durante os testes realizados pelos desenvolvedores participantes do concurso.

O Google também lançou a sua Loja Virtual de Aplicativos, o Android Market, que hoje foi substituída pelo Google Play. A loja é utilizada para auxiliar a divulgação do sistema e a comercialização dos aplicativos que estão publicados no Google Play. Aplicativos esses, que iremos aprender a desenvolver no Blog DroidNew.

google play

Alguns aplicativos no Google Play são pagos, o que ocasiona a criação de um segmento que vem crescendo muito, que é a venda de aplicativos.

google statics

Hoje no Google Play não encontramos somente aplicativos e jogos, mas podemos também adquirir livros e filmes através do Google Play Livros e o Google Play Filmes.

google play livro e filme

Existe ainda um grupo formado por empresas lideres no mercado de telefônica como Motorola, LG, Samsung, Sony Ericsson entre outras, denominado Open Handset Allience (OHA). Criado com a intenção de padronizar uma plataforma de código aberto e livre, justamente para atender todas as tendências e necessidades do mercado atual da telefonia móvel.

A licença chamada Apache Software Foundation (ASF) permite realizar modificações no código fonte e criar produtos customizados sem ter a necessidade de compartilhar suas modificações.

CARACTERÍSTICAS TÉCNICAS

O Android foi baseado em um Sistema Operacional Linux, e considerado a primeira Plataforma para aplicações moveis livre e de código aberto, Open Source . Desenvolvido com base na versão modificada do Kernel 2.6 do Linux, que é responsável por gerenciar a memória, processos, Threads, redes, drives e a segurança dos arquivos e pastas.

Cada aplicativo instalado no celular Android dispara um processo no Sistema Operacional toda vez que ele for iniciado. Esses processos podem conter diversas funcionalidades como abrir uma pagina web, abrir uma tela ou solicitar acesso ao GPS.

Alguns desses processos podem ficar em execução em segundo plano por tempo indeterminado, e isso pode ocorrer com diversas aplicações, as quais podem ser executadas simultaneamente.

Cabe ao Kernel do Sistema Operacional controlar o uso de memória desses aplicativos, tornando-se responsável por encerrar alguns processos se for preciso liberara memória e recursos para outras aplicações. O kernel pode ainda reiniciar algum processo depois que a situação estiver controlada.

A segurança do Android também é baseada em Linux, cada aplicação do Android é executada em um único processo e cada processo possui uma Thread. Para todas as aplicações instaladas no Android, é criado no Sistema Operacional um Usuário, o qual terá permissão de acesso e controle ao diretório da aplicação. O fato de cada aplicação possuir um usuário para seu diretório, cria um ambiente de segurança, pois nenhum outro usuário poderá acessar o seu diretório.

A arquitetura do Android é dividida em quatro partes:

  • Aplicações: Todo sistema operacional Android é constituído por um conjunto de aplicativos considerados básicos, como o calendário, e-mail, SMS, mapas, navegador de internet. Todos esses aplicativos são desenvolvidos na Linguagem de Programação Java.
  • Framework de Aplicações: O Android disponibiliza uma plataforma de desenvolvimento aberta, a qual permite desenvolver aplicativos que interagem com sensores e informações de localização, entre outros hardwares do dispositivo, criando assim uma aplicação mais complexa.
  • Biblioteca: o Android possui uma biblioteca, a qual é utilizada para diversos componentes do dispositivo.
  • Android Runtime: O Android possui uma biblioteca que disponibiliza grandes funcionalidades e recursos encontrados na biblioteca da Linguagem de Programação Java. Sem contar com sua própria Maquina Virtual, a Dalvik.
  • Kernel do Linux: O Android é baseado na versão modificada do Kernel 2.6 do Linux. Tendo assim um sistema operacional com características de segurança, gerencia de memora, gerencia de projetos, e que atua como camada intermediaria entre o software e o hardware do dispositivo.

arquitetura android

Mais uma vantagem do Android é que ele utiliza a Linguagem de Programação Java , uma Linguagem de Alto Nível.

Porem não existe em seu Sistema Operacional uma Maquina Virtual Java (JVM), na verdade o Android possui uma Maquina Virtual chamada Dalvik, que é otimizada para aplicações em dispositivos moveis.

Então como um código em Java vai rodar em uma Maquina Virtual que não seja a Maquina Virtual Java (JVM)?

Primeiro o aplicativo é desenvolvido normalmente em Java de acordo com sua sintaxe, depois de feito seu aplicativo em Java, ele estará armazenado em um arquivo .class, porem depois que este bytecode é compilado, acaba sendo convertido para o formato .dex, um arquivo com extensão executável na Maquina Virtual Dalvik, que representa uma aplicação Android compilada. Depois disso o arquivo .dex e outros arquivos como imagens, são compactados em um único arquivo de extensão .apk, Android Package File, pacote de arquivos do Android, o qual será o arquivo final, aquele que será distribuído e instalado nos dispositivos com Plataforma Android.

Bom, com isso chegamos ao fim de mais um post, esperamos ter ajudado em apresentar alguns conhecimentos sobre Android neste post.

André Luiz

Links úteis para curiosidades, informações, downloads e muito mais:

Eclipse: http://www.eclipse.org/downloads/

SDK e ADT: http://developer.android.com/sdk/

Pagina direta SDK: http://developer.android.com/sdk/index

Pagina Direta ADT: http://developer.android.com/tools/sdk/eclipse-adt.html

Java JDK: http://www.oracle.com/technetwork/pt/java/javase/downloads/

Andy Rubin: http://en.wikipedia.org/wiki/Andy_Rubin

T-Mobile G1: http://pt.wikipedia.org/wiki/T-Mobile_G1

Android Developer Challenge (ADC): https://developers.google.com/android/adc/?hl=pt-BR

Open Handset Allience (OHA): http://www.openhandsetalliance.com/developers.html

Apache Software Foundation (ASF): http://www.apache.org/

Linux: http://pt.wikipedia.org/wiki/Linux

Open Source: http://opensource.org/

Google Play : https://play.google.com/store?hl=pt_BR

Maquina Virtual Dalvik : http://pt.wikipedia.org/wiki/Dalvik_virtual_machine

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s