6

İnsanların, yapmaları gereken çeşitli görevler için alarm ayarlamasına izin veren bir uygulama yazıyorum. Mevcut planım, tüm ilgili verileri bir SQLite veritabanına depolamaktır. Bu amaçla, SQLiteOpenHelper'ı genişleten ve alması gereken tüm CRUD'ları işlemek için yöntemlerle doldurduğum bir sınıf oluşturdum. Tek bir iş parçacığı üzerinde tüm işlemleri yapmanın genellikle kötü bir fikir olduğunu bilerek, Çalışmaları iş parçacıkları arasında ayırmak için yollar aradı ve Android Uyumluluk Kitaplığı'nda mevcut oldukları için ideal görünen CursorLoader ve LoaderManager'ı buldu. Ancak, LoaderManager bir ContentProvider'ın tutorial in the documentation'a gitmesini gerektiriyor gibi görünüyor ve diğer uygulamaların verilere erişmesine izin vermeyi planlamadığım için ContentProviders ile hiçbir şey yapma gereği duymadım. Bir ContentProvider olmadan, veritabanlarımın CursorLoader'a beslenmesi için bir Uri'yi nasıl almam gerektiğini bilmiyorum. SQLiteOpenHelper'ı genişleten sınıfımı kullanmaya devam etmenin ve LoaderManager'ı kullanarak tüm population ListFragments'ları UI iş parçacığımdan imleçimle tutmam için bana izin vermenin bir yolu var mı?CursorLoaders hakkında karışık ve bunları özel bir SQLiteOpenHelper ile kullanma

+0

Bu soru için teşekkürler. Dokümantasyondaki tüm örnekleri sadece imleçlerin rehberlerle nasıl kullanılacağını gösterir, sanki hepimiz veritabanına ihtiyacımız varmış gibi ... – lenooh

cevap

4

LoaderManager beni UI iş parçacığı kapalı benim imleç tüm doldurma ListFragments kalmasına izin vermek için uygulamak hala SQLiteOpenHelper genişleten benim sınıfını kullanmaya devam ve benim için bir yolu var mı?

Sadece bir ContentProvider içermeyen farklı bir Loader uygulama, bir tane lazım. Sadece I wrote one of those olur.

+0

Katı görünüyor. Projenin gitmesinden içe aktarılmasına rağmen, Eclipse, onSharedPreferenceChanged() öğesindeki @Override ek açıklaması hakkında bir derleyici hatası oluşturmasına neden oldu. Yine de deneyeceğim. – MowDownJoe

+0

@MowDownJoe: Java uyumluluk düzeyinizi, şu anda açık olan 1.5 yerine 1,6 değerine ayarlamanız gerekiyor. – CommonsWare

İlgili konular