Mostrando postagens com marcador tutorial. Mostrar todas as postagens
Mostrando postagens com marcador tutorial. Mostrar todas as postagens

quarta-feira, 25 de novembro de 2009

Android e suporte a skings: Motorola Droid e Sony Xperia X10

Como estão surgindo aparelhos Android com diversas resoluções de tela, temos que testar as nossas aplicações para garantir que ela funcionará bem em todas as resoluções.
Felizmente a plataforma do Android permite customizar muito bem o aplicativo e ter controle total sobre tudo.

Aqui vai uma dica rápida :-)

Uma forma de testar visualmente o aplicativo, é utilizando skins, para simular a aparência e o tamanho da tela de determinado aparelho.

Tem um site muito legal com diversos skins de aparelhos Android. Veja este skin do Motorola Droid:

http://teavuihuang.com/android/Droid_skin_1_by_Tea_Vui_Huang.jpg

Faça o download no site oficial aqui:
http://teavuihuang.com/android/http://teavuihuang.com/android/

Para instalar algum skin, basta descompactar o arquivo na pasta /plataforms/versao/skins.

O próximo passo é criar um AVD (configuração virtual) com este skin. A imagem abaixo demonstra a criação de um AVD para o skin do Motorola Droid.
http://teavuihuang.com/android/Create_new_AVD.png

terça-feira, 24 de novembro de 2009

Android: Dica de layout

Ao desenvolver um aplicativo para Android é necessário decidir se a aplicação vai funcionar na vertical (portrait), na horizontal (landscape) ou ambos.

O Android é bem flexível e permite configurar uma arquivo de layout e imagens diferentes para cada modo. Por exemplo, você pode criar arquivos específicos de layout para quando o celular está na horizontal (landscape). Para isso basta criar a pasta "res/layout-land' e inserir os arquivos de layout lá. O arquivo deve ter o mesmo nome do padrão que fica em "res/layout", o resto o Android faz sozinho.

O mesmo truque você pode utilizar para imagens e ter as pastas "res/drawable-port" "res/drawable-land" para trocar as imagens utilizadas nas dois modos. Veja o exemplo da Amazon abaixo:

http://developer.motorola.com/docstools/library/Handle_Screen_Rotation/images/amazon-composite.png/

Mas se você tem certeza que somente utilizará o aplicativo em um modo fixo, como o vertical, é possível configurar a activity para fixar este modo.
 <activity android:name=".SomenteVertical" android:screenOrientation="portrait"/>

quinta-feira, 12 de novembro de 2009

Artigo sobre Intents no Android Developers Blog



Foi publicado um ótimo artigo sobre como integrar diversas aplicações utilizando Intents, no Android Developers Blog.

O artigo mostra como uma aplicação pode chamar outra que está instalada no aparelho, integrando as aplicações e usufruindo do que cada uma tem a oferecer de melhor.

Se sua aplicação depende de outra, você pode inclusive realizar o teste para verificar se a mesma está instalada, e caso não esteja, sugerir ao usuário para abrir o Android Market e instalar a aplicação.

Outro exemplo de como utilizar isto foi explicado no simples tutorial de como ler um código de barras aqui.

Aproveitando, no livro Google Android tem um capítulo recheado sobre Intents, com diversos exemplos que exploram todo o potencial da plataforma.

sábado, 31 de outubro de 2009

Mudanças de configuração no SDK 2.0

Olá pessoal, segue uma breve explicação das mudanças de configuração do SDK 2.0.

Todos os exemplos do livro Google Android continuam funcinondo em todas as versões de SDKs, o que muda é apenas como configurar o ambiente de desenvolvimento, o que estou explicando aqui.



O SDK do Android mudou para a versão 2.0. Agora ao fazer o download do SDK ele não vem com uma plataforma específica, por exemplo as versões 1.0, 1.1, 1.5 ou 2.0.
O novo SDK possui a seguinte estrutura de diretórios. A pasta "platforms" é onde cada versão do Android será instalada.

Apenas uma explicação da notação utilizada. O SDK é o software que instalamos no computador, e ele vem com a documentação do Android e algumas ferramentas importantes como "adb" localizada na pasta tools.

Mas uma plataforma é o sistema operacional do Android. Então depois de instalar o SDK, precisamos instalar as plataformas para a versão que desejamos desenvolver.
Por exemplo no meu SDK eu instalei todas as plataformas (1.1, 1.5, 1.6 e 2.0), então eu posso testar e utilizar todas estas diferentes versões do Android.



Mas como fazemos para instalar uma nova plataforma ?

