ทักษะ Jetpack Navigation 3

คำแนะนำในการย้ายข้อมูล

  • คู่มือการย้ายข้อมูลจาก Navigation 2 ไปยัง Navigation 3: คำแนะนำแบบทีละขั้นตอนในการ ย้ายข้อมูลแอปพลิเคชัน Android จาก Navigation 2 ไปยัง Navigation 3 ซึ่งครอบคลุม การอัปเดตการอ้างอิง การเปลี่ยนแปลงเส้นทาง การจัดการสถานะ และการแทนที่ คอมโพเนนต์ UI

ข้อกำหนด

เอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์

  • *การนำทาง 3 ค้นหาเอกสารประกอบเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับพื้นฐาน การบันทึกและการจัดการสถานะการนำทาง การแยกโค้ดการนำทางออกเป็นโมดูล การสร้าง เลย์เอาต์ที่กำหนดเองโดยใช้ Scene การเคลื่อนไหวระหว่างปลายทาง หรือการใช้ ตรรกะหรือ Wrapper กับปลายทาง

สูตร

ตัวอย่างโค้ดที่แสดงรูปแบบที่พบบ่อย

การใช้งาน API ขั้นพื้นฐาน

UI ทั่วไป

  • UI ทั่วไป: แสดงวิธีใช้รูปแบบ UI การนำทางทั่วไป ด้วยแถบนำทางด้านล่างและหลายๆ Back Stack โดยที่แต่ละ แท็บในแถบนำทางจะมีประวัติการนำทางของตัวเอง
  • พื้นฐาน: แสดงวิธีแยกวิเคราะห์ URL ของ Deep Link จาก Intent ของ Android เป็นคีย์การนำทาง
  • ขั้นสูง: แสดงวิธีจัดการ Deep Link ด้วย Back Stack สังเคราะห์และลักษณะการทำงานของการนำทาง "ขึ้น" ที่ถูกต้อง

ฉาก

ใช้ฉากในตัว

สร้างฉากที่กำหนดเอง

  • BottomSheet: แสดงวิธีสร้างปลายทาง BottomSheet
  • ฉากรายการ-รายละเอียด: แสดงวิธีใช้เลย์เอาต์รายการ-รายละเอียดแบบปรับเปลี่ยนได้โดยใช้ Navigation 3 Scenes API
  • Scene แบบ 2 บานหน้าต่าง: แสดงวิธีใช้เลย์เอาต์แบบ 2 บานหน้าต่างที่ปรับเปลี่ยนตามพื้นที่ว่าง โดยใช้ Navigation 3 Scenes API

ปรับตามวัสดุ

ภาพเคลื่อนไหว

  • ภาพเคลื่อนไหว: แสดงวิธีลบล้างภาพเคลื่อนไหวเริ่มต้นสำหรับปลายทางทั้งหมดและปลายทางเดียว

ลักษณะการทำงานทั่วไปของ Back Stack

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

การนำทางแบบมีเงื่อนไข

  • การนำทางแบบมีเงื่อนไข: เปลี่ยนไปใช้โฟลว์การนำทางอื่นเมื่อตรงตามเงื่อนไข เช่น สำหรับการตรวจสอบสิทธิ์หรือการเริ่มต้นใช้งานครั้งแรกของผู้ใช้

สถาปัตยกรรม

การทำงานกับ ViewModel

การส่งอาร์กิวเมนต์การนำทาง

  • ViewModel พื้นฐาน: ระบบจะส่งอาร์กิวเมนต์การนำทางไปยัง ViewModel ที่สร้างขึ้นโดยใช้ viewModel()

การแสดงผลลัพธ์