Tin tức và phân tích của tất cả các thiết bị di động

Google phát hành mã nguồn cho Google I / O 2018 dành cho Android

Google vừa phát hành mã nguồn cho ứng dụng Google I / O 2018 chính thức dành cho Android.

Phiên bản 2018 tạo thành một bản viết lại toàn bộ của ứng dụng. Trong nhiều năm, ứng dụng đã sử dụng kiến ​​trúc ContentProvider + SyncAdapter. Năm nay, Google đã viết lại ứng dụng bằng Thành phần kiến ​​trúc và đưa mã đồng bộ với các đề xuất hiện tại của nhóm Android để xây dựng các ứng dụng hiện đại.

Ngành kiến ​​trúc

Google đã tuân theo các đề xuất được đưa ra trong Hướng dẫn về Kiến trúc ứng dụng để viết mã mô-đun, có thể kiểm tra và có thể bảo trì khi quyết định về kiến ​​trúc cho ứng dụng. Họ giữ logic khỏi Hoạt động và Phân đoạn và chuyển nó sang ViewModels. Google cũng quan sát dữ liệu bằng LiveData và sử dụng Thư viện liên kết dữ liệu để liên kết các thành phần giao diện người dùng trong bố cục với nguồn dữ liệu của ứng dụng.

Google đã sử dụng lớp Kho lưu trữ để xử lý các hoạt động dữ liệu. Dữ liệu của iOSched đến từ một số nguồn khác nhau – dữ liệu người dùng được lưu trữ trong Cloud Firestore (từ xa hoặc trong bộ nhớ cache cục bộ để sử dụng ngoại tuyến), tùy chọn và cài đặt của người dùng được lưu trữ trong SharedPreferences, dữ liệu hội nghị được lưu trữ từ xa và được tìm nạp và lưu trữ trong bộ nhớ để ứng dụng sử dụng – và các mô-đun kho lưu trữ chịu trách nhiệm xử lý tất cả các hoạt động dữ liệu và trừu tượng hóa các nguồn dữ liệu khỏi phần còn lại của ứng dụng. Nếu Google từng muốn hoán đổi phần phụ trợ Firestore cho một nguồn dữ liệu khác trong tương lai, thì kiến ​​trúc của họ cho phép chúng tôi làm điều đó một cách rõ ràng.

Google đã triển khai một lớp miền nhẹ, nằm giữa lớp dữ liệu và lớp trình bày, đồng thời xử lý các phần logic nghiệp vụ rời rạc ngoài chuỗi giao diện người dùng.

Google cũng sử dụng Dagger2 để tiêm phụ thuộc và chúng tôi chủ yếu dựa vào dagger-android để trừu tượng hóa mã soạn sẵn.

Google đã sử dụng Espresso cho các bài kiểm tra thiết bị đo đạc cơ bản và JUnit và Mockito để kiểm tra đơn vị.

Firebase

Việc sử dụng các công nghệ Firebase đã phát triển trong ứng dụng khi nền tảng Firebase đã trưởng thành. Phiên bản 2018 sử dụng các thành phần Firebase sau:

Cloud Firestore là nguồn của Google cho tất cả dữ liệu người dùng (các sự kiện do người dùng gắn dấu sao hoặc đặt trước). Firestore đã cung cấp cho Google tính năng đồng bộ hóa tự động và cũng quản lý liền mạch chức năng ngoại tuyến cho họ.

Các chức năng đám mây của Firebase cho phép Google chạy mã phụ trợ. Tính năng đặt chỗ phụ thuộc nhiều vào Chức năng kiểm tra trạng thái của người dùng (chỉ những người tham dự mới được phép đặt chỗ), kiểm tra chỗ trống và tình trạng đặt chỗ liên tục trong Firestore.

Nhắn tin qua đám mây Firebase cho phép Google thông báo cho ứng dụng về những thay đổi đối với dữ liệu hội nghị trên máy chủ của họ. Dữ liệu hội nghị chủ yếu là tĩnh, nhưng nó thay đổi theo thời gian, đặc biệt là sau bài phát biểu chính. Ứng dụng này theo truyền thống sử dụng mô hình ping-and-fetch khi làm việc với dữ liệu hội nghị và Google vẫn giữ cách sử dụng đó trong năm nay.

Cấu hình từ xa đã giúp Google quản lý các hằng số trong ứng dụng. Trong những năm trước, Google đã nhận thấy mình không thể thông báo cho người dùng khi dữ liệu không liên quan trực tiếp đến lịch trình hội nghị – thông tin WiFi, lịch trình đưa đón hội nghị, v.v. – thay đổi bất ngờ. Cấu hình từ xa đã giúp Google cập nhật các giá trị như vậy một cách nhẹ nhàng.

Kotlin

Google đã sớm đưa ra quyết định viết lại ứng dụng từ đầu để phù hợp với kiến ​​trúc Android hiện đại. Sử dụng Kotlin để viết lại là một lựa chọn dễ dàng: Google cho biết họ yêu thích cú pháp diễn đạt, ngắn gọn và mạnh mẽ của Kotlin; và nhận thấy rằng sự hỗ trợ của Kotlin đối với các tính năng an toàn bao gồm tính năng vô hiệu và tính bất biến đã làm cho mã của họ trở nên linh hoạt hơn; và cũng tận dụng chức năng nâng cao được cung cấp bởi các tiện ích mở rộng Android Ktx.

Vật liệu thiết kế

Tại I / O 2018, nhóm Material Design đã công bố Material Theming, mang đến cho các ứng dụng khả năng tùy chỉnh Material Design tốt hơn nhiều để mang lại nhiều thương hiệu cho sản phẩm của họ hơn. Khi Google ra mắt ứng dụng trước Material Theming, họ không thể sử dụng tất cả các thành phần mới nhưng đã cố gắng xâm nhập một vài thành phần như Thanh ứng dụng dưới cùng mới với nút Hành động nổi và có thể kết hợp nhiều yếu tố thương hiệu của hội nghị .

Các kế hoạch trong tương lai

Việc viết lại ứng dụng mang lại mã đồng bộ với các đề xuất đã được khẳng định của Android về việc xây dựng ứng dụng và nó dẫn đến một cơ sở mã sạch hơn, dễ bảo trì hơn. Google sẽ tiếp tục làm việc trên ứng dụng, kết hợp các thành phần JetPack khi chúng có sẵn và tìm cơ hội để giới thiệu các tính năng nền tảng phù hợp với ứng dụng. Các nhà phát triển có thể thực hiện theo các thay đổi đối với mã trên GitHub.

. .

. .