Estoy escribiendo una aplicación que permite a las personas configurar alarmas para varias tareas que deben hacer. Mi plan actual es almacenar todos los datos relevantes en una base de datos SQLite. Con ese fin, he creado una clase que amplía SQLiteOpenHelper y lo llené con métodos para manejar todo el CRUD que esperaba tener que incorporar. Sabiendo que generalmente es una mala idea hacer todo el procesamiento en un hilo, buscó maneras de separar el trabajo entre hilos y encontró CursorLoader y LoaderManager, que parecían ideales ya que estaban disponibles en la Biblioteca de compatibilidad de Android. Sin embargo, LoaderManager parece requerir un ContentProvider por el tutorial in the documentation, y realmente no he visto la necesidad de hacer nada con ContentProviders ya que no estaba planeando permitir que otras aplicaciones accedan a los datos. Sin un ContentProvider, no sé cómo se supone que debo obtener un Uri para que mis bases de datos se alimenten en el CursorLoader. ¿Hay alguna forma de seguir usando mi clase que extienda SQLiteOpenHelper y aún implementar LoaderManager para permitirme mantener todos los ListFragments poblados con mi cursor fuera del subproceso de la interfaz de usuario?Confundido sobre CursorLoaders y usándolos con un SQLiteOpenHelper personalizado
Respuesta
¿Hay alguna manera de seguir usando mi clase que se extiende SQLiteOpenHelper y todavía implementar LoaderManager para permitir que siga todos los ListFragments pueblan con mi cursor fuera del hilo de interfaz de usuario?
Sólo se necesita una Loader
aplicación diferente, uno que no implique un ContentProvider
. Ocurre que I wrote one of those.
Parece sólido. Aunque la importación del proyecto desde git provocó que Eclipse arrojara un error de compilación sobre la anotación @Override en onSharedPreferenceChanged(). Aún así, lo probaré. – MowDownJoe
@MowDownJoe: debe establecer su nivel de cumplimiento de Java en 1.6, en lugar del 1.5 que está ahora. – CommonsWare
- 1. Confundido sobre Huffman árboles
- 2. ¿Confundido sobre global.asax?
- 3. Confundido sobre ThreadLocal
- 4. ¿Por qué usar SQLiteOpenHelper sobre SQLiteDatabase?
- 5. Confundido sobre este uso de un lambda
- 6. Confundido sobre la dependencia RequireJS
- 7. Principiante: confundido sobre el enlace y los recursos en WPF
- 8. SQLite Android ¿Dónde y cuándo inicializar SQLiteOpenHelper
- 9. Confundido sobre el triángulo de devanado y las transformaciones
- 10. Confundido sobre cuándo lanzar una excepción
- 11. Confundido sobre la asignación de memoria
- 12. Confundido sobre el sistema de archivos Node.js
- 13. Confundido sobre generadores para Entity Framework 4.1
- 14. Confundido sobre std :: runtime_error contra std :: logic_error
- 15. Confundido sobre while loop en javascript
- 16. Confundido sobre el? operador en C#
- 17. Confundido sobre implícita de instancias de plantilla
- 18. Confundido sobre Spring-Data DDD repository pattern
- 19. Configurando drools y maven y escribiendo hello world application usándolos
- 20. Confundido sobre tipos de datos personalizados en Haskell
- 21. WPF validador personalizado con información sobre herramientas
- 22. Confundido sobre el cifrado con claves públicas y privadas (que se usarán para el cifrado)
- 23. Python: confundido con list.remove
- 24. Confundido entre SqlCommand y SqlDataAdapter
- 25. Confundido con Model vs ViewModel
- 26. C++ enum y usándolos para ingresar desde el usuario
- 27. Confundido sobre las carpetas Release/Debug en Visual Studio 2010
- 28. R Novato confundido sobre la instalación de paquetes
- 29. Confundido sobre la depuración remota en Visual Studio 2010
- 30. Confundido con la instrucción CMPSB
Gracias por esta pregunta. Todos sus ejemplos en la documentación solo muestran cómo usar los cursores con los contactos, como si todos necesitáramos la base de datos solo para eso ... – lenooh