İçerik sağlayıcılar, bir uygulamanın kendi başına depolanan veya diğer uygulamalar tarafından depolanan verilere erişimi yönetmesine yardımcı olabilir ve verileri diğer uygulamalarla paylaşması için bir yöntem sunabilir. Bunlar, verileri içine alır ve veri güvenliğini tanımlayan mekanizmalar sağlar. İçerik sağlayıcıları, bir işlemdeki verileri başka bir işlemde çalışan kodla bağlayan standart arayüzdür.
İçerik sağlayıcı uygulamanın birçok avantajı vardır. En önemlisi, Şekil 1'de gösterildiği gibi diğer uygulamaların uygulama verilerinize güvenli bir şekilde erişmesine ve bunları değiştirmesine olanak tanımak için bir içerik sağlayıcı yapılandırabilirsiniz.
![İçerik sağlayıcıların depolama alanına erişimi nasıl yönettiğini gösteren genel bakış diyagramı.](https://developer.android.com/static/guide/topics/providers/images/content-provider-overview.png?authuser=9&hl=tr)
Şekil 1. İçerik sağlayıcılarının depolama alanına erişimi nasıl yönettiğini gösteren genel bakış şeması.
Veri paylaşmayı planlıyorsanız içerik sağlayıcıları kullanın. Verileri paylaşmayı planlamıyorsanız bunları kullanmak zorunda değilsiniz ancak verilerinize erişimi olan diğer uygulamaları etkilemeden uygulamanızın veri depolama uygulamasında değişiklikler yapmanızı sağlayan bir soyutlama sağladıkları için bunu tercih edebilirsiniz.
Bu senaryoda, içerik sağlayıcınız etkilenir, ona erişen uygulamalar etkilenmez. Örneğin, bir SQLite veritabanını Şekil 2'de gösterildiği gibi alternatif depolama ile değiştirebilirsiniz.
![İçerik sağlayıcı depolama alanını taşımayı gösteren görsel.](https://developer.android.com/static/guide/topics/providers/images/content-provider-migration.png?authuser=9&hl=tr)
2. Şekil. İçerik sağlayıcı depolama alanını taşımayı gösteren görsel.
Diğer bazı sınıflar da ContentProvider
sınıfını kullanır:
Bu sınıflardan herhangi birini kullanıyorsanız uygulamanızda bir içerik sağlayıcı kullanmanız gerekir. Senkronizasyon bağdaştırıcısı çerçevesiyle çalışırken alternatif olarak bir saplama içerik sağlayıcısı da oluşturabilirsiniz. Daha fazla bilgi için Şablon içerik sağlayıcı oluşturma konusuna bakın. Ayrıca, aşağıdaki durumlarda kendi içerik sağlayıcınıza ihtiyacınız olacaktır:
- Özel arama önerilerini uygulamanızda kullanmak için.
- Uygulama verilerinizi widget'lara göstermek için.
- Karmaşık verileri veya dosyaları uygulamanızdan diğer uygulamalara kopyalayıp yapıştırmak için.
Android çerçevesi ses, video, resim ve kişisel iletişim bilgileri gibi verileri yöneten içerik sağlayıcıları içerir. Bunlardan bazılarını android.provider
paketinin referans dokümanlarında görebilirsiniz. Bazı kısıtlamalarla bu sağlayıcılara tüm Android uygulamaları erişebilir.
İçerik sağlayıcı, hem SQLite ilişkisel veritabanı gibi yapılandırılmış veriler hem de resim dosyaları gibi yapılandırılmamış veriler dahil olmak üzere çeşitli veri depolama kaynaklarına erişimi yönetmek için kullanılabilir. Android'de kullanılabilen depolama türleri hakkında daha fazla bilgi için bkz. Veri ve dosya depolamaya genel bakış ve Veri depolama alanını tasarlama.
İçerik sağlayıcıların avantajları
İçerik sağlayıcılar, verilere erişim izinleri üzerinde ayrıntılı kontrol imkanı sunar. Erişimi yalnızca uygulamanızdaki bir içerik sağlayıcıyla kısıtlayabilir, diğer uygulamalardaki verilere erişim için genel izin verebilir veya veri okuma ve yazma için farklı izinler yapılandırabilirsiniz. İçerik sağlayıcıları güvenli bir şekilde kullanma hakkında daha fazla bilgi için veri depolamayla ilgili güvenlik ipuçlarına ve İçerik sağlayıcı izinleri'ne göz atın.
Uygulamanızdaki farklı veri kaynaklarına erişimle ilgili ayrıntıları soyutlamak için içerik sağlayıcı kullanabilirsiniz. Örneğin, uygulamanız bir SQLite veritabanında yapılandırılmış kayıtların yanı sıra video ve ses dosyalarını da depolayabilir. Bu verilerin tamamına erişmek için bir içerik sağlayıcı kullanabilirsiniz.
Ayrıca CursorLoader
nesneleri eşzamansız sorgular çalıştırmak ve ardından sonuçları uygulamanızdaki kullanıcı arayüzü katmanına döndürmek için içerik sağlayıcılardan yararlanır. Arka planda veri yüklemek üzere CursorLoader
kullanma hakkında daha fazla bilgi için
Yükleyiciler'e bakın.
Aşağıdaki konularda içerik sağlayıcıları daha ayrıntılı bir şekilde açıklanmaktadır:
- İçerik sağlayıcıyla ilgili temel bilgiler
- Mevcut bir içerik sağlayıcıyı kullanarak verilere erişme ve verileri güncelleme.
- İçerik sağlayıcı oluşturma
- Kendi içerik sağlayıcınızı nasıl tasarlayıp uygulayacaksınız?
- Takvim sağlayıcısına genel bakış
- Android platformunun bir parçası olan Takvim Sağlayıcısı'na erişme.
- Kişi Sağlayıcı
- Android platformunun bir parçası olan Kişi Sağlayıcı'ya erişme.