Pesquisar este blog

segunda-feira, 10 de janeiro de 2011

H2 Database

Vou demonstrar abaixo como utilizar o H2 Database no Ubuntu 10.10.

Primeiro baixe o H2 Databese através do endereço http://www.h2database.com e salve em algum lugar do computador, seu sou salvar no meu home.


Após baixar o arquivo (zip), abra um terminal e execute os comandos abaixo.



$ unzip h2-2011-01-07.zip

$ cd h2
$ ls h2


Antes de continuar é necessário configurar o JAVA_HOME

$  JAVA_HOME="/usr/lib/jvm/<versao>"
Exemplo:
   JAVA_HOME="/usr/lib/jvm/java-1.6.0-openjdk"

$ export JAVA_HOME

Executar o build
$ sh build.sh

Executando o H2

Acesse o diretório bin
$ cd bin/
$ sh h2.sh

domingo, 2 de janeiro de 2011

Instalação do Eclipse e o SDK do Android


Como base no estudo sobre o google Android é necessário a instalação da IDE 
Eclipse como ambiente de desenvolvimento apartir da versão 3.4 e o Android Development Tools (ADT).

Para baixar o Eclipse é só entrar no site (http://www.eclipse.org/), estou utilizando o sistema operacional linux Ubuntu 10.10 - Maverick Meerkat, no Ubuntu é possível instalar o eclipse através da “Central de Programas do Ubuntu”. Vou utilizar o Eclipse Galileo 3.5.2 que pode ser instalado direto do Ubuntu, não vou chegar a descrever como instalar o Eclipse porque existem vários posts na Internet que demonstram como fazer isso.

Em primeiro momento deve-se verificar se o computar preenche os requisitos do sistema.

O ADT está disponível através do site (http://developer.android.com/sdk/index.html), neste site existem todas as informações de como instalar o ADT no Eclipse. A instalação do ADT também pode ser feita através do link “https://dl-ssl.google.com/android/eclipse/”, adicionando este link como um site de plugin do Eclipse.

Vou demonstrar agora como instalar o SDK Android no Eclipse através do link descrito acima.

Entre no site Developer Android e baixe o SDK inicial, que inclui apenas o SDK Tools, após baixar o arquivo descompacte em algum lugar de fácil acesso em seu computador e marque o local onde descompactou, pois vamos precisar informar no equipse a sua localização.

Abrir o Eclipse:
Clique no menu Help / Install New Software...


Incluir o site que contém os pacotes de instalação





Após a instalação do ADT do Android é necessário configura-lo. No menu do Eclipse Windows/Preferences, clique no item Android e coloque a localização dos arquivos do Android baixados no site.




Depois de incluir o Path dos arquivos do Android você pode instalar os pacotes adicionais disponíveis direto do repositório do Android. Podemos instalar desde a versão 1.5 à versão 2.3 (atual), pacotes de documentação, exemplos, ferramentas, API's do Google e da Samsung.




Podemos também instalar outros pacotes através de uma URL, clicando no botão Add Add-onSite. Lembre-se você deve baixar pelo menos uma plataforma e o SDK Tools.

Google Android

Este post tem a finalidade de estudar sobre este sistema Android que vem crescendo gradativamente com o passar do tempo.
O Android é a plataforma open source criada pelo Google e pelo grupo Open Handset (OHA) para o desenvolvimento de aplicações para dispositivos móveis.
O sistema operacional do Android foi baseado no kernel 2.6 do Linux, e é responsável por gerencia a memória , os processo, threads e a segurança dos arquivos e pastas, além de redes e drives. Para construir suas aplicações é utilizada a linguagem Java, o fato é que em seu sistema operacional não existe uma máquina virtual Java (JVM), na verdade, o que temos é uma máquina virtual chamada (Dalvik virtual machine) que é otimizada para execução em dispositivos móveis. Normalmente quando desenvolvemos aplicações em Java a compilação é representada pelo arquivo .class é convertida para a extensão .dex (Dalvik Executable), os arquivos .dex e outros recursos como imagens são compactados em um arquivo com a extensão .apk (Android Package File), que representa a aplicação final, pronta para ser distribuída e instalada.

Arquitetura

As principais classes e conceitos da plataforma são:
  • Activity: classe que representa uma tela da aplicação, para cada tela é criado uma activity.
  • Context: classe pai de Activity utilizada como parâmetro em vários métodos para referenciar o "contexto" atual da execução.
  • View: classe que representa um componente gráfico. 
  • Intent: classe que representa um evento gerado pelo sistema, e prática é uma mensagem enviada ao sistema operacional. A Intent possui um "ação" e "categoria" que definem o seu conteúdo. Baseado no conteúdo o sistema operacional decide o que e qual classe deve ser executada. O mapeamento para decidir qual classe pode executar para determinada Intent é feito utilizando a classe IntentFilter. A classe Intente é utilizada para tudo, desde abrir uma nova tela, abrir o browser, efetuar uma chamada telefônica, disparar um serviço em background, etc. O sistema operacional também envia Intents para as aplicações, por exemplo, para notificar as aplicações instaladas de que uma mensagem SMS ou ligação foi recebida, que uma conexão coma internet está disponível, ou que o sistema operacional acabou de fazer o boot. 
  • IntentFilter: classe utilizada para mapear a ação de uma Intent para executar uma das classes do Android, como Activity, BroadcastReceiver ou Service. Por exemplo, quando uma Intent de ação "executar_algo" for disparada é possível mapear esta ação para executar qualquer tipo de classe. 
  • BroadcastReceiver: classe que pode reagir a eventos (Intent) e executar automaticamente em background. Deve executar rapidamente, no máximo 10 segundos caso contrário o processo será encerrado. Se necessário pode iniciar um serviço com a classe Service. Geralmente para intercepetar os eventos identificados por uma Intent. Seja os eventos gerados pela sua aplicação, como os eventos gerados pelo próprio sistema operacional.  
  • Service: classe utilizada para executar um processamento pesado ou demorado em background, sem interferir na atividade do usuário. 
  • Notification: classe utilizada para exibir uma notificação na barra de status do celular, para avisar o usuário sobre algo. Utilizado para que serviços em background se comuniquem como usuário de forma amigável. 
  • Content Provider: classe e conceito utilizado pelo Android para tornar informações de determinada aplicação públicas para qualquer outra que tenha acesso. Por exemplo, de forma nativa o Android permite que os contatos da agenda sejam consultados utilizando a API do Content Provider. Podem ser criados provedores de conteúdo para qualquer coisa e expor informações para outras aplicações. 
  • Handler: Classe utilizada para auxiliar na programação de multi-threading se for necessário atualizar a View de uma thread diferente da principal que controla a tela. Com um handler é atualizar a View de uma thread diferente da principal que controla a tela. Com um handler é possível inserir uma mensagem ou Runnable para ser processada por uma fila de mensagens. Resumindo: Quando abrirmos uma nova thread, não é possível atualizar a View. Uma das formas de solucionar este problema é utilizando a classe Handler.