หมายเหตุ: การเปิดตัว 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) หรือ สูงขึ้น