SORU
8 ŞUBAT 2011, Salı


İçerik Sağlayıcı kullanma zamanı

İçerik Sağlayıcılar, kamuya açık uygulamalar arasında veri paylaşımına izin vermek için yapılmış olduğunu anlıyorum. Ancak, eğer herkes sadece kendi uygulama içinde kullanmak için bir İçerik Sağlayıcı yapma konusunda fikri olan var mı diye merak ediyorum. Bunu yapmanın herhangi bir avantajı var mı? Herhangi bir dezavantajları?

Geçmişte sadece benim veritabanından verilere erişmek için SQliteOpenHelper uygulamaya çalıştım ama bir İçerik Sağlayıcı oluşturmayı düşünüyorum. Veri isteyen için URI yaklaşımı net ve anlaşılır olduğunu hissediyorum. Öte yandan, İçerik Sağlayıcı kullanarak benim uygulama için gereksiz içinde SQliteOpenHelper sınıfı olacak beri ) ve daha ihtiyacımdan iş?

CEVAP
19 Mart 2012, PAZARTESİ


Kesinlikle eğer halka duyurmak niyetinde değilim varsa bile ContentProvider bir kullanmak için iyi bir fikir olduğunu iddia ediyorum.

Veri soyutlama ekstra düzeyi daha içten değiştirmek için sağlamak için iyi bir uygulamadır. Eğer daha sonraki bir zamanda temel veritabanı yapısını değiştirmek için karar verirseniz ne olacak? Eğer kullandığınız bir ContentProvider içerebilir tüm yapısal değişikliklerin içinde, nereye kadar kullanmayın, size zorla değiştirmek için tüm alanları kodu etkilendi yapısal değişiklikler. Ayrıca iyi yeniden kullanabilmek için aynı standart verilere yerine veritabanı için düşük seviye erişim kodunuzu çöp dökmek için API.

Ayrıca, her zaman gelecekte verilerinizi ifşa etmek isteyebilirsiniz şansı var. Eğer ön ContentProvider kullanmasanız bile, daha sert, daha sonraki bir tarihte güçlendirme için olacak.

O zaman, diğer parçaların nerede Android ContentProvider'In gerekli/önerilen gibi kullanırken SyncAdapters ve eğer istediğiniz bir Uygulama Widget içerir veri erişimi için örnek.

Özetle, çok az ek yük ilgili yazılı bir ContentProvider peşin (bir kez öğrendin API olan iyi bir fikir zaten) o yüzden mantıklı bunu yapmak için, hatta özel veri.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • disneychannel

    disneychanne

    19 ŞUBAT 2006
  • isupportthegosselins

    isupporttheg

    6 Aralık 2009
  • trickycharms

    trickycharms

    6 Aralık 2013