CURSO DE DESENVOLVIMENTO DE APLICAÇÕES PARA A
                PLATAFORMA ANDROID




                                Introdução ao Android



       Android é um sistema operacional baseado no núcleo do Linux para dispositivos
móveis, desenvolvido pela Open Handset Alliance, liderada pelo Google e outras empresas.

        Segundo a Google, mais de 1 milhão e 300 mil aparelhos com este sistema operacional
são ativados todos os dias. Utilizado por vários fabricantes de celulares como: HTC, Samsung,
Sony, Motorola, LG e recentemente a Positivo Informática.

       O Android foi fundado como uma empresa em outubro de
2003, na Califórnia por Andy Rubin, Rich Miner, Nick Sears e Chris
White com o intuito de “produzir dispositivos móveis inteligentes
que serão capazes de reconhecer as localizações e
preferências de seus donos”. O Android operava secretamente,
sendo revelado apenas como um software para celulares.

        Em agosto de 2005, o Google adquiriu a empresa Android,
fazendo-a como subsidiária do Google, além de permanecer com os
fundadores Andy Rubin, Rich Miner e Chris White. Desde esta
época o Google já pensava entrar no ramo do mercado de
celulares.

       A Open Handset Alliance (OHA) é uma aliança de diversas            Andy Rubin
empresas com a intenção de criar padrões abertos para telefonia
móvel. Entre as empresas participantes estão Google, HTC, Dell, Intel, Motorola, Qualcomm,
Texas Instruments, Samsung, LG, T-Mobile e Nvidia.

        No mesmo dia do anúncio da aliança foi
revelado o Android, como o principal software da
aliança. O primeiro celular rodando Android foi o HTC
Dream (conhecido como G1) sendo lançado em 18 de
agosto de 2008, sendo comercializado a partir do dia 22
de outubro do mesmo ano.




                                                                     HTC Dream (G1)
Open Handset Alliance

        Open Handset Alliance (OHA) é uma aliança de 84 empresas com a intenção de criar
padrões abertos para telefonia móvel. Essas empresas incluem Google, HTC, Sony, Dell, Intel,
Motorola, Qualcomm, Texas Instruments, Samsung Electronics, LG Electronics, T-Mobile,
Sprint Nextel, Nvidia, e Wind River Systems.

        A OHA foi estabelecida em 6 de Novembro de 2007, liderada pela Google com 34
membros incluindo fabricantes de celulares, desenvolvedores de aplicações, alguns
responsáveis pela fábrica de chips. Android, a ‘bandeira da aliança, é baseada em um código
aberto licenciado em compete contra as plataformas de celulares da Apple, Microsoft, Nokia,
HP e Samsung Electronics.




Atualmente são 84 empresas participantes, porém as mais conhecidas são:




Acesse: http://www.openhandsetalliance.com/oha_members.html para mais informações.




                                 Versões do Android

         Android 1.0, foi lançado em setembro de 2008. Android está em desenvolvimento em
curso pela Google e Open Handset Alliance , e tem visto uma série de atualizações para o
sistema operacional de base desde o seu lançamento original. Essas atualizações geralmente
corrigir erros e adicionar novas funcionalidades.

        Desde abril de 2009, as versões Android foram desenvolvidos sob um codinome e
lançado em ordem alfabética: Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice
Cream Sandwich, e Jelly Bean. A partir de 2012, mais de 400 milhões de dispositivos ativos
usar o sistema operacional Android em todo o mundo. O mais recente grande atualização foi
Android Jelly Bean 4.2, que foi anunciado em outubro de 2012, e foi lançado em dispositivos
comerciais em novembro.



Versões do Android – Histórico

Android beta

        Foi lançado em 5 de novembro de 2007, enquanto o kit de desenvolvimento de
software (SDK) foi lançado em 12 de novembro de 2007.

Android 1.0 – Apple Pie* (API 1)

       Android 1.0, a primeira versão comercial do software, foi lançado em 23 de setembro
de 2008 com o HTC Dream.

Android 1.1 – Banana Bread* (API 2)

        Em 9 de Fevereiro de 2009, o Android 1.1 foi lançado com uma atualização,
inicialmente para o HTC Dream . A atualização mudou o Android API e acrescentou uma série
de novas características.

