quinta-feira, 7 de fevereiro de 2013

Estudando Fragments

  Nos últimos dias tenho dedicado boa parte do meu tempo livre para estudar a API Fragments.
  Além do natural uso para gerenciamento de views, abre-se uma gama de possibilidades para usar como background worker (sem tela) para activities e também para outros fragments. Em muitas situações, poderá substituir um worker service com vantagens.


 

sábado, 2 de fevereiro de 2013

Dica: Método de estudo

  Num post antigo, descrevi minha técnica de estudo:
"Estou usando uma técnica de aprendizado incremental.
Funciona assim:
-Defino uma lista de assuntos a estudar.
-Estudo o básico sobre cada assunto.
-Revejo a lista de assuntos, eliminando ou acrescentando novos itens.
-Estudo novamente cada assunto, desta vez acrescentando mais profundidade em cada tema estudado.
Tenho repetido esses ciclos por diversas vezes, e tem dado um bom resultado para mim. A vantagem disso é que como sei que vou voltar ao assunto, se ele estiver muito difícil ou incompreensível para mim naquele momento eu não gasto muito tempo nem energia com ele, sigo em frente. No próximo ciclo de estudos, terei agregado experiência e novos conhecimentos para entendê-lo."
  Esta técnica se adapta muito bem para uma plataforma que está em franca evolução como o Android. A cada nova versão do SDK vem acompanhado de novidades, alterações, substituições.  

  Eu aplico essa técnica na leitura de livros técnicos. Primeiramente, eu faço uma leitura "superficial" para me inteirar dos assuntos tratados no livro, me detendo apenas em um ou outro tópico que esteja mais interessado no momento. Numa segunda leitura, faço uma revisão dos conhecimentos que já tenha incorporado, me detenho mais atentamente em outros tópicos que ainda não esteja usando mas que já saiba que serão importantes para uso futuro. Refaço esse ciclo até que esteja "dominando" os assuntos tratados no livro, aí, ele vira livro para consulta tópica, específica ou eventual e vai para a estante!
 
  Que fique claro, que eu faço isso com livros que considero de conhecimentos que sejam fundamentais, não dá para fazer isso com todos.

  Cada um tem o seu método de estudar, fica aí o meu. Pode ser útil para você, se está tendo dificuldades em aprender algo.

  Bons estudos!

quinta-feira, 31 de janeiro de 2013

Dica: Como chamar métodos em activities internas da TabActivity

  Problema: Atualizar automaticamente dados entre abas de uma TabActivity, quando mudar de aba. 

  Explicando melhor, você tem n abas em uma TabActivity e cada aba atualiza uma parcela dos dados (ou todos) que são compartilhados por todas as abas. Cada aba é controlada por uma acitivity. Então, quando uma aba for selecionada, muda de view e muda de activity: a solução parece ser simples: vamos usar um dos métodos de retorno da activity, tipo onStart ou onResume certo? Errado, infelizmente nenhum desses métodos é chamado.

  Já tinha encontrado problemas parecidos com esse, mas não tinha encontrado uma solução satisfatória.

  Recentemente, um colega estava com o mesmo problema. Pesquisando em alguns lugares, pegando dicas em outros, juntando com alguns testes que tinha feito, chegamos em uma solução interessante.

  A solução usa duas interfaces, uma existente no TabHost (OnTabChangedListener) e outra definida na TabActivity e implementada nas activities que controlam cada tab (OnSingletonUpdatedListener).

 Os dados compartilhados estão num Singleton.

Na TabActivity:



E nas activities das abas:


Obs: Não testei essa solução exaustivamente, se encontrarem algum problema ou se funcionar bem, por favor, me avisem!
Grato