SORU
13 EKİM 2012, CUMARTESİ


android İçerik Sağlayıcı olmadan CursorLoader & SQLite

Bu tartışıldı biliyorum henüz o kadar mevcut durumu hakkında bir şey sormak istiyordum. Sqlite veritabanı ile bağlantılı olarak CursorLoader kullanmak için bir ContentProvider oluşturmak zorunda mıyım?

Buldum

Usage CursorLoader without ContentProvider

Henüz tam olarak Emmby umduğum görünüyor yorumladı

  • Kullanıcılar veri değişiklikleri Yükleyiciler yapması gereken olarak yenilemek için bir mekanizma var, bu bir sınırlama, farkında olmalıdır

Bu yüzden başka bir çözüm söz edilmektedir

https://github.com/commonsguy/cwac-loaderex

yine bazı dezavantajı işaret etti

  • Ancak, yeniden sorgulama otomatik faydalanmak için, güncelleştirmeleri için kullanıcı arabirimi için de aynı loader, arka plan hizmetleri için kullanılabilirlik sınırlayıcı kullanmak gerekir.

LoaderManager kullanırken elbette kendisi için tanıtıldı tüm avantajları elde etmek istiyoruz. Yani benim soru ise içerik sağlayıcı uygulamak henüz tüm faydalarını yok etmeden bir sqlite veritabanı ile bağlantılı LoaderManager kullanmak için bir yol varsa.

Teşekkürler

CEVAP
13 EKİM 2012, CUMARTESİ


Söz, iki uygulamaları sonrası CursorLoader faydaları vardırhariçtemel içerik değiştiğinde bildirim almak için yeteneği.

Aradım bu son zamanlarda ve ben güvenle söylemek Android API şu anda sağlamaz bir araç yapıyor bu sadece bir ham SQLiteDatabase (sadece sağlar ContentResolver#notifyChange() Cursor#setNotificationUri() yöntemler, kullanılan ediniz Cursors kayıt altında belirli bir bildirim Uri).

Bu seçenekleri şu an için " dedi

  1. İçerik değiştiğinde SQLiteDatabase bildirimleri almak yeteneğine sahiptir, ve bir şekilde uygulamanızda Loaders mevcut tüm bu bildirimleri aktarmak için mümkün olan bir gözlemci kendine uygular. Eğer bu zorlu görevi üstlenmek istiyorsanız kullanışlı olabilir Loaders nasıl uygulanacağı konusunda oldukça geniş blog post bir mektup yazdım. Ya da...

  2. Mark Murphy LoaderEx kütüphane kullanımı ve sadece veritabanı değişiklikleri kütüphanesini sağlar AsyncTask işlemleri kullanarak yapın. Not bu yüzden onun görevlerini yenileme Loader çünkü diyorlar onContentChanged Loader hemen sonra Ekleme/güncelleme/silme gerçekleştirilir, etkili bir anlatımı Loader içeriği değişti ve gereken yenileme verileri.

  3. Sadece kullanın CursorLoader ve ContentProvider bir içerik değişikliği oluştu CursorLoader haber ContentResolver#notifyChange() yöntemi kullanabilirsiniz.

Daha iyi bir çözüm bulmaya çalışıyorum, ve ben hiç/bir uygulama bulmak, ama şimdilik bunları yapmak zorunda olacak Eğer geleceğinizi bildireceğim.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • adrianisen

    adrianisen

    25 Kasım 2009
  • Glove and Boots

    Glove and Bo

    1 ŞUBAT 2007
  • wowchick16

    wowchick16

    17 Mart 2007