Người dịch: Dương Đình Tuấn

Đây là một ứng dụng làm vườn để trình bày các phương pháp hay nhất được phát triển bằng Android Jetback. 

(Bài viết này cũng có bằng tiếng Trung Quốc tại WeChat / 中文 参考 WeChat)

Google đã công bố Android Jetpack tại Google I/O 2018. Jetpack là một tập hợp các thành phần phần mềm Android để giúp cho bạn phát triển các ứng tuyệt vời một cách đơn giản hơn. Các thành phần này giúp bạn đi theo các phương pháp hay nhất, bạn sẽ thoải mới vì code đã được viết sẵn và đơn giản hóa các tác vụ phức tạp, do đó bạn có thể tập trung vào code mà bạn quan tâm.

Để giúp các lập trình viên tìm hiểu cách tổng hợp các thành phần Jetpack vào trong chính ứng dụng của mình, chúng tôi đã tạo ra Sunflower, đây là một ứng dụng làm vườn mô tả các phương pháp hay nhất về phát triển Android với Android Jectpack. Nếu bạn mới sử dụng Jetback, để tốt hơn bạn nên xem nội dung về Jetpack trên developer.android.comtạo ứng dụng Jetpack đơn giản đầu tiên của bạn trước khi tiếp tục.

Bài viết này về Sunflower là phần đầu trong chuyên đề. Nó sẽ đưa bạn vào một chuyến hành trình Sunflower và giải thích ngắn gọn về các thành phần Jetpack được bao hàm trong ứng dụng này. Các bài viết trong thời gian tới sẽ thảo luận về phát triển Jetpack và Android và tìm hiểu sâu hơn về các chủ đề cụ thể như Navigation và đặt  lịch trình cho các tác vụ có tính chu kỳ với WorkManager.

Làm nhanh một chuyến tham quan vườn

Khi ứng dụng được chạy lần đầu, ban đầu người dùng nhìn thấy màn hình ”My Garden” trống. 

Hãy thêm một cây trồng vào! Đến danh sách cây trồng bằng cách chạm vào menu hamburger và mở Navigate drawer lên.

Mỗi cây trồng được liên kết với Grow Zone, cái mà được xác định bởi vĩ độ và chỉ ra khu vực phù hợp nhất cho cây phát triển tốt. Bạn có thể lọc danh sách các cây trồng bằng cách nhấn vào cây trồng trong danh sách lọc để chọn ra một Grow Zone.

Nhấn vào chi tiết cây trồng, sẽ đưa đến màn hình Plant Detail.

Màn hình chi tiết  hiển thị tên, mô tả, nhu cầu tưới nước của cây và hình ảnh của cây. Người dùng có thể thêm cây vào khu vườn của họ từ màn hình này bằng cách nhấn vào nút Floating Action Button. Họ cũng có thể Share giống cây trồng này thông qua tùy chọn menu.

Sau khi một hoặc nhiều cây trồng được thêm vào, từng cây mới sẽ xuất hiện trong màn hình  “My Garden”, cùng với ngày được trồng và nhu cầu được tưới sắp tới. Hãy quay trở lại “My Garden” để xem lại màn hình lúc này, thì chúng ta đã thêm một hoặc hai loại cây vào rồi.

Màn hình “My Garden” lúc này hiển thị những cây được thêm vào, cùng với ngày chúng được trồng cũng như lần cuối được tưới là khi nào.

Sử dụng các thành phần Jetpack

Sunflower sử dụng nhiều thành phần Jetpack. Dưới đây là tổng quan ngắn gọn về vai trò của  mỗi thành phần:

  • Sunflower được viết hoàn toàn bằng Kotlin, sử dụng Android KTX. Android KTX là một tập hợp các tiện ích mở rộng dành cho Kotlin để tối ưu hóa các API nền tảng Jetpack và Android , nhờ đó có mã Kotlin ngắn gọn và độc đáo hơn.
  • Ứng dụng sử dụng một Activity với nhiều Fragment. Chuyển tiếp giữa các fragment sử dụng thành phần Navigation hiệu ứng chuyển tiếp.
  • Các màn hình sử dụng các fragment layout, được tạo bằng cách sử dụng ConstraintLayoutData Binding
  • Lưu trữ dữ liệu trên thiết bị về danh sách  và các mục nhập cây trồng được quản lý với Room ở cấp cơ sở dữ liệu và hiển thị với giao diện người dùng thông qua ViewModelsLiveData
  • AppCompat được sử dụng để duy trì chức năng chính của ứng dụng dành cho các phiên bản quá cũ của Android
  • Các tác vụ nền được xử lý bởi WorkManager
  • Các chi tiết về cây trồng có thể được chia sẻ với các ứng dụng khác trên thiết bị , hoặc được sao chép vào bộ nhớ tạm một cách đơn giản
  • Kiểm thử được thực hiện bởi các trình kiểm tra bằng bằng JUnitEspresso Android UI

Các cải tiến trong tương lai

Sunflower hiện đang đã phát hành bản alpha và đang không ngưng phát triển, với các tính năng mới và thường xuyên tích hợp các thành phần chuyên sâu hơn. Một số cải tiến sắp tới bao gồm việc lọc danh sách cây trông dựa trên vị trí của người dùng đối với AndroidX và thông báo khi một khu đất cần tưới tiêu.

Tạo tài khoản và bình chọn cho các giải pháp mà bạn muốn xem hoặc khám phá trên GitHub.

Trong các bài viết tới, chúng ta sẽ tìm hiểu cách sử dụng các thành phần Jetpack khác trong Sunflower như sự chuyển hướng qua lại và nhiệm vụ định kỳ, vì vậy hãy chú ý theo dõi. Cảm ơn vì đã đọc!

Hoa hướng dương trong một khu vườn Google

Tiếp tục tìm tòi 

Chân thành cảm ơn những cá nhân tuyệt vời trong nhóm Android Developer Relations và đội ngũ Jetpack vì những đóng góp của họ cho Sunflower và bài viết này.

TopDev via Medium