Android Jetpack
Jetpack เป็นชุดไลบรารีที่ช่วยให้นักพัฒนาแอปทำตามแนวทางปฏิบัติแนะนำ ลดโค้ดสำเร็จรูป และเขียนโค้ดที่ทำงานสอดคล้องกันในเวอร์ชันและอุปกรณ์ Android เพื่อให้นักพัฒนาแอปมุ่งเน้นที่โค้ดที่ตนสนใจได้
Jetpack Compose
พัฒนา UI ด้วยการเขียน
ชุดเครื่องมือที่ทันสมัยสำหรับการสร้าง UI แบบเนทีฟที่ช่วยให้คุณพัฒนา UI บน Android ได้อย่างง่ายดายและรวดเร็วยิ่งขึ้น
ดูวิธีใช้ Jetpack
การฝึกอบรมขั้นพื้นฐาน
เรียนรู้ไลบรารี Jetpack ที่จำเป็นในข้อมูลเบื้องต้นเกี่ยวกับ Android ด้วยหลักสูตร Compose และลดการทำซ้ำในแอป
บทแนะนำแบบลงมือปฏิบัติ
สัมผัสประสบการณ์การใช้งานไลบรารี Jetpack 3 รายการที่จะช่วยให้ชั้นข้อมูลของคุณง่ายขึ้น ซึ่งได้แก่ LiveData, ViewModel และ Room
ตัวอย่างแอป Android พร้อมใช้งานแล้ว
ดูวิธีนำสถาปัตยกรรม Android สมัยใหม่มาใช้ในแอปในชีวิตจริง
ไลบรารี Jetpack สำรวจไลบรารีทั้งหมด
* ไลบรารียอดนิยมและใช้บ่อยจะแสดงเป็นอันดับแรก
activity * | เข้าถึง API แบบคอมโพสิเบิลที่สร้างขึ้นจาก Activity |
appcompat * | อนุญาตการเข้าถึง API ใหม่ในแพลตฟอร์ม API เวอร์ชันเก่า (หลายแพลตฟอร์มที่ใช้ดีไซน์ Material) |
appsearch * | สร้างความสามารถในการค้นหาในแอปที่กําหนดเองสําหรับผู้ใช้ |
camera * | สร้างแอปกล้องบนอุปกรณ์เคลื่อนที่ |
compose * | กำหนด UI โดยใช้โปรแกรมด้วยฟังก์ชันแบบคอมโพสิเบิลที่อธิบายรูปร่างและความเกี่ยวข้องของข้อมูล |
การเชื่อมโยงข้อมูล * | เชื่อมโยงคอมโพเนนต์ UI ในเลย์เอาต์กับแหล่งข้อมูลในแอปโดยใช้รูปแบบประกาศ |
ส่วนย่อย * | แบ่งกลุ่มแอปออกเป็นหน้าจอหลายๆ หน้าจอที่เป็นอิสระซึ่งโฮสต์อยู่ภายในกิจกรรม |
hilt * | ขยายฟังก์ชันการทำงานของ Dagger Hilt เพื่อเปิดใช้การฉีดข้อมูล Dependency ของบางคลาสจากไลบรารี androidx |
lifecycle * | สร้างคอมโพเนนต์ที่ทราบถึงวงจรซึ่งปรับลักษณะการทำงานตามสถานะปัจจุบันของกิจกรรมหรือส่วนย่อยได้ |
คอมโพเนนต์ Material Design * | คอมโพเนนต์ UI ของดีไซน์ Material แบบโมดูลและปรับแต่งได้สำหรับ Android |
navigation * | สร้างและจัดโครงสร้าง UI ในแอป จัดการ Deep Link และไปยังหน้าจอต่างๆ |
การแบ่งหน้า * | โหลดข้อมูลเป็นหน้าๆ และแสดงใน RecyclerView |
room * | สร้าง จัดเก็บ และจัดการข้อมูลที่ถาวรซึ่งสำรองข้อมูลโดยฐานข้อมูล SQLite |
test * | การทดสอบใน Android |
work * | กำหนดเวลาและดำเนินงานเบื้องหลังที่มีข้อจำกัดและเลื่อนเวลาออกไปได้ |
ads | รับรหัสโฆษณาโดยมีหรือไม่มีบริการ Google Play |
หมายเหตุ | แสดงข้อมูลเมตาที่ช่วยให้เครื่องมือและนักพัฒนาซอฟต์แวร์รายอื่นๆ เข้าใจโค้ดของแอป |
Arc.core | ผู้ช่วยสำหรับทรัพยากร Dependency ของอาร์เคดอื่นๆ รวมถึงกฎการทดสอบ JUnit ที่ใช้กับ LiveData ได้ |
asynclayoutinflater | ขยายเลย์เอาต์แบบอะซิงโครนัสเพื่อไม่ให้เกิดการกระตุกใน UI |
ป้อนข้อความอัตโนมัติ | ปรับปรุงความถูกต้องของการป้อนข้อความอัตโนมัติผ่านการขยายคำแนะนำ |
การเปรียบเทียบ | วัดประสิทธิภาพโค้ดอย่างแม่นยำใน Android Studio |
ข้อมูลไบโอเมตริก | ตรวจสอบสิทธิ์ด้วยข้อมูลไบโอเมตริกหรือข้อมูลเข้าสู่ระบบของอุปกรณ์ และดำเนินการเข้ารหัส |
บลูทูธ | ใช้ฟีเจอร์บลูทูธของแพลตฟอร์ม Android กับ API ที่เข้ากันได้แบบย้อนหลัง |
browser | แสดงหน้าเว็บในเบราว์เซอร์เริ่มต้นของผู้ใช้ |
camera.viewfinder | ช่องมองภาพแบบคอมโพสและแบบมุมมองสําหรับกล้องแบบสแตนด์อโลน" |
car-app | สร้างแอปเทมเพลตสำหรับ Android Auto และ Android Automotive OS |
Cardview | ใช้รูปแบบการ์ด Material Design ที่มีมุมโค้งมนและแรเงา |
คอลเล็กชัน | ลดการใช้ความทรงจำในคอลเล็กชันที่มีอยู่และคอลเล็กชันใหม่ที่มีขนาดเล็ก |
compose.animation | สร้างภาพเคลื่อนไหวในแอปพลิเคชัน Jetpack Compose เพื่อยกระดับประสบการณ์ของผู้ใช้ |
compose.compiler | แปลงฟังก์ชัน @Composable และเปิดใช้การเพิ่มประสิทธิภาพด้วยปลั๊กอินคอมไพเลอร์ Kotlin |
compose.foundation | เขียนแอปพลิเคชัน Jetpack Compose ด้วยองค์ประกอบสำคัญที่พร้อมใช้งานและขยายพื้นฐานเพื่อสร้างชิ้นงานของระบบการออกแบบของคุณเอง |
compose.material | สร้าง UI ของ Jetpack Compose ด้วยคอมโพเนนต์ดีไซน์ Material ที่พร้อมใช้งาน นี่คือจุดแรกเข้าของ 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 แบบปรับเปลี่ยนได้ซึ่งจะปรับเปลี่ยนตามการกำหนดค่าหน้าต่างปัจจุบันโดยอัตโนมัติ เช่น คลาสขนาดหน้าต่างหรือลักษณะการวางอุปกรณ์ ห้องสมุดจะมี ทั้งการใช้งานนั่งร้านเริ่มต้นและ Composable ขององค์ประกอบที่ใช้สร้างสรรค์ที่จำเป็น เพื่อสร้างประสบการณ์ที่กำหนดเอง |
compose.runtime | องค์ประกอบพื้นฐานพื้นฐานของโมเดลการเขียนโปรแกรมและการจัดการสถานะของ Compose และรันไทม์หลักของปลั๊กอิน Compose Compiler ที่จะกำหนดเป้าหมาย |
compose.ui | องค์ประกอบพื้นฐานของ UI การเขียนซึ่งจำเป็นต่อการโต้ตอบกับอุปกรณ์ ซึ่งรวมถึงเลย์เอาต์ การวาดภาพ และการป้อนข้อมูล |
พร้อมกัน | ย้ายงานออกจากเธรดหลักด้วยโคโริวทีนและใช้ประโยชน์จาก ListenableFuture |
constraintlayout | จัดตำแหน่งวิดเจ็ตและขนาดด้วยวิธีที่ยืดหยุ่นด้วยการกำหนดตำแหน่งแบบสัมพัทธ์ |
contentpager | โหลดและหน้าเว็บในข้อมูล ContentProvider ในชุดข้อความเบื้องหลัง |
coordinatorlayout | วางตำแหน่งวิดเจ็ตแอปพลิเคชันระดับบนสุด เช่น AppBarLayout และ FloatingActionButton |
core | กําหนดเป้าหมายฟีเจอร์และ API ของแพลตฟอร์มล่าสุดไปพร้อมกับรองรับอุปกรณ์รุ่นเก่า |
core.uwb | ใช้ UWB (แถบความถี่กว้างยิ่งยวด) ในอุปกรณ์ที่รองรับ |
ข้อมูลเข้าสู่ระบบ | ไลบรารีนี้ให้สิทธิ์เข้าถึงแบบรวมสำหรับข้อมูลเข้าสู่ระบบของผู้ใช้ ซึ่งอาจรวมถึงรหัสผ่าน พาสคีย์ และข้อมูลเข้าสู่ระบบแบบรวมศูนย์ คุณควรใช้ไลบรารีนี้เพื่อให้ประสบการณ์การลงชื่อเข้าใช้ที่ราบรื่นและปลอดภัย |
cursoradapter | แสดงข้อมูลเคอร์เซอร์ต่อวิดเจ็ต ListView |
มุมมองที่กำหนดเอง | ใช้มุมมองที่กำหนดเอง |
พื้นที่เก็บข้อมูล | จัดเก็บข้อมูลแบบไม่พร้อมกัน สม่ำเสมอ และธุรกรรม โดยแก้ไขข้อเสียบางอย่างของ SharedPreferences |
documentfile | ดูเอกสารไฟล์ |
draganddrop | ยอมรับข้อมูลแบบลากและวางจากแอปอื่นหรือภายในแอป และแสดงการจ่ายเป้าหมายการลดลงที่สม่ำเสมอ |
drawerlayout | ใช้วิดเจ็ตลิ้นชักดีไซน์ Material |
ภาพเคลื่อนไหวแบบไดนามิก | สร้างภาพเคลื่อนไหวที่ราบรื่นด้วย API ภาพเคลื่อนไหวที่อิงตามหลักฟิสิกส์ |
emoji | แสดงอีโมจิในอุปกรณ์ปัจจุบันและรุ่นเก่ากว่า |
emoji2 | แสดงอีโมจิในอุปกรณ์ปัจจุบันและรุ่นเก่ากว่า |
enterprise | สร้างแอปพลิเคชันที่พร้อมใช้งานในองค์กร |
อินเทอร์เฟซภายนอก | อ่านและเขียนแท็ก EXIF ของไฟล์ภาพ |
เกม | ใช้ Android Game SDK ในแอปโดยตรงเพื่อทำงานที่ซับซ้อนในเกม เช่น Frame Pacing |
ข้อมูลโดยย่อ | สร้างเลย์เอาต์สำหรับพื้นผิวระยะไกลโดยใช้ API สไตล์ Jetpack Compose |
graphics | ใช้ประโยชน์จากสิ่งอํานวยความสะดวกด้านกราฟิกในแพลตฟอร์ม Android หลายรุ่น |
gridlayout | ใช้เลย์เอาต์แบบตารางกริด |
health | สร้างแอปพลิเคชันด้านสุขภาพที่มีประสิทธิภาพโดยไม่คำนึงถึงแพลตฟอร์ม |
health.connect | อนุญาตให้นักพัฒนาซอฟต์แวร์อ่านหรือเขียนบันทึกสุขภาพและการออกกำลังกายของผู้ใช้ |
Heifwriter | เข้ารหัสรูปภาพหรือคอลเล็กชันรูปภาพในรูปแบบ HEIF โดยใช้ตัวแปลงรหัสที่มีอยู่ในอุปกรณ์ Android |
หมึก | สร้างแรงบันดาลใจให้แอปปากกาที่ดีที่สุด ลดความซับซ้อนในการเริ่มต้นใช้งานสำหรับนักพัฒนาแอปเพื่อให้ได้ประสบการณ์การเขียนด้วยโหมดหมึกที่มีประสิทธิภาพสูงและสวยงาม |
อินพุต | ลดเวลาในการตอบสนองของการโต้ตอบกับอินพุตด้วยการคาดการณ์ MotionEvents ในอนาคต |
interpolator | ใช้เครื่องมือการประมาณค่าภาพเคลื่อนไหวบนแพลตฟอร์มรุ่นเก่า |
javascriptengine | เปิดใช้แอป Android เพื่อประเมิน JavaScript |
เครื่องบินเจ็ต | เครื่องมือแบบสแตนด์อโลนที่ย้ายข้อมูลทรัพยากร Dependency ของไลบรารีในไลบรารีสนับสนุนที่เลิกใช้งานแล้วไปยังทรัพยากร Dependency ของ AndroidX ที่เทียบเท่า |
Leanback | ใช้ฟีเจอร์ Compose สำหรับทีวีแทนอาร์ติแฟกต์นี้ |
เดิม | เลิกใช้งานอาร์ติแฟกต์นี้และคลาสของอาร์ติแฟกต์แล้ว ตั้งแต่ Android 8 เป็นต้นไป ข้อจำกัดในการตรวจสอบประวัติทำให้คลาสนี้ไม่มีประโยชน์อีกต่อไป |
lint | ตรวจสอบ Lint เพื่อยืนยันการใช้งาน Gradle API |
ตัวโหลด | โหลดข้อมูลสําหรับ UI ที่จะยังคงอยู่หลังจากการเปลี่ยนแปลงการกําหนดค่า |
localbroadcastmanager | เลิกใช้งานอาร์ติแฟกต์นี้และคลาสของอาร์ติแฟกต์แล้ว ให้ใช้ LiveData หรือ Reactive Streams แทน |
สื่อ | แชร์เนื้อหาและการควบคุมสื่อกับแอปอื่นๆ มี media2 มาแทนที่ |
สื่อ 2 | แชร์เนื้อหาและการควบคุมสื่อกับแอปอื่นๆ |
สื่อ 3 * | รองรับไลบรารีสำหรับกรณีการใช้งานสื่อ |
mediarouter | เปิดใช้การแสดงผลและการเล่นสื่อในอุปกรณ์รับสัญญาณระยะไกลโดยใช้อินเทอร์เฟซผู้ใช้ทั่วไป |
multidex | ทำให้แอปพลิเคชันที่มีไฟล์ dex หลายไฟล์ใช้งานได้ในอุปกรณ์ Android 5 รุ่นก่อน |
metrics | ติดตามและรายงานเมตริกรันไทม์ต่างๆ สําหรับแอปพลิเคชัน |
palette | ดึงชุดสีที่แสดงถึงรูปภาพ |
คลังสำหรับเพิ่มความสามารถในการดู PDF ภายในแอป | |
percentlayout | อาร์ติแฟกต์นี้และคลาสของอาร์ติแฟกต์เลิกใช้งานแล้ว ให้ใช้ ConstraintLayout และเลย์เอาต์ที่เกี่ยวข้องแทน |
preference | สร้างหน้าจอการตั้งค่าแบบอินเทอร์แอกทีฟโดยไม่ต้องโต้ตอบกับพื้นที่เก็บข้อมูลของอุปกรณ์หรือจัดการ UI |
พิมพ์รูปภาพ เอกสาร ตลอดจนกราฟิกและรูปภาพอื่นๆ จากแอปของคุณ | |
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 | TODO |
profileinstaller | ช่วยให้ห้องสมุดป้อนข้อมูลร่องรอยการคอมไพล์ล่วงหน้าเพื่อให้ ART อ่านได้ |
คำแนะนำ | โปรโมตเนื้อหาไปยังหน้าจอหลักของ Android TV Launcher |
recyclerview | แสดงชุดข้อมูลขนาดใหญ่ใน UI ขณะลดการใช้หน่วยความจํา |
remotecallback | สร้าง Wrapper ที่ช่วยให้นักพัฒนาแอประบุ PendingIntent ได้ง่ายขึ้น |
การตรวจสอบทรัพยากร | แสดงแอตทริบิวต์ของมุมมองที่กำหนดเองในเครื่องมือตรวจสอบเลย์เอาต์แบบเรียลไทม์ของ Android Studio |
บันทึกสถานะ | เขียนคอมโพเนนต์แบบปลั๊กอินที่บันทึกสถานะ UI เมื่อกระบวนการสิ้นสุดลง และกู้คืนสถานะเมื่อกระบวนการเริ่มทํางานอีกครั้ง |
security | จัดการคีย์และเข้ารหัสไฟล์และ SharedPreferences อย่างปลอดภัย |
เป้าหมายที่แชร์ | รองรับการใช้งานแป้นพิมพ์ลัดเป็นเป้าหมายการแชร์โดยตรงแบบย้อนหลัง |
slice | แสดงองค์ประกอบ UI เทมเพลตภายนอกแอป |
slidingpanelayout | ใช้รูปแบบ UI ของแผงเลื่อน |
startup | ใช้วิธีที่ง่ายและมีประสิทธิภาพในการเริ่มต้นคอมโพเนนต์เมื่อเริ่มต้นแอป |
Sqlite | ทำงานกับฐานข้อมูล SQLite ในเครื่อง หากเป็นไปได้ ให้ใช้ "ห้องแชท" แทน |
swiperefreshlayout | ใช้รูปแบบ UI แบบปัดเพื่อรีเฟรช |
test.uiautomator | เฟรมเวิร์กสำหรับการทดสอบ UI ข้ามฟังก์ชัน |
textclassifier | ระบุการสนทนา ลิงก์ การเลือก และโครงสร้างอื่นๆ ที่คล้ายกันในข้อความ |
การติดตาม | เขียนเหตุการณ์การติดตามลงในบัฟเฟอร์การติดตามของระบบ |
การเปลี่ยน | สร้างภาพเคลื่อนไหวใน UI ด้วยเลย์เอาต์เริ่มต้นและสิ้นสุด |
ทีวี | มีฟังก์ชันการเขียนและดีไซน์ Material สำหรับนักพัฒนาซอฟต์แวร์เพื่อเขียนแอปพลิเคชันสำหรับทีวี |
tvprovider | ระบุช่อง Android TV |
vectordrawable | แสดงผลกราฟิกเวกเตอร์ |
versionedparcelable | ให้รูปแบบการแปลงข้อมูลไบนารีที่กะทัดรัดและเสถียรซึ่งสามารถส่งผ่านกระบวนการต่างๆ หรือเก็บไว้อย่างปลอดภัย |
viewpager | แสดงมุมมองหรือส่วนย่อยในรูปแบบที่ปัดได้ หากเป็นไปได้ ให้ใช้ viewpager2 แทน |
การดูหน้าเว็บ 2 | แสดงมุมมองหรือข้อมูลโค้ดในลักษณะที่ปัดได้ |
wear | สร้างแอปพลิเคชันสำหรับสมาร์ทวอทช์ Wear OS by Google |
wear.compose | เขียนแอปพลิเคชัน Jetpack Compose สำหรับอุปกรณ์ที่สวมใส่ได้ด้วยการระบุฟังก์ชันการทำงานเพื่อรองรับอุปกรณ์ รูปร่าง ขนาด และท่าทางสัมผัสเฉพาะของอุปกรณ์ที่สวมใส่ได้ |
wear.profilayout | ไลบรารีนี้อนุญาตให้กำหนดชุดเลย์เอาต์ UI และนิพจน์ที่ไม่ใช่ UI เพื่อแสดงผล/ประเมินบนแพลตฟอร์มระยะไกล |
wear.tiles | สร้างแอปพลิเคชันสำหรับสมาร์ทวอทช์ Wear OS by Google |
wear.watchface | สร้างแอปพลิเคชันสำหรับสมาร์ทวอทช์ Wear OS by Google |
webkit | ทำงานร่วมกับ WebView API สมัยใหม่ใน Android 5 ขึ้นไป |
หน้าต่าง | ช่วยรองรับรูปแบบของอุปกรณ์ที่หลากหลาย เช่น อุปกรณ์แบบพับได้ |
window.extensions.core | API หลักสำหรับส่วนขยาย Window Manager Library |
มีอะไรใหม่
- เขียนเมื่อเดือนสิงหาคม 2023
- Jetpack Compose 1.5.0 จะย้ายไปยังเวอร์ชันเสถียรและปรับปรุงประสิทธิภาพครั้งใหญ่ ซึ่งรวมถึงการเปลี่ยนโครงสร้างภายในโค้ดของตัวแก้ไขระดับสูง เช่น "Clickable" ที่ช่วยเพิ่มเวลาในการเรียบเรียงได้ถึง 80% Compose เดือนสิงหาคมปี 2023 ยังปรับปรุงการจัดสรรหน่วยความจำได้ถึง 70% (โดยเฉพาะอย่างยิ่งในสแต็กกราฟิก) ซึ่งจะช่วยลดพื้นที่หน่วยความจำของการเขียนในอุปกรณ์
- Wear Compose และการ์ด 1.2
- การ์ด Wear Compose และ Wear ได้ย้ายไปยังเวอร์ชันเสถียรเพื่อยกระดับประสบการณ์การใช้งานของนักพัฒนาแอป WearOS เครื่องมือทั้ง 2 อย่างนี้ใช้ร่วมกันได้ โดย Wear Compose สามารถใช้สร้างหน้าจอแอปที่ซับซ้อนในอุปกรณ์ Wear และการ์ด Wear สามารถใช้สร้างการ์ดแอป เวอร์ชันใหม่ของ Wear Compose มีฟังก์ชันการทำงานใหม่ๆ เช่น รายการแบบขยายได้และการปัดเพื่อแสดง ตอนนี้รุ่นไทล์ Wear ยังรองรับภาพเคลื่อนไหววิดเจ็ตและการเชื่อมโยงข้อมูลแพลตฟอร์ม (เช่น แหล่งข้อมูลสุขภาพ) ด้วย
- หน้าต่าง 1.1
- 1.1 ลดการสั่นไหวให้กับ API ที่ฝังกิจกรรม ซึ่งทำให้แอปอย่าง WhatsApp, eBay และ Temu จัดส่งเลย์เอาต์หน้าจอขนาดใหญ่ได้ API นี้เต็มไปด้วยฟีเจอร์ต่างๆ เนื่องจากช่วยให้นักพัฒนาแอปสามารถแก้ไขลักษณะการทํางานของโหมดแยกหน้าจอ ตรวจสอบ (และเปลี่ยนแปลง) สถานะการแยกขณะรันไทม์ ใช้การแยกแนวนอน และเริ่มโมดัลในหน้าต่างแบบเต็ม
- บันทึกประจำรุ่น
- ดูข้อมูลเพิ่มเติมได้ที่บันทึกประจำรุ่น
เหตุใดจึงควรใช้ Android Jetpack
ทำตามแนวทางปฏิบัติแนะนำ
ไลบรารี Android Jetpack Libraries ที่สร้างขึ้นตามแนวทางปฏิบัติด้านการออกแบบที่ทันสมัยช่วยลดข้อขัดข้องและลดการรั่วไหลของหน่วยความจำเนื่องจากมาพร้อมความสามารถในการใช้งานร่วมกันแบบย้อนหลัง
นำโค้ด Boilerplate ออก
Android Jetpack จัดการกิจกรรมที่น่าเบื่อ เช่น งานในเบื้องหลัง การนำทาง และการจัดการอายุการใช้งาน เพื่อให้คุณสามารถโฟกัสกับสิ่งที่ทำให้แอปยอดเยี่ยมได้
ลดการกระจาย Fragment
ลดความซับซ้อนด้วยไลบรารีที่ทำงานอย่างสอดคล้องกันในเวอร์ชันและอุปกรณ์ Android