Tin tức về sản phẩm

Jetpack Navigation 3 đã ổn định

Đọc trong 3 phút
Xem hồ sơ của Don Turner
Don Turner Kỹ sư quan hệ nhà phát triển

Jetpack Navigation 3 phiên bản 1.0 đã ổn định 🎉. Hãy bắt đầu sử dụng phiên bản này trong các ứng dụng chính thức của bạn ngay hôm nay. JetBrains đã sử dụng thư viện này trong ứng dụng KotlinConf của họ.

Navigation 3 là một thư viện điều hướng mới được xây dựng từ đầu để hỗ trợ trạng thái của Jetpack Compose. Thành phần này giúp bạn có toàn quyền kiểm soát ngăn xếp lui, giữ lại trạng thái điều hướng và dễ dàng tạo bố cục thích ứng (chẳng hạn như danh sách-chi tiết). Thậm chí còn có một phiên bản nhiều nền tảng của JetBrains.

Tại sao cần có thư viện mới?

Thư viện Jetpack Navigation ban đầu (nay là Nav2) được thiết kế cách đây 7 năm. Mặc dù thư viện này đáp ứng tốt các mục tiêu ban đầu và đã được cải tiến nhiều lần, nhưng cách xây dựng ứng dụng hiện nay đã thay đổi về cơ bản. 

Lập trình phản ứng với giao diện người dùng khai báo hiện là tiêu chuẩn. Nav3 áp dụng phương pháp này. Ví dụ: NavDisplay (thành phần giao diện người dùng Nav3 hiển thị màn hình của bạn) chỉ cần quan sát danh sách khoá (mỗi khoá đại diện cho một màn hình) được trạng thái Compose hỗ trợ và cập nhật giao diện người dùng khi danh sách đó thay đổi.

nav-display.png

Nav2 cũng có thể gây khó khăn cho việc có một nguồn đáng tin cậy duy nhất cho trạng thái điều hướng vì nó có trạng thái nội bộ riêng. Với Nav3, bạn cung cấp trạng thái của riêng mình, giúp bạn có toàn quyền kiểm soát.

Cuối cùng, bạn muốn có thêm tính linh hoạt và khả năng tuỳ chỉnh. Thay vì có một API nguyên khối duy nhất, Nav3 cung cấp các API nhỏ hơn, tách rời (hoặc "khối dựng") có thể kết hợp với nhau để tạo ra chức năng phức tạp. Bản thân Nav3 sử dụng các thành phần này để cung cấp các giá trị mặc định hợp lý cho các trường hợp sử dụng điều hướng được xác định rõ ràng. 

Cách này cho phép bạn: 

Đọc thêm về thiết kế và các tính năng của Gemini 1.5 Pro trong bài đăng thông báo ra mắt trên blog. 

Di chuyển từ Navigation 2

Nếu đang sử dụng Nav2, cụ thể là Navigation Compose, bạn nên cân nhắc chuyển sang Nav3. Để hỗ trợ bạn thực hiện việc này, chúng tôi có một hướng dẫn di chuyển. Sau đây là các bước chính: 

  1. Thêm phần phụ thuộc Navigation 3.
  2. Cập nhật các tuyến điều hướng để triển khai NavKey. Các tuyến của bạn không cần triển khai giao diện này để sử dụng Nav3, nhưng nếu có, bạn có thể tận dụng hàm rememberNavBackStack của Nav3 để tạo ngăn xếp lui ổn định.
  3. Tạo các lớp để lưu giữ và sửa đổi trạng thái điều hướng – đây là nơi lưu giữ ngăn xếp lui.
  4. Thay thế NavController bằng các lớp này.
  5. Di chuyển các đích đến từ NavGraph của NavHost vào một entryProvider.
  6. Thay thế NavHost bằng NavDisplay.

Thử nghiệm di chuyển tác nhân AI

Bạn có thể thử nghiệm sử dụng một tác nhân AI để đọc hướng dẫn di chuyển và thực hiện các bước trong dự án của mình. Cách thử tính năng này bằng Chế độ tác nhân của Gemini trong Android Studio:

  • Lưu phiên bản markdown này của hướng dẫn vào dự án của bạn.
  • Dán câu lệnh này vào tác nhân (nhưng đừng nhấn phím Enter): "Di chuyển dự án này sang Navigation 3 bằng ".
  • Nhập @migration-guide.md – thao tác này sẽ cung cấp hướng dẫn làm bối cảnh cho tác nhân. 

Như thường lệ, hãy nhớ xem xét kỹ những thay đổi do tác nhân AI thực hiện vì tác nhân này có thể mắc lỗi! 

Chúng tôi rất mong nhận được ý kiến phản hồi của bạn về hiệu suất của bạn hoặc nhân viên hỗ trợ của bạn. Vui lòng gửi ý kiến phản hồi tại đây.

Công thức điều hướng hấp dẫn cho các tình huống phổ biến

Đối với các trường hợp sử dụng phổ biến nhưng có nhiều sắc thái, chúng tôi có kho lưu trữ công thức. Ví dụ này cho thấy cách kết hợp các API Nav3 theo một cách cụ thể, cho phép bạn chọn hoặc sửa đổi công thức theo nhu cầu cụ thể của mình. Nếu một công thức trở nên phổ biến, chúng tôi sẽ cân nhắc việc "chuyển" các phần không có sắc thái của công thức đó vào thư viện Nav3 chính hoặc thư viện tiện ích bổ sung. 

code-recipes.png

Hiện có 19 công thức, bao gồm: 

Chúng tôi hiện đang xây dựng một công thức cho đường liên kết sâu, cùng với tích hợp Koin và có nhiều kế hoạch khác. Một kỹ sư của JetBrains cũng đã xuất bản phiên bản Compose Multiplatform của các công thức nấu ăn.

Nếu bạn có một trường hợp sử dụng phổ biến mà bạn muốn xem công thức, vui lòng gửi yêu cầu về công thức. 

Tóm tắt

Để bắt đầu sử dụng Nav3, hãy xem tài liệu và các công thức. Ngoài ra, hãy chú ý theo dõi nội dung kỹ thuật trong suốt một tuần, bao gồm: 

  • Video tìm hiểu sâu về API, bao gồm mô-đun hoá, ảnh động và bố cục thích ứng.
  • Buổi Hỏi đáp (AMA) trực tiếp với các kỹ sư đã xây dựng Nav3.

Tuần lễ nổi bật của Nav3 bắt đầu từ ngày 1 tháng 12 năm 2025. 


Như thường lệ, nếu bạn phát hiện thấy vấn đề, vui lòng báo cáo tại đây. 

Tác giả:
Tiếp tục đọc