ข่าวสารเกี่ยวกับผลิตภัณฑ์

Jetpack Navigation 3 พร้อมให้ใช้งานอย่างเสถียรแล้ว

ใช้เวลาอ่าน 3 นาที
ดูโปรไฟล์ของ Don Turner
Don Turner วิศวกรนักพัฒนาซอฟต์แวร์สัมพันธ์

Jetpack Navigation 3 เวอร์ชัน 1.0 เสถียรแล้ว 🎉 นำไปใช้ในแอปเวอร์ชันที่ใช้งานจริงได้แล้ววันนี้ JetBrains ใช้ฟีเจอร์นี้ในแอป KotlinConf อยู่แล้ว

Navigation 3 เป็นไลบรารีการนำทางใหม่ที่สร้างขึ้นตั้งแต่ต้นเพื่อรองรับสถานะ Jetpack Compose state โดยจะช่วยให้คุณควบคุม Back Stack ได้อย่างเต็มที่ ช่วยรักษาสถานะการนำทาง และช่วยให้คุณสร้างเลย์เอาต์ที่ปรับเปลี่ยนได้ง่ายๆ (เช่น รายการ-รายละเอียด) นอกจากนี้ยังมีเวอร์ชันข้ามแพลตฟอร์มจาก JetBrains ด้วย

เหตุใดจึงต้องมีไลบรารีใหม่

ไลบรารี Jetpack Navigation เดิม (ปัจจุบันคือ Nav2) ได้รับการออกแบบเมื่อ 7 ปีที่แล้ว และแม้ว่าไลบรารีนี้จะตอบโจทย์เป้าหมายเดิมได้เป็นอย่างดีและได้รับการปรับปรุงอย่างต่อเนื่อง แต่ปัจจุบันวิธีสร้างแอปได้เปลี่ยนแปลงไปอย่างสิ้นเชิง

การเขียนโปรแกรมเชิงโต้ตอบด้วย UI ที่ประกาศได้กลายเป็นเรื่องปกติแล้ว Nav3 รองรับแนวทางนี้ ตัวอย่างเช่น NavDisplay (คอมโพเนนต์ UI ของ Nav3 ที่ แสดงหน้าจอ) จะสังเกตรายการคีย์ (แต่ละคีย์แสดงถึงหน้าจอ) ที่สนับสนุนโดยสถานะ Compose และอัปเดต UI เมื่อรายการนั้นมีการเปลี่ยนแปลง

nav-display.png

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

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

แนวทางนี้ช่วยให้คุณทำสิ่งต่อไปนี้ได้

อ่านเพิ่มเติมเกี่ยวกับการออกแบบและฟีเจอร์ต่างๆ ได้ในบล็อกเปิดตัว

การย้ายข้อมูลจาก Navigation 2

หากคุณใช้ Nav2 อยู่แล้ว โดยเฉพาะอย่างยิ่ง Navigation Compose คุณควรพิจารณาย้ายข้อมูลไปยัง Nav3 เรามีคำแนะนำในการย้ายข้อมูลเพื่อช่วยเหลือคุณในเรื่องนี้ ขั้นตอนสำคัญมีดังนี้

  1. เพิ่มการพึ่งพิง Navigation 3
  2. อัปเดตเส้นทางการนำทางเพื่อติดตั้งใช้งาน NavKey เส้นทางไม่จำเป็นต้องติดตั้งใช้งานอินเทอร์เฟซนี้เพื่อใช้ Nav3 แต่หากติดตั้งใช้งาน คุณจะใช้ประโยชน์จากฟังก์ชัน rememberNavBackStack ของ Nav3 เพื่อสร้าง Back Stack แบบถาวรได้
  3. สร้างคลาสเพื่อเก็บและแก้ไขสถานะการนำทาง ซึ่งเป็นที่เก็บ Back Stack
  4. แทนที่ NavController ด้วยคลาสเหล่านี้
  5. ย้ายปลายทางจาก NavGraph ของ NavHost ไปยัง entryProvider
  6. แทนที่ NavHost ด้วย NavDisplay

การทดลองย้ายข้อมูล AI Agent

คุณอาจต้องการทดลองใช้ Agent AI เพื่ออ่านคำแนะนำในการย้ายข้อมูลและทำตามขั้นตอนในโปรเจ็กต์ หากต้องการลองใช้ฟีเจอร์นี้กับ Gemini ในโหมด Agent ของ Android Studio ให้ทำดังนี้

  • บันทึกคำแนะนำเวอร์ชัน Markdown นี้ลงในโปรเจ็กต์
  • วางพรอมต์นี้ลงใน Agent (แต่ไม่ต้องกด Enter) "ย้ายข้อมูลโปรเจ็กต์นี้ไปยัง Navigation 3 โดยใช้ "
  • พิมพ์ @migration-guide.md ซึ่งจะส่งคำแนะนำเป็นบริบทให้กับ Agent

โปรดตรวจสอบการเปลี่ยนแปลงที่ AI Agent ทำอย่างละเอียดเสมอ เนื่องจาก AI Agent อาจทำผิดพลาดได้

เรายินดีรับฟังความคิดเห็นเกี่ยวกับประสิทธิภาพของคุณหรือ Agent โปรดส่งความคิดเห็นถึงเราที่นี่

สูตรการนำทางที่ใช้งานได้จริงสำหรับสถานการณ์ที่พบบ่อย

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

code-recipes.png

ปัจจุบันมีสูตร 19 สูตร ซึ่งรวมถึงสูตรสำหรับกรณีต่อไปนี้

ปัจจุบันเรากำลังพัฒนาสูตรสำหรับ Deep Link รวมถึงการผสานรวม Koin และวางแผนที่จะเพิ่มสูตรอื่นๆ อีกมากมาย นอกจากนี้ วิศวกรจาก JetBrains ยังได้เผยแพร่สูตรเวอร์ชัน Compose Multiplatform ด้วย

หากคุณมีกรณีการใช้งานที่พบบ่อยซึ่งต้องการให้เราสร้างสูตร โปรด ส่งคำขอสูตร

สรุป

หากต้องการเริ่มต้นใช้งาน Nav3 โปรดดู เอกสาร และ สูตร นอกจากนี้ โปรดติดตามเนื้อหาทางเทคนิคตลอดทั้งสัปดาห์ ซึ่งรวมถึงเนื้อหาต่อไปนี้

  • วิดีโอเจาะลึกเกี่ยวกับ API ที่ครอบคลุมการแยกส่วน ภาพเคลื่อนไหว และเลย์เอาต์ที่ปรับเปลี่ยนได้
  • เซสชัน AMA ถามตอบทุกข้อสงสัยแบบสดกับวิศวกรที่สร้าง Nav3

สัปดาห์พิเศษของ Nav3 จะเริ่มขึ้นในวันที่ 1 ธ.ค. 2025


หากพบปัญหา โปรดรายงานปัญหาที่นี่

เขียนโดย:
อ่านต่อ