Repare que nesta pasta existe o aplicativo "SDK Setup.exe" que ao ser executado, nos mostra todos as plataformas atualmente instaladas. Como podemos ver no título da janela, o nome deste aplicativo utilitário é  "Android SDK and AVD Manager"


Nesta tela podemos ver visualmente tudo que está instalado no SDK. Lembre-se que um SDK é constituido de várias plataformas que são as versões do sistema operacional do Android (1.1, 1.5, 1.6, 2.0).

Para instalar uma nova plataforma é simples. Clique em "Available Package" e siga o assistente. Se tiver problemas com o "https", entre em "Configurações" e troque para fazer a conexão com "http".

Note que podemos instalar as plataformas, a documentação do Android mais atualizada, o driver USB para executar aplicativos em um celular real, e a API do Google Maps que é um pacote liberado a parte do Android.

É isso. Depois de instalar as plataformas precisamos criar um AVD (Android Virtual Device), o qual é utilizado para simular um celular real, especificando qual plataforma (sistema operacional), resolução de tela e tamanho do cartão de memória será utilizado.

Um AVD simula um celular real, e ao executar o emulador do Android precisamos informar qual o AVD. Através do "Android SDK and AVD Manager" também podemos criar um AVD. Basta clicar em "Virtual Devices" e criar um novo.

Para mais detalhes de como criar um AVD leia este tutorial publicado no Portal Android.

@Dica: Dentro do Eclipse, acesse o menu "> Window > Android SDK and AVD Manager" para abrir este mesmo utilitário de configuração.

terça-feira, 27 de outubro de 2009

Lendo códigos de barra com Android


Você está precisando desenvolver um aplicativo que faça a leitura de um código de barras utilizando a câmera do celular ?

Provavelmente você está pensando em desenvolver algo com a câmera, e pegar alguma biblioteca que faça o decode do código de barras. Sim, isto é possível.

Mas estamos falando do Android, e um dos principais recursos da plataforma se trata de chamar outra aplicação já instalada para fazer determinada tarefa para você.


Neste caso existe o projeto zXing que possui um aplicativo Android que pode ser instalado no seu celular que já faz todo este trabalho, basta fazer o download e instalar o BarcodeScanner.apk no seu celular.
** Olá leitores, se você conseguiu ler a imagem do lado, a promoção já acabou e o vencendor já ganhou o livro **

E agora como fazemos para usufruir deste aplicativo?

Simples, imagina que você possui um botão na tela.


ImageButton b = (ImageButton) findViewById(R.id.btScan);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
startActivityForResult(intent, 0);
}
});

Se você é um desenvolvedor Android já entendeu a "mensagem". No Android temos o recurso de expressar as nossas intenções utilizando a classe Intent, de forma que a nossa intenção e desejo é informada ao sistema operacional do Android, e ele se encarrega de entregar esta mensagem a todas as aplicações instaladas no celular.

Neste caso como a aplicação de leitura de código de barras está instalada, ela responderá a sua mensagem "com.google.zxing.client.android.SCAN" e será executada, e passa a interagir com o usuário.

O usuário pode utilizar esta aplicação normalmente, e quando terminar de ler o código de barras, sua aplicação (Activity) será chamada novamente, e o método onActivityResult é utilizado para ler o resultado, que neste caso é o código de barras e outras informações em formato texto.

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");

É isso aí. Muito simples não é? Bem mais fácil do que criar uma aplicação do zero, ou até mesmo utilizar uma biblioteca (API) para isso. Desta forma você deixa o trabalho do código de barras para uma aplicação especializada nesta tarefa.

No Android, a "Integração de Aplicações" é levado mesmo a sério. Este é um simples exemplo.. se você desenvolve para Android já deve saber disso.

segunda-feira, 30 de março de 2009

Android Virtual Devices (AVD)

O conceito de AVD foi criado a partir do SDK 1.5 para auxiliar no desenvolvimento de aplicações Android, para que o emulador possa simular exatamente uma configuração de um celular real, que podem estar com diferentes versões do SDK instaladas.

Desta forma é possível criar várias configurações de AVD para testar as aplicações.

Se sua aplicação vai utilizar novos recursos, como o teclado virtual (SDK 1.5) ou AppWidgets, é possível criar um AVD compatível com isto.

Foi publicado um tutorial no site do Portal Android, sobre AVDs, Clique aqui e confira.

O Livro Google Android foi lançado na época do SDK 1.1, mas todos os exemplos continuam funcionando no SDK 1.5. A diferença entre os dois SDKs basicamente é que no SDK 1.5 temos novas APIs, mas se você não utilizá-las sua aplicação vai naturalmente funcionar em ambos os SDKs.