quinta-feira, 21 de julho de 2011

Características e Arquitetura Android


Características e Arquitetura Android

No post anterior, citei o SDK, que é um kit de desenvolvimento e através dele, temos as ferramentas e APIs necessárias para desenvolver aplicações em Java para o Android.
A plataforma Android, possui alguns recursos:

- Application framework: possibilita a substituição e reutilização de componentes.

- Máquina Virtual Dalvik: otimizada para dispositivos móveis.

- Navegador Web Integrado (Browser): baseado na engine open source  webkit.
                                 
- Gráficos Otimizados: possui uma biblioteca 2D e 3D baseada na especificação   
  OpenGL ES 1.0 (aceleração de hardware é opcional).

- SQLite: para guardar dados estruturados, ou seja, armazenar dados no formato de estruturas relacionais.

- Suporte multimídia: para vídeo, áudio e formatos de imagem (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).

- Telefonia GSM (dependente de hardware).

- Bluetooth, EDGE, 3G, e WiFi (dependente de hardware).

- Câmera, GPS, compasso, e acelerômetro (dependente de hardware).

- Rico Ambiente de Desenvolvimento: incluindo um emulador de dispositivo, ferramentas de depuração, analisador de memória e performance, e um plugin para o Eclipse (ADT).


Arquitetura Android


De acordo com a figura, podemos visualizar a estrutura da arquitetura Android que é dividida em camadas: Applications, Application Framework, Libraries, Android Runtime e Linux Kernel.

Applications: Localiza-se nesta camada, um conjunto de aplicações padrões, como - um cliente de e-mail, programa de SMS, calendário, mapas, navegador, contatos, agenda, entre outros (todos desenvolvidos em Java).

Application Framework: Esta camada enfatiza a reutilização de código, pois é nesta camada que se encontram os componentes que permitirão que novas estruturas sejam utilizadas futuramente. Abaixo o conjunto de componentes desta camada:

* Um rico e grande conjunto de componentes gráficos que podem ser utilizado para construir uma aplicação, e também listas, grids, caixas de textos, botões, e até um navegador web embutido.

* Provedores de conteúdo que habilitam às aplicações acessar dados de outras aplicações (Ex: Contatos) ou compartilhar seus próprios dados.

* Gerenciador de recursos que prove acesso a recursos não codificados como strings, gráficos e arquivos de layout.

* Um gerenciador de notificação que permite que todas as aplicações exibam mensagens de alerta personalizáveis na barra de status.

* Um gerenciador de atividade que gerencia o ciclo de vida das aplicações e permite controlar os recursos previamente alocados, sendo que caso eles não estejam sendo mais utilizados, os mesmos são deslocados para liberar memória.

Libraries e Android Runtime: Nesta camada, encontram-se as bibliotecas escritas em C/C++e o ambiente de execução (Composta pelas bibliotecas e pela máquina virtual Dalvik). Toda aplicação Android roda em seu próprio processo, com sua própria instância da máquina virtual.

- System C library (Biblioteca de Sistema C) – uma implementação derivada da biblioteca C padrão sistema (libc) do BSD sintonizada para dispositivos rodando Linux.

- Media Libraries (Bibliotecas de Mídias) – baseado no PacketVideo’s OpenCORE; as bibliotecas suportam a maioria dos formatos de áudio e vídeo, imagens como MPEG4, H.264, MP3, AAC, AMR, JPG, e PNG.

- Surface Manager (Gerenciador de Superfície) – gerencia o acesso ao subsistema de exibição bem como as múltiplas camadas de aplicações 2D e 3D.

- LibWebCore – um web browser engine utilizado tanto no Android Browser quanto para exibições web.

- SGL – uma engine de gráficos 2D.

- 3D libraries – uma implementação baseada na especificação 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.

- FreeType – renderização de fontes bitmap e vetoriais de fontes.

- SQLite – um poderoso e leve engine de banco de dados relacional disponível
para todas as aplicações.

Linux Kernel: Esta é a base da camada. O Kernel também atua como uma camada de abstração entre o hardware e o software. É utilizada a versão 2.6, onde fornece serviços do sistemas, como segurança, gerenciamento de memória, gerenciamento de processos, pilhas de redes, etc.

A tabela abaixo apresenta as principais APIs Android


Nossa !!! Haja teoria.
No próximo post, vamos entender a organização do código no Eclipse.

Até breve !

quinta-feira, 14 de julho de 2011

Algumas características e definições sobre Android


O que é o Android ?

