ไลบรารีการสนับสนุน

หมายเหตุ: การเปิดตัว Android 9.0 (API ระดับ 28) มี ไลบรารีการสนับสนุนเวอร์ชันใหม่ที่ชื่อ AndroidX ซึ่งเป็นส่วนหนึ่งของ Jetpack ไลบรารี AndroidX มีไลบรารีการสนับสนุนที่มีอยู่และยังมีคอมโพเนนต์ล่าสุดของ Jetpack ด้วย

คุณสามารถใช้ไลบรารีการสนับสนุนต่อไปได้ อาร์ติแฟกต์ในอดีต (เวอร์ชัน 27 และก่อนหน้าและจัดแพ็กเกจเป็น android.support.*) จะ จะยังคงอยู่ใน Google Maven อย่างไรก็ตาม การพัฒนาไลบรารีใหม่ทั้งหมด จะปรากฏในไลบรารี AndroidX

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

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

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

เอกสารนี้มีภาพรวมของไลบรารีการสนับสนุนเพื่อช่วยคุณ เข้าใจคอมโพเนนต์และวิธีใช้งานในแอปอย่างมีประสิทธิภาพ

ข้อควรระวัง: ตั้งแต่ Support Library รุ่น 26.0.0 เป็นต้นไป (กรกฎาคม 2017) ระดับ API ขั้นต่ำที่รองรับในไลบรารีการสนับสนุนส่วนใหญ่ เพิ่มขึ้นเป็น Android 4.0 (API ระดับ 14) สำหรับแพ็กเกจไลบรารีส่วนใหญ่ สำหรับ ข้อมูลเพิ่มเติม โปรดดูที่การสนับสนุนเวอร์ชันและแพ็กเกจ ชื่อในหน้านี้

การใช้งานสำหรับไลบรารีการสนับสนุน

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

  • ความเข้ากันได้แบบย้อนหลังสำหรับ API รุ่นใหม่ - มี ไลบรารีการสนับสนุนมีความเข้ากันได้แบบย้อนหลังสำหรับเฟรมเวิร์กที่ใหม่กว่า คลาสและวิธีการ ตัวอย่างเช่น Fragment support Class จะรองรับ Fragment ในอุปกรณ์ที่ใช้เวอร์ชันต่างๆ รุ่นก่อนหน้า Android 3.0 (API ระดับ 11)
  • ชั้นเรียนตามความสะดวกและตัวช่วย - ไลบรารีการสนับสนุนมี โดยเฉพาะสำหรับการพัฒนาอินเทอร์เฟซผู้ใช้ สำหรับ ตัวอย่างคลาส RecyclerView จะระบุผู้ใช้ วิดเจ็ตอินเทอร์เฟซสำหรับแสดงและจัดการรายการที่ยาวเกินไป ใช้งานได้ เวอร์ชัน Android ตั้งแต่ API ระดับ 7 ขึ้นไป
  • การแก้ไขข้อบกพร่องและยูทิลิตี - มีฟีเจอร์มากมาย ซึ่งให้ประโยชน์นอกเหนือจากโค้ดที่คุณใช้ในแอป ซึ่งรวมถึง support-annotations ไลบรารีสำหรับการตรวจสอบโค้ดโดยตรงที่ดีขึ้นเกี่ยวกับอินพุตเมธอดและการรองรับ Multidex สำหรับ การกำหนดค่าและเผยแพร่แอปด้วยเมธอดกว่า 65,536 รายการ

การใช้ API การสนับสนุนเทียบกับเฟรมเวิร์ก API

ไลบรารีการสนับสนุนมีคลาสและเมธอดที่คล้ายกับ API ใน Android Framework เมื่อพบผลิตภัณฑ์นี้ คุณอาจสงสัยว่าคุณควร ใช้เวอร์ชันเฟรมเวิร์กของ API หรือไลบรารีการสนับสนุนที่เทียบเท่า ที่นี่ คือแนวทางสำหรับกรณีที่คุณควรใช้ชั้นเรียนไลบรารีการสนับสนุน ของ Framework API

  • ความเข้ากันได้สำหรับฟีเจอร์หนึ่งๆ - หากคุณต้องการรองรับ ฟีเจอร์ล่าสุดของแพลตฟอร์มในอุปกรณ์ที่ใช้งานเวอร์ชันก่อนๆ ให้ใช้คลาสและเมธอดที่เทียบเท่าจากไลบรารีการสนับสนุน
  • ความเข้ากันได้สำหรับฟีเจอร์ไลบรารีที่เกี่ยวข้อง - ซับซ้อนมากขึ้น คลาสไลบรารีการสนับสนุนอาจขึ้นอยู่กับการสนับสนุนเพิ่มเติมอย่างน้อย 1 รายการ คลาสไลบรารี ดังนั้นคุณควรใช้คลาสไลบรารีการสนับสนุนสำหรับ ทรัพยากร Dependency ตัวอย่างเช่น ViewPager คลาสการสนับสนุนควรใช้กับชั้นเรียนการสนับสนุน FragmentPagerAdapter หรือ FragmentStatePagerAdapter
  • ความเข้ากันได้กับอุปกรณ์ทั่วไป - หากคุณไม่มีอุปกรณ์ ฟีเจอร์แพลตฟอร์มที่คุณตั้งใจจะใช้กับแอปของคุณในแบบที่เข้ากันได้แบบย้อนหลัง คุณยังควรใช้ชั้นเรียนไลบรารีการสนับสนุนในแอปของคุณ เช่น คุณอาจต้องการใช้ ActivityCompat แทนคลาส Activity ของเฟรมเวิร์ก เพื่อใช้ประโยชน์จากฟีเจอร์ใหม่ๆ ในภายหลัง เช่น การรวมรูปแบบการอนุญาตใหม่ไว้ใน Android 6.0 (API ระดับ 23)

