ผู้ให้บริการเนื้อหา

ผู้ให้บริการเนื้อหาสามารถช่วยให้แอปพลิเคชันจัดการสิทธิ์เข้าถึงข้อมูลที่จัดเก็บไว้เองหรือจัดเก็บโดยแอปอื่นๆ รวมถึงระบุวิธีแชร์ข้อมูลกับแอปอื่นๆ โดยจะรวมข้อมูลไว้ด้วยกันและระบุกลไกในการกำหนดความปลอดภัยของข้อมูล ผู้ให้บริการเนื้อหาคืออินเทอร์เฟซมาตรฐานที่เชื่อมต่อข้อมูลในกระบวนการหนึ่งกับโค้ดที่ทำงานในอีกกระบวนการหนึ่ง

การใช้ผู้ให้บริการเนื้อหามีข้อดีหลายประการ ที่สำคัญที่สุดคือคุณสามารถกำหนดค่าผู้ให้บริการเนื้อหาเพื่อให้แอปพลิเคชันอื่นๆ เข้าถึงและแก้ไขข้อมูลแอปของคุณได้อย่างปลอดภัย ดังที่แสดงในรูปที่ 1

แผนภาพภาพรวมของวิธีที่ผู้ให้บริการเนื้อหาจัดการสิทธิ์เข้าถึงพื้นที่เก็บข้อมูล

รูปที่ 1 แผนภาพภาพรวมของวิธีที่ผู้ให้บริการเนื้อหาจัดการการเข้าถึงพื้นที่เก็บข้อมูล

ใช้ผู้ให้บริการเนื้อหาหากวางแผนที่จะแชร์ข้อมูล หากไม่ได้วางแผนที่จะแชร์ข้อมูล คุณก็ไม่จําเป็นต้องใช้ แต่อาจเลือกใช้ได้เนื่องจากมีการจัดเตรียมการแยกความคิดให้คุณแก้ไขการใช้งานพื้นที่เก็บข้อมูลแอปพลิเคชันโดยไม่ส่งผลต่อแอปพลิเคชันอื่นๆ ที่ต้องเข้าถึงข้อมูลของคุณ

ในกรณีนี้ เฉพาะผู้ให้บริการเนื้อหาเท่านั้นที่ได้รับผลกระทบ และแอปพลิเคชันที่เข้าถึงเนื้อหาจะไม่ได้รับผลกระทบ เช่น คุณอาจเปลี่ยนฐานข้อมูล SQLite ไปใช้พื้นที่เก็บข้อมูลอื่น ดังที่แสดงในรูปที่ 2

ภาพการย้ายข้อมูลพื้นที่เก็บข้อมูลของผู้ให้บริการเนื้อหา

รูปที่ 2 ภาพการย้ายข้อมูลพื้นที่เก็บข้อมูลของผู้ให้บริการเนื้อหา

คลาสอื่นๆ อีกหลายคลาสใช้คลาส ContentProvider ดังนี้

หากใช้คลาสใดคลาสหนึ่งเหล่านี้ คุณต้องใช้ผู้ให้บริการเนื้อหาในแอปพลิเคชัน เมื่อใช้เฟรมเวิร์กอะแดปเตอร์การซิงค์ คุณยังสร้างผู้ให้บริการเนื้อหาสแต็บเป็นทางเลือกได้อีกด้วย ดูข้อมูลเพิ่มเติมได้ที่สร้างผู้ให้บริการเนื้อหาสแต็บ นอกจากนี้ คุณจะต้องมีผู้ให้บริการเนื้อหาของคุณเองในกรณีต่อไปนี้

  • วิธีใช้การแนะนำการค้นหาที่กำหนดเองในแอปพลิเคชัน
  • เพื่อแสดงข้อมูลแอปพลิเคชันต่อวิดเจ็ต
  • วิธีคัดลอกและวางข้อมูลหรือไฟล์ที่ซับซ้อนจากแอปพลิเคชันไปยังแอปพลิเคชันอื่นๆ