É um sistema operacional utilizado em dispositivos móveis. A princípio foi desenvolvido pela Google, tornando-se a primeira plataforma móvel, baseada em Java e aberta (Open Source), posteriormente, sendo mantida pela Open Handset Alliance (OHA), que surgiu da união de 40 empresas com o intuito de acelerar o desenvolvimento de aplicativos para aparelhos com suporte Android.
Aqui no Brasil as operadoras, Claro, Oi, Tim e Vivo, já disponibilizam suporte a esta plataforma.
Atualmente, existem no mercado vários modelos de aparelhos com o Sistema Android e inclusive, segundo pesquisas, há previsões que até o fim de 2012, a plataforma Android, dominará quase a metade do mercado (fonte: http://olhardigital.uol.com.br/).
Alguns modelos...
Samsung Galaxy

Sony Ericson Xperia

No segundo post, citei o que era necessário instalar para montar o ambiente de desenvolvimento. Foi necessário instalar o Android SDK.
O Android SDK é um kit para desenvolvimento que fornece as APIs (bibliotecas) e ferramentas necessárias para o desenvolvimento de aplicativos Android.
E a Dalvik Virtual Machine (Máquina Virtual Dalvik) ?
É através dela, que as aplicações desenvolvidas em Java são compiladas e executadas. Ela foi desenvolvida para ser utilizada em dispositivos móveis.
E a IDE?
Foi disponibilizado pela Google um plugin para a IDE Eclipse o ADT (que também foi citado no segundo post, para montar o ambiente de desenvolvimento), que adiciona ferramentas que servem para criar e depurar os códigos.

No próximo post, falarei um pouco sobre algumas características da Arquitetura Android.

Até mais !!!


sábado, 9 de julho de 2011

Primeiro projeto Android

Quando iniciei o estudo sobre Android, fiquei super anciosa para ver a minha primeira aplicação no emulador. Imagino que estejam também !!!!
Neste post vou explicar como fazer uma aplicação bem simples para iniciantes.
Existem algumas definições necessárias para entendermos os comandos para o funcionamento das aplicações. No próximo, postarei !!!

Criando o primeiro projeto Android:

1.  Clique em: New - Project...


2. Vamos dar nome ao nosso projeto:

Projetc Name -> PrimeiroProjeto
Application Name -> OlaAndroid
Package Name -> br.com.android
Create Activity -> AppOlaAndroid
... Finish


3. Pronto agora já criamos a classe necessária para darmos início a aplicação. Veja como ficará:



4.  Iremos agora para o código: AppOlaAndroid.java



5. Acrescente ao código:

import android.widget.TextView;...

@Overridepublic void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       TextView view = new TextView(this);
       view.setText("Olá Android");
       setContentView(view);

}

Veja como deve ficar:


6. Agora vamos testar. Clique em Run As:


7.  Quando você clica em Run As, surgirá a tela abaixo, mas você só verá a sua aplicação, após clicar em Menu. (Desbloquear a tela)


8. Pronto !! Veja a sua primeira aplicação.



9. Se você clicar em ctrl + F11, poderá ver seu emulador por outro ângulo:



Na minha próxima postagem, explicarei alguns conceitos importantes do Android.

Até breve !!!

sexta-feira, 8 de julho de 2011

Configurando o Eclipse com o ADT e o SDK

Depois de instalar o Eclipse e o SDK Android, é necessário configurar o Eclipse e para isso, iremos utilizar o ADT.
Quando fazemos o download do ADT, ele está compactado. Uma dica... não descompacte.
Sugeri no post anterior que fosse criada uma pasta exclusiva para o Android (chamada Android Oficial) e nela devem estar o SDK já instalado e o ADT compactado, como mostra a figura abaixo:




1. Abra o Eclipse e selecione – Help – Install New Software:



2. Clique em – Add


 3. Agora digite um nome Ex: androidsdk. Clique também em Archive.


4.  Procure a pasta onde se encontra o ADT compactado. Selecione e clique em Abrir:


5. Agora clique em Developer Tools e selecione - Anadroid DDMS e Android Development Tools.
Clique em Finish.


6. Aguarde carregar.


7. Finalizando o passo acima, vamos localizar o SDK. Clique em: Window - Preferences:




8. Clique em Android e depois em Browse... para localizar a pasta onde se encontra o SDK.


9. Clique na pasta onde está o SDK e clique em OK:


10. Clique em Apply e veja que agora consta o nome e a plataforma do Android SDK 2.1.
Depois clique em OK:


11. Para ter certeza que está tudo instalado e configurado corretamente e para configurar o emulador Android, veja que agora tem um ícone do Android na barra do Eclipse:


12. Clique no ícone.
Selecione - Virtual Devices e New - e Escolha um nome para seu emulador. Ex: androidavd.
E selecione em Target a versão do Android SDK que você instalou, neste caso o 2.1.
Clique em Create AVD.

Selecione: androidavd e clique em Start.


13.  Para finalizar, clique em Launch


14. Pronto, agora é só esperar carregar o Emulador Android.




Já é possível desenvolver aplicações Android, no próximo post explicarei como desenvolver a 1ª aplicação.

Até a próxima !!!

quinta-feira, 7 de julho de 2011

Preparando o ambiente para desenvolvimento Android

1. Montado o ambiente de desenvolvimento


1.1 - É necessário que você instale o seguinte programa e plugin:


- Instalar o Eclipse (http://www.eclipse.org);
- Instalar o Android SDK (http://developer.android.com/sdk);

1.2 - Instalando o Android SDK:

Depois de obter o programa e plugin citados, agora é necessário fazer as configurações.
Criei uma pasta na área de trabalho (chamada Android Oficial) onde salvei o SDK e o ADT, só para facilitar no momento da localização. 
Descompacte a pasta android-sdk_r11-windows.
Abra a pasta andoid-sdk-windows e clique em SDK Maneger.



Irá dar início a instalação:


Em seguida, surge a seguinte tela, clique em cancel:


Agora clique em: Available Packages -> Android Repository -> e escolha a versão Android 2.1, API7:



Agora clique em Install:



Dará início a instalação (irá demora um pouco):


Agora é só aguardar a finalização da instalação.

Neste post demonstrei apenas como configurar o SDK. No próximo, iremos configurar o eclipse.
Até mais !!!

quarta-feira, 6 de julho de 2011

Olá pessoal !!!!

Estou preparando alguns posts sobre Android.
Em breve estarei publicando.
Tudo bem simples e explicadinho para os iniciantes como eu.
Sejam bem vindos e até o primeiro post, que será explicando como preparar o ambiente para desenvolvimento de aplicações Android.

Até breve !!!