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

เหตุใดจึงควรใช้ Android Jetpack

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

* ไลบรารียอดนิยมและที่ใช้บ่อยจะแสดงเป็นอันดับแรก

activity *เข้าถึง API แบบคอมโพสิเบิลที่สร้างขึ้นบน Activity
appcompat *อนุญาตให้เข้าถึง API ใหม่ใน API เวอร์ชันเก่าของแพลตฟอร์ม (หลายรายการใช้ Material Design)
appsearch *สร้างความสามารถในการค้นหาในแอปที่กําหนดเองสําหรับผู้ใช้
camera *สร้างแอปกล้องบนอุปกรณ์เคลื่อนที่
compose *กำหนด UI โดยใช้โปรแกรมด้วยฟังก์ชันแบบคอมโพสิเบิลที่อธิบายรูปร่างและความเกี่ยวข้องของข้อมูล
databinding *เชื่อมโยงคอมโพเนนต์ UI ในเลย์เอาต์กับแหล่งข้อมูลในแอปโดยใช้รูปแบบประกาศ
fragment *แบ่งแอปออกเป็นหลายหน้าจออิสระที่โฮสต์ภายในกิจกรรม
hilt *ขยายฟังก์ชันการทำงานของ Dagger Hilt เพื่อเปิดใช้การฉีดข้อมูล Dependency ของบางคลาสจากไลบรารี androidx
lifecycle *สร้างคอมโพเนนต์ที่รับรู้วงจรซึ่งสามารถปรับลักษณะการทำงานตามสถานะวงจรปัจจุบันของกิจกรรมหรือข้อมูลโค้ด
คอมโพเนนต์ Material Design * คอมโพเนนต์ UI ของ Material Design แบบโมดูลและปรับแต่งได้สำหรับ Android
navigation *สร้างและจัดโครงสร้าง UI ในแอป จัดการ Deep Link และไปยังหน้าจอต่างๆ
การเลื่อนหน้า *โหลดข้อมูลเป็นหน้าๆ และแสดงใน RecyclerView
room *สร้าง จัดเก็บ และจัดการข้อมูลที่ถาวรซึ่งได้รับการสนับสนุนโดยฐานข้อมูล SQLite
test *การทดสอบใน Android
work *กําหนดเวลาและดําเนินการงานเบื้องหลังตามข้อจํากัดที่เลื่อนได้
adsรับรหัสโฆษณาโดยมีหรือไม่มีบริการ Play
คำอธิบายประกอบแสดงข้อมูลเมตาที่ช่วยให้เครื่องมือและนักพัฒนาแอปรายอื่นๆ เข้าใจโค้ดของแอป
arch.coreตัวช่วยสำหรับข้อกำหนดอื่นๆ ของสถาปัตยกรรม รวมถึงกฎการทดสอบ JUnit ที่ใช้กับ LiveData ได้
asynclayoutinflaterขยายเลย์เอาต์แบบไม่พร้อมกันเพื่อหลีกเลี่ยงการกระตุกใน UI
ป้อนอัตโนมัติปรับปรุงความแม่นยำของการป้อนข้อความอัตโนมัติผ่านการขยายคำแนะนำ
benchmarkวัดประสิทธิภาพของโค้ดภายใน Android Studio อย่างแม่นยำ
ข้อมูลไบโอเมตริกตรวจสอบสิทธิ์ด้วยข้อมูลไบโอเมตริกหรือข้อมูลเข้าสู่ระบบของอุปกรณ์ และดำเนินการเข้ารหัส
bluetoothใช้ฟีเจอร์บลูทูธของแพลตฟอร์ม Android กับ API ที่เข้ากันได้แบบย้อนหลัง
browserแสดงหน้าเว็บในเบราว์เซอร์เริ่มต้นของผู้ใช้
camera.viewfinderช่องมองภาพแบบคอมโพสและแบบมุมมองสําหรับกล้องแบบสแตนด์อโลน"
car-appสร้างแอปเทมเพลตสำหรับ Android Auto และ Android Automotive OS
cardviewใช้รูปแบบการ์ดของ Material Design ที่มีมุมมนและแรเงา
collectionลดผลกระทบต่อหน่วยความจำของคอลเล็กชันที่มีอยู่และคอลเล็กชันใหม่ที่มีขนาดเล็ก
compose.animationสร้างภาพเคลื่อนไหวในแอปพลิเคชัน Jetpack Compose เพื่อมอบประสบการณ์การใช้งานที่ดีขึ้นให้แก่ผู้ใช้
compose.compilerเปลี่ยนรูปแบบฟังก์ชัน @Composable และเปิดใช้การเพิ่มประสิทธิภาพด้วยปลั๊กอินคอมไพเลอร์ Kotlin
compose.foundationเขียนแอปพลิเคชัน Jetpack Compose ด้วยองค์ประกอบพื้นฐานที่พร้อมใช้งานและขยายฐานรากเพื่อสร้างชิ้นส่วนระบบออกแบบของคุณเอง
compose.materialสร้าง UI ของ Jetpack Compose ด้วยคอมโพเนนต์ Material Design ที่พร้อมใช้งาน นี่เป็นจุดแรกเข้าระดับที่สูงขึ้นของ Compose ซึ่งออกแบบมาเพื่อจัดหาคอมโพเนนต์ที่ตรงกับที่อธิบายไว้ใน www.material.io
compose.material3สร้าง UI ของ Jetpack Compose ด้วยคอมโพเนนต์ Material Design 3 ซึ่งเป็นวิวัฒนาการขั้นถัดไปของ Material Design Material 3 ประกอบด้วยธีมและคอมโพเนนต์ที่อัปเดต รวมถึงฟีเจอร์การปรับแต่งในแบบของคุณของ Material You เช่น สีแบบไดนามิก และออกแบบมาให้สอดคล้องไปกับสไตล์ภาพและ UI ของระบบ Android 12 ใหม่
compose.material3.adaptiveใช้ไลบรารีแบบปรับเปลี่ยนได้ของ Material 3 เพื่อสร้าง UI แบบปรับเปลี่ยนได้ซึ่งจะปรับเปลี่ยนตามการกำหนดค่าหน้าต่างปัจจุบันโดยอัตโนมัติ เช่น คลาสขนาดหน้าต่างหรือลักษณะการวางอุปกรณ์ ไลบรารีนี้มีทั้งการใช้งานสคาฟเฟิลเริ่มต้นและคอมโพสิชันองค์ประกอบพื้นฐานที่จําเป็นเพื่อสร้างประสบการณ์ที่กําหนดเอง
compose.runtimeองค์ประกอบพื้นฐานของรูปแบบการเขียนโปรแกรมและการจัดการสถานะของ Compose รวมถึงรันไทม์หลักสำหรับกำหนดเป้าหมายปลั๊กอินคอมไพเลอร์ Compose
compose.uiองค์ประกอบพื้นฐานของ UI การเขียนที่จำเป็นต่อการโต้ตอบกับอุปกรณ์ ซึ่งรวมถึงเลย์เอาต์ ภาพวาด และอินพุต
concurrentย้ายงานออกจากเธรดหลักด้วยโคโริวทีนและใช้ประโยชน์จาก ListenableFuture
constraintlayoutวางตำแหน่งและปรับขนาดวิดเจ็ตได้อย่างยืดหยุ่นด้วยการวางตำแหน่งแบบสัมพัทธ์
contentpagerโหลดและแบ่งหน้าข้อมูล ContentProvider ในเธรดเบื้องหลัง
coordinatorlayoutวางตำแหน่งวิดเจ็ตแอปพลิเคชันระดับบนสุด เช่น AppBarLayout และ FloatingActionButton
coreกําหนดเป้าหมายฟีเจอร์และ API ของแพลตฟอร์มล่าสุดไปพร้อมกับรองรับอุปกรณ์รุ่นเก่า
core.uwbใช้ UWB (แถบความถี่กว้างยิ่งยวด) ในอุปกรณ์ที่รองรับ
credentials ไลบรารีนี้ให้สิทธิ์เข้าถึงแบบรวมสำหรับข้อมูลเข้าสู่ระบบของผู้ใช้ ซึ่งอาจรวมถึงรหัสผ่าน พาสคีย์ และข้อมูลเข้าสู่ระบบที่รวมศูนย์ คุณควรใช้ไลบรารีนี้เพื่อให้ประสบการณ์การลงชื่อเข้าใช้ที่ราบรื่นและปลอดภัย
credentials.registryในการแก้ปัญหาเหล่านี้ เราจึงเพิ่มกลไกรีจิสทรีใหม่ซึ่งช่วยให้แอประบุข้อมูลเข้าสู่ระบบดิจิทัลในลักษณะที่รักษาความเป็นส่วนตัวได้ ในระดับสูง แอปของผู้ให้บริการจะลงทะเบียนข้อมูลเข้าสู่ระบบดิจิทัลที่เป็นไปได้ทั้งหมดกับเครื่องมือจัดการข้อมูลเข้าสู่ระบบล่วงหน้า เมื่อเครื่องมือจัดการข้อมูลเข้าสู่ระบบได้รับคําขอแอปสําหรับข้อมูลเข้าสู่ระบบดิจิทัลที่เฉพาะเจาะจง ก็จะเรียกใช้การจับคู่ข้อมูลเข้าสู่ระบบและ UI ตัวเลือกผู้ใช้ในแซนด์บ็อกซ์
cursoradapterแสดงข้อมูลเคอร์เซอร์ต่อวิดเจ็ต ListView
customviewใช้มุมมองที่กำหนดเอง
datastoreจัดเก็บข้อมูลแบบไม่พร้อมกัน สอดคล้องกัน และแบบธุรกรรม ซึ่งช่วยขจัดข้อเสียบางอย่างของ SharedPreferences
documentfileดูเอกสารไฟล์
draganddropยอมรับการลากและวางข้อมูลจากแอปอื่นหรือภายในแอป และแสดงการอำนวยความสะดวกในการวางเป้าหมายที่สอดคล้องกัน
drawerlayoutใช้วิดเจ็ตลิ้นชักของ Material Design
dynamicanimationสร้างภาพเคลื่อนไหวที่ราบรื่นด้วย API ภาพเคลื่อนไหวที่อิงตามฟิสิกส์
emojiแสดงอีโมจิในอุปกรณ์ปัจจุบันและอุปกรณ์รุ่นเก่า
emoji2แสดงอีโมจิในอุปกรณ์ปัจจุบันและอุปกรณ์รุ่นเก่า
enterpriseสร้างแอปพลิเคชันที่พร้อมใช้งานสำหรับองค์กร
exifinterfaceอ่านและเขียนแท็ก EXIF ของไฟล์ภาพ
เกมใช้ Android Game SDK ในแอปโดยตรงเพื่อทำงานที่ซับซ้อนของเกม เช่น Frame Pacing
ข้อมูลโดยย่อสร้างเลย์เอาต์สำหรับแพลตฟอร์มระยะไกลโดยใช้ API สไตล์ Jetpack Compose
graphicsใช้ประโยชน์จากสิ่งอํานวยความสะดวกด้านกราฟิกในแพลตฟอร์ม Android หลายรุ่น
gridlayoutใช้เลย์เอาต์ตารางกริด
healthสร้างแอปพลิเคชันด้านสุขภาพที่มีประสิทธิภาพโดยไม่คำนึงถึงแพลตฟอร์ม
health.connectอนุญาตให้นักพัฒนาแอปอ่านหรือเขียนบันทึกสุขภาพและการออกกำลังกายของผู้ใช้
heifwriterเข้ารหัสรูปภาพหรือคอลเล็กชันรูปภาพในรูปแบบ HEIF โดยใช้ตัวแปลงรหัสที่มีอยู่ในอุปกรณ์ Android
inkสร้างแรงบันดาลใจให้แอปปากกาที่ดีที่สุด ลดความซับซ้อนในการพัฒนาแอปเพื่อประสบการณ์การเขียนที่มีประสิทธิภาพสูงและสวยงาม
inputลดเวลาในการตอบสนองของการโต้ตอบกับอินพุตด้วยการคาดคะเน MotionEvents ในอนาคต
interpolatorใช้ตัวอินเทอร์โพเลเตอร์ภาพเคลื่อนไหวในแพลตฟอร์มรุ่นเก่า
javascriptengineเปิดใช้แอป Android เพื่อประเมิน JavaScript
jetifierเครื่องมือแบบสแตนด์อโลนที่ย้ายข้อมูลทรัพยากร Dependency ของไลบรารีในไลบรารีสนับสนุนที่เลิกใช้งานแล้วไปยังทรัพยากร Dependency ของ AndroidX ที่เทียบเท่า
leanbackใช้เครื่องมือเขียนสำหรับทีวีแทนรายการต่างๆ นี้
เดิมอาร์ติแฟกต์นี้และคลาสของอาร์ติแฟกต์เลิกใช้งานแล้ว ตั้งแต่ Android 8 เป็นต้นไป ข้อจำกัดในการตรวจสอบประวัติทำให้คลาสนี้ไม่มีประโยชน์อีกต่อไป
lintการตรวจสอบ Lint เพื่อยืนยันการใช้ Gradle API
loaderโหลดข้อมูลสําหรับ UI ที่จะยังคงอยู่หลังจากการเปลี่ยนแปลงการกําหนดค่า
localbroadcastmanagerอาร์ติแฟกต์นี้และคลาสของอาร์ติแฟกต์เลิกใช้งานแล้ว ให้ใช้ LiveData หรือ Reactive Streams แทน
mediaแชร์เนื้อหาและการควบคุมสื่อกับแอปอื่นๆ มี media2 มาแทนที่
media2แชร์เนื้อหาและการควบคุมสื่อกับแอปอื่นๆ
media3 *รองรับไลบรารีสำหรับกรณีการใช้งานสื่อ
mediarouterเปิดใช้การแสดงและการเล่นสื่อในอุปกรณ์รับสัญญาณระยะไกลโดยใช้อินเทอร์เฟซผู้ใช้ทั่วไป
multidexติดตั้งใช้งานแอปพลิเคชันที่มีไฟล์ dex หลายไฟล์ในอุปกรณ์ก่อน Android 5
metricsติดตามและรายงานเมตริกรันไทม์ต่างๆ สําหรับแอปพลิเคชัน
paletteดึงชุดสีที่แสดงถึงรูปภาพ
pdfไลบรารีสำหรับเพิ่มความสามารถในการดู PDF ภายในแอป
percentlayoutอาร์ติแฟกต์นี้และคลาสของอาร์ติแฟกต์เลิกใช้งานแล้ว ให้ใช้ ConstraintLayout และเลย์เอาต์ที่เกี่ยวข้องแทน
preferenceสร้างหน้าจอการตั้งค่าแบบอินเทอร์แอกทีฟโดยไม่ต้องโต้ตอบกับพื้นที่เก็บข้อมูลของอุปกรณ์หรือจัดการ UI
printพิมพ์รูปภาพ เอกสาร รวมถึงกราฟิกและรูปภาพอื่นๆ จากแอป
privacysandbox.activityสิ่งที่ต้องทำ
privacysandbox.adsไลบรารีนี้ช่วยให้ผสานรวมกับ Privacy Preserving API ซึ่งเป็นส่วนหนึ่งของ Privacy Sandbox ใน Android ได้
privacysandbox.pluginsปลั๊กอิน Gradle ของคลัง Sdk สำหรับ Privacy Sandbox ของ Android
privacysandbox.sdkruntimeไลบรารีนี้มีคอมโพเนนต์สําหรับผู้บริโภคที่ทราบ SdkRuntime
privacysandbox.toolsไลบรารีเพื่อใช้ประโยชน์จากฟังก์ชัน Privacy Sandbox ใน Android
privacysandbox.uiสิ่งที่ต้องทำ
profileinstallerช่วยให้ห้องสมุดป้อนข้อมูลร่องรอยการคอมไพล์ล่วงหน้าเพื่อให้ ART อ่านได้
recommendationโปรโมตเนื้อหาไปยังหน้าจอหลักของ Android TV Launcher
recyclerviewแสดงชุดข้อมูลขนาดใหญ่ใน UI ขณะลดการใช้หน่วยความจํา
remotecallbackสร้าง Wrapper ที่ช่วยนักพัฒนาแอประบุ PendingIntent ได้ง่ายขึ้น
resourceinspectionแสดงแอตทริบิวต์ของมุมมองที่กำหนดเองในเครื่องมือตรวจสอบเลย์เอาต์แบบเรียลไทม์ของ Android Studio
savedstateเขียนคอมโพเนนต์แบบปลั๊กอินที่บันทึกสถานะ UI เมื่อกระบวนการสิ้นสุดลง และกู้คืนสถานะเมื่อกระบวนการเริ่มต้นใหม่
securityจัดการคีย์และเข้ารหัสไฟล์และ SharedPreferences อย่างปลอดภัย
sharetargetรองรับการใช้งานแป้นพิมพ์ลัดเป็นเป้าหมายการแชร์โดยตรงแบบย้อนหลัง
sliceแสดงองค์ประกอบ UI เทมเพลตภายนอกแอป
slidingpanelayoutใช้รูปแบบ UI ของแผงแบบเลื่อน
startupใช้วิธีเริ่มต้นคอมโพเนนต์ที่มีประสิทธิภาพและตรงไปตรงมาเมื่อแอปเริ่มต้น
sqliteทำงานกับฐานข้อมูล SQLite ในเครื่อง หากเป็นไปได้ ให้ใช้ Room แทน
swiperefreshlayoutใช้รูปแบบ UI การปัดเพื่อรีเฟรช
test.uiautomatorเฟรมเวิร์กสําหรับการทดสอบ UI แบบทํางานข้ามแอป
textclassifierระบุการสนทนา ลิงก์ การเลือก และโครงสร้างอื่นๆ ที่คล้ายกันในข้อความ
การติดตามเขียนเหตุการณ์การติดตามไปยังบัฟเฟอร์การติดตามของระบบ
transitionสร้างภาพเคลื่อนไหวใน UI ด้วยเลย์เอาต์เริ่มต้นและสิ้นสุด
tvให้บริการฟังก์ชันการทำงาน Compose และ Material Design แก่นักพัฒนาแอปพลิเคชันสำหรับทีวี
tvproviderระบุช่อง Android TV
vectordrawableแสดงผลกราฟิกเวกเตอร์
versionedparcelableให้รูปแบบการแปลงข้อมูลไบนารีที่กะทัดรัดและเสถียรซึ่งสามารถส่งผ่านกระบวนการต่างๆ หรือเก็บไว้อย่างปลอดภัย
viewpagerแสดงมุมมองหรือข้อมูลโค้ดในลักษณะที่ปัดได้ หากเป็นไปได้ ให้ใช้ viewpager2 แทน
viewpager2แสดงมุมมองหรือข้อมูลโค้ดในลักษณะที่ปัดได้
wearสร้างแอปพลิเคชันสำหรับสมาร์ทวอทช์ Wear OS by Google
wear.composeเขียนแอปพลิเคชัน Jetpack Compose สำหรับอุปกรณ์ที่สวมใส่ได้ด้วยการระบุฟังก์ชันการทำงานเพื่อรองรับอุปกรณ์ รูปร่าง ขนาด และท่าทางสัมผัสเฉพาะของอุปกรณ์ที่สวมใส่ได้
wear.protolayoutไลบรารีนี้ช่วยให้คุณกำหนดชุดเลย์เอาต์ UI และนิพจน์ที่ไม่ใช่ UI เพื่อแสดงผล/ประเมินในแพลตฟอร์มระยะไกลได้
wear.tilesสร้างแอปพลิเคชันสำหรับสมาร์ทวอทช์ Wear OS by Google
wear.watchfaceสร้างแอปพลิเคชันสำหรับสมาร์ทวอทช์ Wear OS by Google
webkitทำงานร่วมกับ WebView API สมัยใหม่ใน Android 5 ขึ้นไป
windowช่วยรองรับรูปแบบของอุปกรณ์ที่หลากหลาย เช่น อุปกรณ์แบบพับได้
window.extensions.coreCore API สําหรับส่วนขยายไลบรารีเครื่องมือจัดการหน้าต่าง
เขียนเมื่อเดือนสิงหาคม 2023
Jetpack Compose 1.5.0 จะย้ายไปยังเวอร์ชันเสถียรและปรับปรุงประสิทธิภาพครั้งใหญ่ ซึ่งรวมถึงการเปลี่ยนโครงสร้างภายในโค้ดของตัวแก้ไขระดับสูง เช่น "Clickable" ที่ช่วยเพิ่มเวลาในการเรียบเรียงได้ถึง 80% คอมโพซในเวอร์ชันเดือนสิงหาคม 2023 ยังเพิ่มประสิทธิภาพการจัดสรรหน่วยความจำได้สูงสุด 70% (โดยเฉพาะในสแต็กกราฟิก) ซึ่งจะลดการใช้หน่วยความจำของคอมโพซในอุปกรณ์
Wear Compose และการ์ด 1.2
ทั้ง Wear Compose และ Wear Tile ได้ย้ายไปอยู่ในเวอร์ชันเสถียรเพื่อปรับปรุงประสบการณ์การใช้งานของนักพัฒนาแอป WearOS ให้ดียิ่งขึ้น เครื่องมือทั้ง 2 อย่างนี้ใช้ร่วมกันได้ โดย Wear Compose สามารถใช้สร้างหน้าจอแอปที่ซับซ้อนในอุปกรณ์ Wear และการ์ด Wear สามารถใช้สร้างการ์ดแอป เวอร์ชันใหม่ของ Wear Compose มีฟังก์ชันการทำงานใหม่ๆ เช่น รายการแบบขยายได้และการปัดเพื่อแสดง นอกจากนี้ รุ่นการ์ด Wear ยังรองรับภาพเคลื่อนไหวของวิดเจ็ตและการเชื่อมโยงข้อมูลแพลตฟอร์ม (เช่น แหล่งข้อมูลสุขภาพ) ด้วย
หน้าต่าง 1.1
1.1 ลดการสั่นไหวให้กับ API ที่ฝังกิจกรรม ซึ่งทำให้แอปอย่าง WhatsApp, eBay และ Temu จัดส่งเลย์เอาต์หน้าจอขนาดใหญ่ได้ API นี้เต็มไปด้วยฟีเจอร์ต่างๆ เนื่องจากช่วยให้นักพัฒนาแอปสามารถแก้ไขลักษณะการทํางานของโหมดแยกหน้าจอ ตรวจสอบ (และเปลี่ยนแปลง) สถานะการแยกขณะรันไทม์ ใช้การแยกแนวนอน และเริ่มโมดัลในหน้าต่างแบบเต็ม
บันทึกประจำรุ่น
ดูข้อมูลเพิ่มเติมได้ที่บันทึกประจำรุ่น

ดูวิธีใช้ Jetpack

เรียนรู้ไลบรารี Jetpack ที่จำเป็นในข้อมูลเบื้องต้นเกี่ยวกับ Android ด้วยหลักสูตร Compose และลดการทำซ้ำในแอป
สัมผัสประสบการณ์การใช้งานไลบรารี Jetpack 3 รายการที่จะช่วยให้ชั้นข้อมูลของคุณง่ายขึ้น ซึ่งได้แก่ LiveData, ViewModel และ Room
ดูวิธีที่มีการใช้ไลบรารี Jetpack ที่ได้รับความนิยมมากที่สุดในแอประดับเวอร์ชันที่ใช้งานจริง

ข่าวสารและวิดีโอ