Android 1.5 – Cupcake (API 3)

        Em 30 de Abril de 2009, com base no kernel Linux 2.6.27. Esta foi a primeira versão a
usar oficialmente um nome baseado em uma sobremesa, um tema que seria ser usado para
todas as versões. A atualização inclui vários novos recursos e alterações de interface do
usuário.

Android 1.6 – Donut (API 4)

      Em 15 de Setembro de 2009, o Android 1.6 SDK - apelidado de Donut - foi lançado,
baseado no Linux kernel 2.6.29.

Android 2.0/2.1 – Eclair (API 5 – 7)

      26 de Outubro de 2009, o Android 2.0 SDK - codinome Eclair - foi lançado, baseado no
mesmo kernel da versão anterior.

Android 2.2 – Froyo (API 8)

       Em 20 de maio de 2010, o Android 2.2 (Froyo, abreviatura de Frozen Yogurt) SDK foi
lançado, baseado no Linux kernel 2.6.32.

Android 2.3 – Gingerbread (API 9 – 10)

        6 de Dezembro. 2010, o Android 2.3 (Gingerbread) SDK foi lançado e tem como base o
Linux kernel 2.6.35.

Android 3.0/3.1/3.2 – Honeycomb (API 11 – 13)

         Em 22 de Fevereiro de 2011, foi lançado o Android 3.0 (Honeycomb) SDK. A primeira
atualização Android apenas para uso em tablets – baseia-se no Linux kernel 2.6.36. O primeiro
dispositivo com esta versão foi o Motorola Xoom. O tablet, foi lançado dois dias depois do SDK.

Android 4.0 - Ice Cream Sandwich (API 14 – 15)
O SDK para Android 4.0.1 (Ice Cream Sandwich), baseado no Linux kernel 3.0.1, foi
lançado publicamente em 19 de outubro de 2011. Google Gabe Cohen declarou que o Android
4.0 foi "teoricamente compatível" com qualquer Android dispositivo 2.3.x em produção na
época. O código fonte para o Android 4.0 tornou-se disponível em 14 de novembro de 2011.

Android 4.1/4.2 - Jelly Bean (API 16 – 17)

        O Google anunciou o Android 4.1 (Jelly Bean) em 27 de junho de 2012. Baseado no
