sexta-feira, 24 de maio de 2013

Welcome Android Studio

Android Studio é um novo ambiente de desenvolvimento para o Android, baseado no IntelliJ IDEA.

Pelo que vi no video de apresentação, promete!

Abraços

sábado, 18 de maio de 2013

Programação de Games para Android


Estou retomando os estudos sobre desenvolvimento de games para o Android.
Como texto base, estou usando o livro Beginning Android Games, do Mario Zechner e Robert Green.
O foco inicial será a programação de games, mas, pretendo estudar todo o ciclo de desenvolvimento de um game.

domingo, 5 de maio de 2013

Novo blog


Estou criando outro blog.
Nele pretendo concentrar os posts sobre os meus aplicativos.
Lá devo colocar os anúncios de publicação no Google Play, atualizações e dicas de uso.


Abraços

sábado, 4 de maio de 2013

Exemplo: Work fragment com thread e retainInstance

 Este é um exemplo interessante que retirei dos Samples do Android (ApiDemos).

 É o exemplo de um fragment que usa um work fragment (sem UI) que usa uma thread para simular um serviço de longa duração.
 É interessante por:
 -uso de um work fragment no lugar de um service ou de uma AsyncTask.
 -uso da opção setRetainInstance(true) para manter o fragment durante o processo de recriação da activity.
 -uso de uma thread com o ciclo de vida controlado pelo ciclo de vida dos fragments envolvidos.
 -técnica de construção de um work fragment thread-safe, com o uso do wait-notify.

 Seguem os códigos:

 fragment_retain_instance.xml



FragmentRetainInstance.java



Abraços

PS: O código abaixo deveria ter um tratamento diferente, a primeira linha deveria estar logo após criar o ProgressBar, e a seguinte deveria ser executada na UI Thread (p.e, com um runOnUiThread).
                        max = mProgressBar.getMax();
                        mProgressBar.setProgress(mPosition);






sexta-feira, 3 de maio de 2013

Dica: evite erros de concorrência no Android

Uma das áreas que tenho dedicado atenção, estudos e testes é a programação concorrente no Android.
É, com certeza, uma das áreas mais difíceis de se programar e de se entender.
É, também, uma das áreas em que se cometem mais erros.
Tem muito código rodando com falhas prestes a ocorrer por aí.
Tenho encontrado erros em exemplos, tutoriais, etc. Inclusive em exemplos que justamente tratam de concorrência!
Mais cedo ou mais tarde vão implementar melhorias no Dalvik, por exemplo, que vão trazer à luz essas falhas.
Quem viver, verá!

Abraços

PS: essa dica não está baseada apenas nos erros dos outros, também está baseada nos erros que cometo!