Aulas e perguntas 1

Na semana passada começamos um novo curso de Android Básico no IAD que finalizou nesta terça, dia 13 de Março. Nela algumas perguntas surgiram que eu não soube responder, e pretendo lista-las aqui:

Quando adicionamos uma Activity no AndroidManifest.xml, preciso colocar o ponto na frente do seu nome?

Sempre teremos uma propriedade package no AndroidManifest.xml. Exemplo: br.com.exemplo;

O ponto é a localização da classe, quando criamos a classe no package da aplicação ela não necessita do ponto, mas pode conter indicando que está no mesmo local. Exemplo: .MinhaActivity estaria em br.com.exemplo.MinhaActivity.java;

Caso a nossa Activity esteja localizada em um nível superior dentro do package, será adicionado o nome do pacote. Exemplo:  .telas.MinhaActivity estaria em br.com.exemplo.telas.MinhaActivity.java;

Para medida de segurança e registro de equipamento, como capturo uma identificação para permitir acesso? (Em Breve)

Anúncios

Escultura do Ice Cream Sandwich chega ao campus do Google.

Ice Cream Sandwich

Dica iOS – Criar animações de imagem

Bem, quem já tentou sabe que GIF animado não funciona no UIImageView do iOS, infelizmente. Então achei este tutorial que ajudou muito e funcionou:
http://iphonedevelopertips.com/graphics/animated-gif-animated-images-iphone-style.html

RooAndroid – Complemento da Parte 1

Olá amigos,

resolvi fazer uma pequena reforma na aplicação do post anterior e aproveitar o fim de ano devagar para continuar o tutorial. Estarei usando estes comandos do Roo para criar a aplicação do servidor :

project –topLevelPackage rooandroid.server –projectName RooAndroid

persistence setup –database DERBY –provider HIBERNATE

entity –class ~.persistence.model.Pessoa

field string –fieldName nome

field string –fieldName telefone

json all

controller all –package ~.controller

perform package

As mudanças estão no nome e pacote da aplicação e no banco de dados utilizado, resolvi usar o Derby, para que o tutorial fique mais fácil. Com o Derby não será necessário criar um banco de dados e um usuário. Ao terminar de executar estes comandos no Roo acesse o diretório pelo prompt e tente rodar a aplicação no Jetty com o comando “mvn jetty:run”. Espere a seguinte mensagem aparecer no log: “[INFO] Started Jetty Server” para acessá-la em “http://localhost:8080/RooAndroid” em qualquer navegador.

Você deverá ver um site como o da imagem 1, e então faça o cadastro de algumas Pessoas para verificar se o seu sistema foi criado corretamente.

Imagem 1

Imagem 1 - Cadastro de Pessoa

Feito isso o servidor está pronto, no próximo passo vou passar os recursos para acessar o servidor via HTTP para o REST e interpretar o JSON no Android.

Integrando Spring Roo com Android usando REST e JSON. – Parte 1

Esta é a primeira parte de um tutorial de integração entre Android e servidor usando Spring Roo para o desenvolvimento. Nesta parte estarei abordando a criação da base de dados e dos recursos para conexão com o servidor, sendo eles Controllers do Spring fornecendo os dados no formato JSON. O download e instalação do Spring Roo não será abordada no tutorial, e a versão utilizada é a 1.1.0.

Primeiro passo – Crie um diretório para o projeto, e dentro dele rode o Roo. O nome do diretório não fará diferença nos outros passos do projeto. Ao rodar o Roo dentro dele execute o seguinte comando para criar o projeto dentro do diretório:

project –topLevelPackage br.com.exemplo –projectName SpringRooAndroidTutorial

Com este comando os seguintes diretórios e arquivos devem ser criados:

Arquivos criados pelo Roo.

O próximo comando será para a criação da conexão com o banco de dados, estaremos utilizando o Hibernate e o MySQL. Será necessário criar o usuário e o database do MySQL. O hibernate irá criar automaticamente as tabelas e campos quando a aplicação for executada.

roo> persistence setup –provider HIBERNATE –database MYSQL –databaseName stutorial –userName tutorial –password tutorial

Dessa maneira podemos criar nossa entity de Pessoa com o seguinte comando:

roo> entity –class ~.Pessoa

Assim como os campos de nome e telefone em seguida:

roo> field string –fieldName nome
roo> field string –fieldName telefone

Com os campos criados devemos enviar o comando para criar os recursos do Spring para o Json, e em seguida a criação dos controllers do Spring para comunicação via HTTP:

roo> json all
roo> controller all –package br.com.exemplo.controller

Estes comandos criam todos os recursos que estaremos utilizando no tutorial, caso queira ver as classes no eclipse, execute o seguinte comando “perform eclipse” no Roo, e para rodar nossa aplicação utilizando o servidor Jetty, utilize no console do sistema operacional o comando “mvn jetty:run” dentro do diretório do projeto. Será necessário ter o maven instalado no S.O.

Com o sistema rodando no Jetty é possível acessa-lo através do endereço http://localhost:8080/SpringRooAndroidTutorial em seu navegador, deverá aparecer a tela de um sistema com o logotipo do Spring Roo, e possibilitando o cadastro de novas pessoas.

A primeira parte do tutorial fica por aqui, a segunda parte irá mostrar o desenvolvimento da tela e do formulário para Android.

Button e outros componentes na ListView.

Achei esse tutorial muito bom de como adicionar botões numa ListView: http://devstream.stefanklumpp.com/2009/11/android-custom-list-item-with-nested.html.

Esta técnica é necessária quando você deseja inserir componentes que oferecem interatividade com usuário, como botões, em listas de registros (ListView). Ela não serve apenas para botões mas para qualquer componente.

Peça para o usuário ligar o GPS

Em alguma situações você precisará do GPS para sua app funcionar da maneira mais adequada, e se ele estiver desligado? Peça para o usuário ligar:

Intent gpsSettingsIntent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
activity.startActivity(gpsSettingsIntent);