ชั้นเรียนไลบรารีสนับสนุนที่รองรับการใช้งานแพลตฟอร์มที่เข้ากันได้ คลาส API อาจไม่สามารถให้ฟังก์ชันการทำงานครบชุด ในรุ่นล่าสุดได้ เนื่องจากข้อจำกัดของอุปกรณ์ที่เป็นโฮสต์ เวอร์ชันแพลตฟอร์ม ในกรณีเหล่านี้ ชั้นเรียน Support Library ได้รับการออกแบบมาเพื่อ ลดระดับอย่างมีชั้นเชิง และอาจไม่ได้ให้ฟังก์ชันการทำงานหรือข้อมูลทั้งหมดของ API ของแพลตฟอร์มในปัจจุบัน ด้วยเหตุนี้ คุณควรตรวจสอบข้อมูลอ้างอิง สำหรับชั้นเรียนและเมธอดของไลบรารีที่คุณใช้ ทดสอบในอุปกรณ์ที่ใช้แพลตฟอร์มเวอร์ชันแรกสุดที่ระบบรองรับ แอปของคุณ

หมายเหตุ: ไลบรารีการสนับสนุนไม่ได้ให้เนื้อหาที่เทียบเท่า คลาสและเมธอดสำหรับ API ของเฟรมเวิร์กแต่ละรายการ ในบางกรณี คุณอาจต้อง รวมการเรียก Method ของเฟรมเวิร์กด้วยการตรวจสอบเวอร์ชัน SDK ที่ชัดเจนและให้ โค้ดสำรองในการจัดการกับวิธีการที่ใช้งานไม่ได้ในอุปกรณ์ สำหรับข้อมูลเพิ่มเติม ข้อมูลเกี่ยวกับการใช้การตรวจสอบเวอร์ชันในโค้ดของคุณ โปรดดูการสนับสนุนที่แตกต่างกัน เวอร์ชันของแพลตฟอร์ม

การรองรับเวอร์ชันและชื่อแพ็กเกจ

แพ็กเกจไลบรารีการสนับสนุนบางรายการมีชื่อแพ็กเกจเพื่อระบุ ระดับ API ขั้นต่ำ ที่ผู้ใช้สนับสนุนตั้งแต่แรก โดยใช้รูปแบบ v# เช่น support-v4 เริ่มจาก Support Library เวอร์ชัน 26.0.0 (เปิดตัวแล้วใน กรกฎาคม 2017) ระดับ API ขั้นต่ำที่รองรับได้เปลี่ยนเป็น Android 4.0 (API ระดับ 14) สำหรับแพ็กเกจไลบรารีการสนับสนุนทั้งหมด ด้วยเหตุนี้ เมื่อทำงานร่วมกับ ไลบรารีการสนับสนุนที่เผยแพร่ล่าสุด คุณไม่ควรคาดหวังว่า สัญลักษณ์แพ็กเกจ v# จะระบุระดับการสนับสนุน API ขั้นต่ำ การเปลี่ยนแปลงในรุ่นล่าสุดนี้ยังหมายความว่าแพ็กเกจห้องสมุดที่มีเวอร์ชัน 4 และ v7 ก็เทียบเท่ากันในระดับ API ขั้นต่ำที่รองรับ ตัวอย่างเช่น ทั้งแพ็กเกจ support-v4 และแพ็กเกจ support-v7 รองรับการใช้งานขั้นต่ำ API ระดับ 14 สำหรับรุ่นของ Support Library ตั้งแต่ 26.0.0 ขึ้นไป

เวอร์ชันที่เผยแพร่ของไลบรารีการสนับสนุน

เวอร์ชันที่เผยแพร่ของ Support Library เช่น 24.2.0 หรือ 25.0.1 คือ แตกต่างจากระดับ API ขั้นต่ำที่ไลบรารีใน รุ่น หมายเลขเวอร์ชันที่เผยแพร่จะระบุเวอร์ชันของแพลตฟอร์ม API ที่สร้างโดยใช้ API ดังกล่าว ดังนั้น API ล่าสุดอาจเป็น ในไลบรารีเวอร์ชันนี้

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

ทรัพยากร Dependency ของไลบรารี

ไลบรารีส่วนใหญ่ในชุดไลบรารีการสนับสนุนของ Android มีการขึ้นต่อกันบางส่วน ไลบรารีอย่างน้อย 1 รายการ ตัวอย่างเช่น ไลบรารีการสนับสนุนเกือบทั้งหมดมี ขึ้นอยู่กับแพ็กเกจ support-compat โดยทั่วไป คุณไม่ต้อง คุณต้องกังวลเกี่ยวกับ support ไลบรารี เนื่องจากบิลด์ Gradle เครื่องมือจะจัดการทรัพยากร Dependency ของไลบรารีให้คุณ โดยใส่โดยอัตโนมัติ ไลบรารีที่เกี่ยวข้อง

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

gradle -q dependencies your-app-project:dependencies

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเพิ่มไลบรารีการสนับสนุนลงในการพัฒนา โดยใช้ Gradle โปรดดูการสนับสนุน การตั้งค่าคลัง สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้งาน Gradle โปรดดูที่ กำหนดค่า บิลด์ของคุณ

โปรดทราบว่าไลบรารีการสนับสนุนของ Android ทั้งหมดขึ้นอยู่กับระดับพื้นฐานบางระดับด้วย ของแพลตฟอร์มสำหรับรุ่นล่าสุด ซึ่งก็คือ Android 4.0 (API ระดับ 14) หรือ สูงขึ้น