Linux kernel 3.0.31, Jelly Bean era uma atualização incremental com o objetivo principal de
melhorar a funcionalidade e desempenho da interface do usuário. A melhora de desempenho
envolvidos no "Project Butter" ("Projeto Manteiga). Android 4,1 Jelly Bean foi liberado para o
Android Open Source Project em 9 de julho de 2012, e do Nexus 7 tablet, o primeiro dispositivo
a rodar Jelly Bean, foi lançado em 13 de julho de 2012.

Android 5.0 - Key Lime Pie

      Key Lime Pie é uma suposta versão do Android 5.0, que já foi confrmado pelo Google
mas não há outras muitas informações relacionadas à versão.



*Ninguém do Google até hoje revelou quais eram os nomes das duas primeiras versões com A e B e se recusam
terminantemente a falar sobre o assunto.




                               Estatísticas de Versões
         Cupcake                Donut                   Eclair                Froyo
         Gingerbread            Honeycomb               Ice Cream Sandwich    Jelly Bean
                                                  0,1      0,3    2,7

                                                6,7
                                                         10,3


                                     27,5




                                                           50,8
                                   1,6
Arquitetura da Plataforma

“Na realidade, como é colocado em [Android Developers 2012], o Android é mais do que um
sistema operacional. Ele é na verdade um software stack composto por cinco camadas.”




Núcleo Linux

       O Android é construído sobre uma base muito sólida: o kernel do Linux (versão 2.6). O
Linux abstrai toda a camada de hardware para o Android, possibilitando a portabilidade para
uma grande gama de plataformas. Internamente o Android usa o Linux pra gerenciar memória,
processos, rede, e serviços de sistema operacional.

Bibliotecas

         Acima do kernel ficam as bibliotecas C/C++ utilizadas por diversos dos componentes
do sistema, como: uma implementação da biblioteca padrão do C (libc), mas com licença BSD
(Berkeley Software Distribution) e otimizada para dispositivos embarcados; bibliotecas para
suporte a formatos de áudio, vídeo e imagens; um gerenciador que intermedia o acesso ao
display e compõe as camadas de imagem 2D e 3D; o engine para navegadores WebKit;
bibliotecas para gráficos 2D (SGL) e 3D (OpenGL ES); um renderizador de fontes bitmap e
vetoriais; e o banco de dados relacional SQLite.

Android Tempo/ Execução

         No Android, aplicações escritas em Java são executadas em sua própria máquina
virtual, que por sua vez é executada em seu próprio processo no Linux, isolando-a de futuras
aplicações e facilitando o controle de recursos. O Android Runtime é composto pela máquina
virtual chamada Dalvik VM, onde as aplicações são executadas, e por um conjunto de
bibliotecas que fornecem boa parte das funcionalidades encontradas nas bibliotecas padrão do
Java.
Quadro de Aplicações

         Na camada acima, escrita em Java, fica a framework de aplicações, que fornece todas
as funcionalidades necessárias para a construção de aplicativos, através das bibliotecas
nativas. Aplicações Android podem possuir quatro tipos de componentes: activities, services,
content providers e broadcast receivers. Além destas peças fundamentais em uma
aplicação, existem os recursos, que são compostos por layouts, strings, estilos e imagens e
o arquivo de manifesto, que declara os componentes da aplicação e os recursos do
dispositivo que ela irá utilizar.

Aplicações

       A camada mais alta no diagrama da arquitetura do Android é a camada de aplicativos e
widgets. Pense nisso como a ponta do iceberg Android. Os usuários finais só vão ver esses
programas, felizmente sem saber de toda a ação acontecendo por trás. Como um
desenvolvedor Android, no entanto, você sabe melhor.




                    Desenvolvendo Aplicações

        “Para a alegria geral da nação é possível desenvolver uma aplicação
para o Android utilizando a linguagem Java em seu ambiente de
desenvolvimento preferido, como o Eclipse, Netbeans ou IntelliJ IDEA. O
Eclipse é o ambiente de desenvolvimento preferido pelo Google, e há um
plugin chamado ADT (Android Development Tools) para facilitar o
desenvolvimento, testes e compilação do projeto...” (Ricardo R. Lecheta,
2011, p.28-29).




____________________________________________________________________________

Curso Android - 01 Introdução ao Android

  • 1.
    CURSO DE DESENVOLVIMENTODE APLICAÇÕES PARA A PLATAFORMA ANDROID Introdução ao Android Android é um sistema operacional baseado no núcleo do Linux para dispositivos móveis, desenvolvido pela Open Handset Alliance, liderada pelo Google e outras empresas. Segundo a Google, mais de 1 milhão e 300 mil aparelhos com este sistema operacional são ativados todos os dias. Utilizado por vários fabricantes de celulares como: HTC, Samsung, Sony, Motorola, LG e recentemente a Positivo Informática. O Android foi fundado como uma empresa em outubro de 2003, na Califórnia por Andy Rubin, Rich Miner, Nick Sears e Chris White com o intuito de “produzir dispositivos móveis inteligentes que serão capazes de reconhecer as localizações e preferências de seus donos”. O Android operava secretamente, sendo revelado apenas como um software para celulares. Em agosto de 2005, o Google adquiriu a empresa Android, fazendo-a como subsidiária do Google, além de permanecer com os fundadores Andy Rubin, Rich Miner e Chris White. Desde esta época o Google já pensava entrar no ramo do mercado de celulares. A Open Handset Alliance (OHA) é uma aliança de diversas Andy Rubin empresas com a intenção de criar padrões abertos para telefonia móvel. Entre as empresas participantes estão Google, HTC, Dell, Intel, Motorola, Qualcomm, Texas Instruments, Samsung, LG, T-Mobile e Nvidia. No mesmo dia do anúncio da aliança foi revelado o Android, como o principal software da aliança. O primeiro celular rodando Android foi o HTC Dream (conhecido como G1) sendo lançado em 18 de agosto de 2008, sendo comercializado a partir do dia 22 de outubro do mesmo ano. HTC Dream (G1)
  • 2.
    Open Handset Alliance Open Handset Alliance (OHA) é uma aliança de 84 empresas com a intenção de criar padrões abertos para telefonia móvel. Essas empresas incluem Google, HTC, Sony, Dell, Intel, Motorola, Qualcomm, Texas Instruments, Samsung Electronics, LG Electronics, T-Mobile, Sprint Nextel, Nvidia, e Wind River Systems. A OHA foi estabelecida em 6 de Novembro de 2007, liderada pela Google com 34 membros incluindo fabricantes de celulares, desenvolvedores de aplicações, alguns responsáveis pela fábrica de chips. Android, a ‘bandeira da aliança, é baseada em um código aberto licenciado em compete contra as plataformas de celulares da Apple, Microsoft, Nokia, HP e Samsung Electronics. Atualmente são 84 empresas participantes, porém as mais conhecidas são: Acesse: http://www.openhandsetalliance.com/oha_members.html para mais informações. Versões do Android Android 1.0, foi lançado em setembro de 2008. Android está em desenvolvimento em curso pela Google e Open Handset Alliance , e tem visto uma série de atualizações para o sistema operacional de base desde o seu lançamento original. Essas atualizações geralmente corrigir erros e adicionar novas funcionalidades. Desde abril de 2009, as versões Android foram desenvolvidos sob um codinome e lançado em ordem alfabética: Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, e Jelly Bean. A partir de 2012, mais de 400 milhões de dispositivos ativos usar o sistema operacional Android em todo o mundo. O mais recente grande atualização foi
  • 3.
    Android Jelly Bean4.2, que foi anunciado em outubro de 2012, e foi lançado em dispositivos comerciais em novembro. Versões do Android – Histórico Android beta Foi lançado em 5 de novembro de 2007, enquanto o kit de desenvolvimento de software (SDK) foi lançado em 12 de novembro de 2007. Android 1.0 – Apple Pie* (API 1) Android 1.0, a primeira versão comercial do software, foi lançado em 23 de setembro de 2008 com o HTC Dream. Android 1.1 – Banana Bread* (API 2) Em 9 de Fevereiro de 2009, o Android 1.1 foi lançado com uma atualização, inicialmente para o HTC Dream . A atualização mudou o Android API e acrescentou uma série de novas características. Android 1.5 – Cupcake (API 3) Em 30 de Abril de 2009, com base no kernel Linux 2.6.27. Esta foi a primeira versão a usar oficialmente um nome baseado em uma sobremesa, um tema que seria ser usado para todas as versões. A atualização inclui vários novos recursos e alterações de interface do usuário. Android 1.6 – Donut (API 4) Em 15 de Setembro de 2009, o Android 1.6 SDK - apelidado de Donut - foi lançado, baseado no Linux kernel 2.6.29. Android 2.0/2.1 – Eclair (API 5 – 7) 26 de Outubro de 2009, o Android 2.0 SDK - codinome Eclair - foi lançado, baseado no mesmo kernel da versão anterior. Android 2.2 – Froyo (API 8) Em 20 de maio de 2010, o Android 2.2 (Froyo, abreviatura de Frozen Yogurt) SDK foi lançado, baseado no Linux kernel 2.6.32. Android 2.3 – Gingerbread (API 9 – 10) 6 de Dezembro. 2010, o Android 2.3 (Gingerbread) SDK foi lançado e tem como base o Linux kernel 2.6.35. Android 3.0/3.1/3.2 – Honeycomb (API 11 – 13) Em 22 de Fevereiro de 2011, foi lançado o Android 3.0 (Honeycomb) SDK. A primeira atualização Android apenas para uso em tablets – baseia-se no Linux kernel 2.6.36. O primeiro dispositivo com esta versão foi o Motorola Xoom. O tablet, foi lançado dois dias depois do SDK. Android 4.0 - Ice Cream Sandwich (API 14 – 15)
  • 4.
    O SDK paraAndroid 4.0.1 (Ice Cream Sandwich), baseado no Linux kernel 3.0.1, foi lançado publicamente em 19 de outubro de 2011. Google Gabe Cohen declarou que o Android 4.0 foi "teoricamente compatível" com qualquer Android dispositivo 2.3.x em produção na época. O código fonte para o Android 4.0 tornou-se disponível em 14 de novembro de 2011. Android 4.1/4.2 - Jelly Bean (API 16 – 17) O Google anunciou o Android 4.1 (Jelly Bean) em 27 de junho de 2012. Baseado no Linux kernel 3.0.31, Jelly Bean era uma atualização incremental com o objetivo principal de melhorar a funcionalidade e desempenho da interface do usuário. A melhora de desempenho envolvidos no "Project Butter" ("Projeto Manteiga). Android 4,1 Jelly Bean foi liberado para o Android Open Source Project em 9 de julho de 2012, e do Nexus 7 tablet, o primeiro dispositivo a rodar Jelly Bean, foi lançado em 13 de julho de 2012. Android 5.0 - Key Lime Pie Key Lime Pie é uma suposta versão do Android 5.0, que já foi confrmado pelo Google mas não há outras muitas informações relacionadas à versão. *Ninguém do Google até hoje revelou quais eram os nomes das duas primeiras versões com A e B e se recusam terminantemente a falar sobre o assunto. Estatísticas de Versões Cupcake Donut Eclair Froyo Gingerbread Honeycomb Ice Cream Sandwich Jelly Bean 0,1 0,3 2,7 6,7 10,3 27,5 50,8 1,6
  • 5.
    Arquitetura da Plataforma “Narealidade, como é colocado em [Android Developers 2012], o Android é mais do que um sistema operacional. Ele é na verdade um software stack composto por cinco camadas.” Núcleo Linux O Android é construído sobre uma base muito sólida: o kernel do Linux (versão 2.6). O Linux abstrai toda a camada de hardware para o Android, possibilitando a portabilidade para uma grande gama de plataformas. Internamente o Android usa o Linux pra gerenciar memória, processos, rede, e serviços de sistema operacional. Bibliotecas Acima do kernel ficam as bibliotecas C/C++ utilizadas por diversos dos componentes do sistema, como: uma implementação da biblioteca padrão do C (libc), mas com licença BSD (Berkeley Software Distribution) e otimizada para dispositivos embarcados; bibliotecas para suporte a formatos de áudio, vídeo e imagens; um gerenciador que intermedia o acesso ao display e compõe as camadas de imagem 2D e 3D; o engine para navegadores WebKit; bibliotecas para gráficos 2D (SGL) e 3D (OpenGL ES); um renderizador de fontes bitmap e vetoriais; e o banco de dados relacional SQLite. Android Tempo/ Execução No Android, aplicações escritas em Java são executadas em sua própria máquina virtual, que por sua vez é executada em seu próprio processo no Linux, isolando-a de futuras aplicações e facilitando o controle de recursos. O Android Runtime é composto pela máquina virtual chamada Dalvik VM, onde as aplicações são executadas, e por um conjunto de bibliotecas que fornecem boa parte das funcionalidades encontradas nas bibliotecas padrão do Java.
  • 6.
    Quadro de Aplicações Na camada acima, escrita em Java, fica a framework de aplicações, que fornece todas as funcionalidades necessárias para a construção de aplicativos, através das bibliotecas nativas. Aplicações Android podem possuir quatro tipos de componentes: activities, services, content providers e broadcast receivers. Além destas peças fundamentais em uma aplicação, existem os recursos, que são compostos por layouts, strings, estilos e imagens e o arquivo de manifesto, que declara os componentes da aplicação e os recursos do dispositivo que ela irá utilizar. Aplicações A camada mais alta no diagrama da arquitetura do Android é a camada de aplicativos e widgets. Pense nisso como a ponta do iceberg Android. Os usuários finais só vão ver esses programas, felizmente sem saber de toda a ação acontecendo por trás. Como um desenvolvedor Android, no entanto, você sabe melhor. Desenvolvendo Aplicações “Para a alegria geral da nação é possível desenvolver uma aplicação para o Android utilizando a linguagem Java em seu ambiente de desenvolvimento preferido, como o Eclipse, Netbeans ou IntelliJ IDEA. O Eclipse é o ambiente de desenvolvimento preferido pelo Google, e há um plugin chamado ADT (Android Development Tools) para facilitar o desenvolvimento, testes e compilação do projeto...” (Ricardo R. Lecheta, 2011, p.28-29). ____________________________________________________________________________