Loader X onRetainNonConfigurationInstance()

14 views
Skip to first unread message

Victor Pinto

unread,
Aug 6, 2013, 5:41:30 PM8/6/13
to androidb...@googlegroups.com
Senhores,
   Alguém sabe me dizer quando é melhor usar Loader e quando é melhor usar onRetain para resolver o problema de persistir dados quando trocar a orientação do aparelho?

luciofm

unread,
Aug 6, 2013, 6:04:28 PM8/6/13
to androidb...@googlegroups.com

CursorLoader já abstrai toda a consulta fora da Main thread... Mas necessita do uso de ContentProvider

-Lúcio Maciel
sent from a mobile device.

On Aug 6, 2013 6:41 PM, "Victor Pinto" <ovicto...@gmail.com> wrote:
Senhores,
   Alguém sabe me dizer quando é melhor usar Loader e quando é melhor usar onRetain para resolver o problema de persistir dados quando trocar a orientação do aparelho?

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Rafael Nobre Rocha

unread,
Aug 7, 2013, 8:52:14 AM8/7/13
to androidb...@googlegroups.com
Se sua única fonte de dados que necessita persistir entre restarts é o cursor, use o Loader. Se além disso vc precisar manter um resource, como imagem, ou uma conexão aberta, etc, use-o em conjunto com o onRetain (ou se for fragment, setRetainInstance)

Victor Pinto

unread,
Aug 7, 2013, 9:07:35 AM8/7/13
to androidb...@googlegroups.com
Rafael,
  Eu estou tendo problema com um MediaPlayer, numa tela para podcasts. Vi (http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html) umas implementações de exemplo para esse setRetainInstance que criava uma interface e fazia o Activity que embarcava o Fragment implementar. É por esse caminho mesmo?


[]'s
Victor Pinto A. de Oliveira


--
You received this message because you are subscribed to a topic in the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/androidbrasil-dev/-Cb1pM9g-b0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to androidbrasil-...@googlegroups.com.

Rafael Nobre Rocha

unread,
Aug 7, 2013, 12:30:09 PM8/7/13
to androidb...@googlegroups.com
Isso mesmo, é o recomendado. No caso o seu Media Player ficaria em um fragment sem UI, com setRetainInstance(true), e seria acessado através de uma interface implementada pela activity.
Repare que isto é semanticamente bem semelhante ao Loader - o estado dos recursos (normalmente cursor, mas pode ser qualquer outro objeto gerenciado) fica intacto, em um local isolado (o loader), enquanto vc interage com eles através de callbacks na activity.

Victor Pinto

unread,
Aug 7, 2013, 2:26:42 PM8/7/13
to androidb...@googlegroups.com
Rafael,
  Achei um exemplo (com.example.android.apis.app.FragmentRetainInstance.java) muito bom dentro da aplicação ApiDemos (App/Fragment/Retain Instance) que mostra algo mais parecido com o que eu preciso. Eu tenho a parte visual dentro de um fragment e vou ter que criar outro fragment para guardar os resources. A minha activity somente exibe o fragment e quero tentar manter assim.

  Obrigado a todos pela ajuda.


[]'s
Victor Pinto A. de Oliveira


Reply all
Reply to author
Forward
0 new messages