เฟรมเวิร์ก Android ประกอบด้วยผู้ให้บริการเนื้อหาที่จัดการข้อมูล เช่น เสียง วิดีโอ รูปภาพ และข้อมูลติดต่อส่วนตัว คุณจะเห็นรายการบางส่วนในเอกสารประกอบอ้างอิงสำหรับแพ็กเกจ android.provider ผู้ให้บริการเหล่านี้เข้าถึงแอปพลิเคชัน Android ได้โดยมีข้อจำกัดบางอย่าง

คุณสามารถใช้ผู้ให้บริการเนื้อหาเพื่อจัดการการเข้าถึงแหล่งเก็บข้อมูลต่างๆ ซึ่งรวมถึงทั้ง Structured Data เช่น ฐานข้อมูลเชิงสัมพันธ์ SQLite หรือข้อมูลที่ไม่มีโครงสร้าง เช่น ไฟล์รูปภาพ ดูข้อมูลเพิ่มเติมเกี่ยวกับประเภทพื้นที่เก็บข้อมูลที่มีใน Android ได้ที่หัวข้อภาพรวมพื้นที่เก็บข้อมูลและไฟล์ และพื้นที่เก็บข้อมูลการออกแบบ

ข้อดีของผู้ให้บริการเนื้อหา

ผู้ให้บริการเนื้อหามีการควบคุมสิทธิ์การเข้าถึงข้อมูลแบบละเอียด คุณสามารถเลือกจำกัดการเข้าถึงเฉพาะผู้ให้บริการเนื้อหาที่อยู่ในแอปพลิเคชันของคุณ ให้สิทธิ์แบบครอบคลุมในการเข้าถึงข้อมูลจากแอปพลิเคชันอื่นๆ หรือกำหนดค่าสิทธิ์ต่างๆ สำหรับการอ่านและเขียนข้อมูล ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ผู้ให้บริการเนื้อหาอย่างปลอดภัยได้ที่ คำแนะนำด้านความปลอดภัยสำหรับพื้นที่เก็บข้อมูลและ สิทธิ์ของผู้ให้บริการเนื้อหา

คุณสามารถใช้ผู้ให้บริการเนื้อหาเพื่อซ่อนรายละเอียดการเข้าถึงแหล่งข้อมูลต่างๆ ในแอปพลิเคชัน เช่น แอปพลิเคชันอาจจัดเก็บระเบียนที่มีโครงสร้างในฐานข้อมูล SQLite รวมถึงไฟล์วิดีโอและไฟล์เสียง คุณสามารถใช้ผู้ให้บริการเนื้อหาเพื่อเข้าถึงข้อมูลทั้งหมดนี้ได้

นอกจากนี้ ออบเจ็กต์ CursorLoader ยังอาศัยผู้ให้บริการเนื้อหาในการเรียกใช้การค้นหาแบบไม่สอดคล้องกัน แล้วแสดงผลลัพธ์ไปยังเลเยอร์ UI ในแอปพลิเคชัน ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ CursorLoader เพื่อโหลดข้อมูลในเบื้องหลังได้ที่ โหลด

หัวข้อต่อไปนี้อธิบายผู้ให้บริการเนื้อหาโดยละเอียด

ข้อมูลเบื้องต้นเกี่ยวกับผู้ให้บริการเนื้อหา
วิธีเข้าถึงและอัปเดตข้อมูลโดยใช้ผู้ให้บริการเนื้อหาที่มีอยู่
สร้างผู้ให้บริการเนื้อหา
วิธีออกแบบและติดตั้งใช้งานผู้ให้บริการเนื้อหาของคุณเอง
ภาพรวมของผู้ให้บริการปฏิทิน
วิธีเข้าถึงผู้ให้บริการปฏิทินที่เป็นส่วนหนึ่งของแพลตฟอร์ม Android
ผู้ให้บริการรายชื่อติดต่อ
วิธีเข้าถึงผู้ให้บริการรายชื่อติดต่อซึ่งเป็นส่วนหนึ่งของแพลตฟอร์ม Android