Artigo Java Magazine 70 - Explorando os recursos do Android

Aprenda a desenvolver uma aplicação de cadastro de carros, que tira a foto do carro e envia todos os dados para o servidor.

Atenção: esse artigo tem uma palestra complementar. Clique e assista!

Atenção: esse artigo tem um vídeo complementar. Clique e assista!

De que se trata o artigo:

Explorar os recursos da plataforma do Android para criar uma aplicação de cadastro de carros onde as informações são sincronizadas diretamente de um servidor web. É demonstrado como integrar a câmera para tirar a foto do carro e enviar para o servidor.

Para que serve:

Fornecer um exemplo prático de aplicação que executa em um dispositivo móvel e sincroniza as informações pela internet. Também explora diversos conceitos sobre a plataforma do Android, como a sua arquitetura focada em mensagens (intent) e boas práticas ao utilizar threads.

Em que situação o tema é útil:

Ao desenvolver aplicações móveis frequentemente é necessário se comunicar com a internet para buscar e enviar informações.

Explorando os recursos do Android:

O Android, comandado pelo Google e por gigantes do mercado de mobilidade que formam o grupo Open Handset Alliance (OHA) tem o objetivo de consolidar uma plataforma única com diversos recursos que os usuários procuram em um celular moderno, e ainda revolucionar a maneira de construir aplicações para dispositivos móveis e acirrar a disputa no mercado coorporativo. Este artigo explora alguns aspectos da arquitetura do Android à medida que uma aplicação de cadastro de carros é construída.

O Android é a plataforma open source criada pelo Google para o desenvolvimento de aplicações para dispositivos móveis, e promete esquentar a disputa no mercado de mobilidade. Neste artigo vamos construir uma aplicação de cadastro de carros para o Android, onde será possível inserir, editar e excluir carros, sincronizando os dados diretamente de um servidor web, fazendo requisições HTTP para um servlet. Também vamos demonstrar como integrar a câmera disponível no Android para tirar a foto do carro desejado e anexar no cadastro. Alguns componentes visuais como uma janela de progresso, barra de rolagem e criação de menus também serão abordados.

Android Virtual Device (AVD)

Se você desenvolve para Java ME deve estar acostumado a escolher em qual emulador você deseja executar a aplicação, que pode ser um emulador padrão da Sun ou algum que simula uma plataforma específica, como o da Nokia. Pense em um Android Virtual Device (AVD) da mesma forma, a diferença é que ele vai simular uma plataforma específica do Android.

Desta forma podemos criar uma configuração que possui o mesmo ambiente do celular HTC G1 (primeiro celular Android) ou outra que possui novas APIs de versões mais recentes do SDK.

No momento que este artigo estava sendo escrito, foi lançado o SDK 1.5, que possui três modelos de configurações (target). O primeiro simula exatamente o SDK 1.1 (HTC G1), o segundo e o terceiro são compatíveis com o SDK 1.5, sendo que o terceiro modelo adiciona o pacote para desenvolvimento de mapas.

Para listar os modelos de configurações disponíveis abra um prompt, navegue até a pasta tools do SDK e digite: android list targets. O resultado pode ser visualizado na lista a seguir que exibe o id de cada configuração.

Available Android targets: id: 1 Name: Android 1.1 Type: Platform API level: 2 Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P id: 2 Name: Android 1.5 Type: Platform API level: 3 Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P id: 3 Name: Google APIs Type: Add-On Vendor: Google Inc. Description: Android + Google APIs Based on Android 1.5 (API level 3) Libraries: * com.google.android.maps (maps.jar) API for Google Maps Skins: QVGA-P, HVGA-L, HVGA (default), QVGA-L, HVGA-P

Para criar um AVD digite no prompt: “android create avd --name <nome> --target <id>”. Para o nosso exemplo tanto faz a configuração escolhida, sendo que o mesmo funciona em qualquer SDK. Então vamos criar uma configuração com o id=1 e nome G1:

android create avd --name G1 --target 1”.

Criando o projeto no Eclipse

Com o SDK do Android e o plugin ADT do Eclipse devidamente instalados, utilize o wizard para criar um projeto Android com o nome “ExemploCadastroAndroid” e pacote br.javamagazine.cadastro. No campo Activity Name digite ListaCarros para ser a activity principal do projeto.

Depois de criar o projeto é necessário configurar o AVD em que a nossa aplicação será executada, o que pode ser feito acessando as propriedades do projeto. Feito isto é possível executar a aplicação no emulador. Para isto clique com o botão direito no projeto e selecione o menu Run as >Android Application. O projeto será executado no emulador e uma tela vai aparecer com o resultado. Mas isto seria suficiente se você apenas desejasse fazer um Olá Mundo. Neste artigo vamos construir uma aplicação completa de cadastro, integrando a câmera do Android e sincronizando os dados pela internet.

Repositório de Carros

Para persistir as informações deste exemplo, vamos criar uma interface RepositorioCarro conforme demonstrado na Listagem 1. Desta forma poderemos deixar a persistência separada da lógica de negócios, o que além de boa prática, torna a explicação do exemplo mais simples.

Listagem 1. Repositório de Carros

public interface RepositorioCarro { // Insere ou atualiza o carro public boolean salvar(Carro carro); // Deleta o carro public boolean deletar(Carro carro); // Busca o carro pelo id public Carro getCarro(Long id); // Retorna uma lista com todos os carros public List<Carro> listarCarros(); // Busca o carro pelo nome public Carro buscarCarroPorNome(String nome); }

Posteriormente podemos implementar esta interface da maneira que for necessário, como por exemplo, utilizando o banco de dados "

[...] continue lendo...

Artigos relacionados