Mẫu việc cần làm đang diễn ra

Hướng dẫn này mô tả các thành phần tạo nên một tác vụ đang diễn ra dưới dạng Đồng hồ bấm giờ. Tác vụ đang diễn ra sẽ hiển thị một thẻ trực tiếp trong tiến trình miễn là người dùng còn thực hiện một tác vụ, đồng thời cho phép họ thoát vào và rời khỏi thẻ trực tiếp khi cần thông tin.

Đồng thời, bạn cũng sẽ tìm hiểu các mẹo thiết kế, phát triển và phân phối quan trọng để tự chế tạo Đồ thuỷ tinh của riêng mình.

Trước khi bắt đầu

Bạn có thể xem toàn bộ nguồn của Báo cáo bấm giờ trên GitHub. Hãy nhập tệp này vào Android Studio trước khi bạn bắt đầu vì hướng dẫn này đề cập đến rất nhiều.

  1. Từ màn hình Bắt đầu nhanh, hãy nhấp vào Check out from version Control > Git (Kiểm tra từ phiên bản Quản lý > Git).
  2. Sao chép URL bản sao từ Stopwatch (Đồng hồ bấm giờ).
  3. Dán URL bản sao vào URL kho lưu trữ Vcs rồi nhấp vào Sao chép.
  4. Nhấp vào Yes (Có) trên màn hình tiếp theo.
  5. Nhấp vào OK trên màn hình tiếp theo.
  6. Tạo bản dựng và chạy dự án trên Glass đã kết nối bằng cách nhấp vào nút Play (Phát). Hãy nhớ kiểm tra README của mẫu để biết thông tin chi tiết về lệnh gọi.

Kiến thức bạn sẽ học được

Bạn sẽ tìm hiểu cách sử dụng các thành phần từ SDK Android để tạo hàng loạt nhiệm vụ đang diễn ra cho tính năng Đồng hồ bấm giờ đang diễn ra, sau đó là GDK để kết nối với trải nghiệm Glass. Dưới đây là danh sách các chủ đề mà bạn sẽ tìm hiểu:

  • Xây dựng khung hiển thị tuỳ chỉnh để vẽ vào thẻ trực tiếp
  • Tạo một dịch vụ để quản lý thẻ trực tiếp
  • Cung cấp một trình đơn cho phép người dùng xoá thẻ trực tiếp khỏi dòng thời gian
  • Khai báo điều kiện kích hoạt giọng nói để bắt đầu đồng hồ bấm giờ trong trình đơn giọng nói chính

Thiết kế

Trước khi bạn bắt đầu phát triển, hãy dành thời gian và thiết kế Đồ thuỷ tinh của bạn. Nhờ vậy, bạn sẽ nắm được luồng giao diện người dùng nào hoạt động tốt nhất trên Glass, bạn sẽ sử dụng lệnh thoại nào và giao diện thẻ của mình.

Tất nhiên, thiết kế Đồ thuỷ tinh là một quy trình lặp lại và một số thứ mà bạn thiết kế bây giờ sẽ thay đổi, nhưng việc thực hiện một phần công việc này ngay từ đầu là điều rất quan trọng để tạo ra một trải nghiệm tuyệt vời.

Quy trình giao diện người dùng

Thiết kế luồng giao diện người dùng là một bài tập đơn giản và cho phép bạn hình dung phần mềm Glassware của mình trước khi viết một dòng mã. Chúng tôi luôn làm việc này cho Đồ thuỷ tinh mà chúng tôi tạo ra!

Hãy cùng tìm hiểu các thành phần chính trên giao diện người dùng của Đồng hồ bấm giờ để nắm được cách hoạt động của giao diện người dùng và mức độ hữu ích của quy trình này khi bạn tự tạo Đồ thuỷ tinh.

Giao diện người dùng chính

Đồng hồ bấm giờ chỉ chứa một luồng chính, vì đó là một trải nghiệm khá đơn giản.

Khi gọi Phần mềm thuỷ tinh, người dùng sẽ thấy một quảng cáo xen kẽ đếm ngược 3 giây trước khi đồng hồ bấm giờ thực sự bắt đầu. Sau đó, đồng hồ bấm giờ sẽ đếm ngược cho đến khi người dùng xoá nó khỏi dòng thời gian bằng một mục trong trình đơn Stop (Dừng).

Lệnh thoại

Bạn nên tìm ra lệnh thoại từ sớm trong quá trình thiết kế. Lệnh thoại cho phép người dùng khởi động Glassware từ trình đơn bằng giọng nói của Glass Home (thẻ đồng hồ) nếu cần. Đây cũng là một phần quan trọng trong cách bạn thiết kế Glassware.

Ví dụ: lệnh Post an update (Đăng bản cập nhật) hoạt động hiệu quả trong mô hình bắn và quên, trong đó người dùng nói văn bản còn Glassware sẽ xử lý mà không cần người dùng can thiệp thêm. Điều này giúp người dùng nhanh chóng quay lại công việc họ đang làm.

Mặt khác, đối với những hoạt động như Chơi trò chơi, bạn thường muốn đưa người dùng đến màn hình chờ để họ có thể được định hướng trước. Vì lệnh thoại này rất có thể sẽ khởi động chế độ đắm chìm, nên bạn có thể cho rằng người dùng sẽ yên tâm khi nhìn thấy thêm các màn hình và trình đơn để bắt đầu trò chơi. Việc đưa ngay người dùng vào trải nghiệm chơi trò chơi ngay sau lệnh thoại thường là một trải nghiệm không hay đối với trò chơi.

Đồng hồ bấm giờ sử dụng lệnh thoại Bắt đầu đồng hồ bấm giờ. Sau khi người dùng gọi lệnh thoại, Đồng hồ bấm giờ sẽ chạy ngay sau một màn hình đếm ngược ngắn có quảng cáo xen kẽ. Điều này hiệu quả hơn so với việc cung cấp một mục trong trình đơn để bắt đầu. Đối với các tác vụ đang diễn ra, bạn nên tập trung vào việc giúp người dùng trải nghiệm nhanh nhất có thể, khi phù hợp.

Bố cục thẻ

Cho dù đang tạo chế độ nhập trực tiếp hay thẻ trực tiếp, bạn nên sử dụng CardBuilder hoặc bố cục XML nếu có thể.

Thông thường, bạn vẫn cần tạo bố cục của riêng mình, vì vậy, hãy làm theo nguyên tắc về giao diện người dùng của chúng tôi để có Đồ thuỷ tinh trông đẹp nhất.

Đồng hồ bấm giờ tuân theo các nguyên tắc chung về bố cục, nhưng có bố cục giao diện người dùng tuỳ chỉnh sử dụng các thành phần Android tiêu chuẩn như khung hiển thị và bố cục.

Phát triển

Để phát triển thẻ trực tiếp, bạn sử dụng chính các công cụ mà bạn từng dùng để phát triển Android để tạo phần lớn Đồ dùng thuỷ tinh, sau đó sử dụng các API trong tiện ích bổ sung GDK để truy cập vào chức năng dành riêng cho Glass, chẳng hạn như thẻ trực tiếp và lệnh thoại.

Bạn sẽ thường xuyên sử dụng các thành phần Android phổ biến để tạo Đồ thuỷ tinh, nhưng hãy lưu ý rằng một số khái niệm đôi khi sẽ khác. Ví dụ: bạn kết xuất và quản lý các thẻ trực tiếp bằng dịch vụ Android. Đây không phải là cách bạn thường dùng dịch vụ trong các ứng dụng Android truyền thống. Một ví dụ khác là thẻ trực tiếp không có ngữ cảnh giao diện người dùng riêng, vì vậy, bạn phải sử dụng hoạt động shell hiển thị trình đơn cho thẻ trực tiếp. Bạn sẽ tìm hiểu cách xây dựng các thành phần này ở phần sau của hướng dẫn này.

Phần còn lại của phần Phát triển sẽ trình bày cấu trúc của Đồng hồ bấm giờ và các thành phần chính của dự án mà bạn đã nhập trước đó. Bạn nên thiết lập Android Studio ngay để có thể theo dõi. Bản thân mã nguồn sẽ được nhận xét, vì vậy, phần này sẽ nói về mục đích cấp cao của từng tệp và các mẹo hữu ích mà bạn có thể áp dụng cho Glassware của mình.

Lệnh thoại

Bạn tạo lệnh thoại bằng một tệp tài nguyên XML chỉ định lệnh bạn đang sử dụng, sau đó chỉ định tài nguyên XML trong tệp AndroidManifest.xml.

Các tệp sau được liên kết với lệnh thoại cho Đồng hồ bấm giờ:

  • res/xml/voice_trigger_start.xml – Khai báo lệnh thoại để sử dụng.
  • AndroidManifest.xml – Khai báo dịch vụ thẻ trực tiếp bắt đầu khi đọc lệnh thoại.

Chế độ xem đếm ngược

Đồng hồ bấm giờ hiển thị đồng hồ đếm ngược trước khi thời gian thực sự được ghi lại để người dùng biết rằng thời gian sắp trôi qua.

Các tệp sau được liên kết với chế độ xem đếm ngược:

  • res/layout/card_countdown.xml – Xác định bố cục cho trình xem đếm ngược
  • src/com/google/android/glass/sample/stopwatch/CountDownView.java – Xác định khung hiển thị cho bộ đếm ngược.

Chế độ xem Chronometer

Đây là chế độ xem chính của Đồng hồ bấm giờ. Cột này cho biết thời gian đã trôi qua kể từ khi quảng cáo xen kẽ đếm ngược kết thúc. Các tệp sau được liên kết với chế độ xem đồng hồ đếm thời gian:

  • res/layout/card_chronometer.xml – Xác định bố cục cho khung hiển thị đồng hồ bấm giờ
  • src/com/google/android/glass/sample/stopwatch/ChronometerDrawer.java – Xác định cách kết xuất khung hiển thị. Dịch vụ thẻ trực tiếp gọi lớp này để vẽ vào dịch vụ thẻ trực tiếp.
  • src/com/google/android/glass/sample/stopwatch/ChronometerView.java – Khung hiển thị đồng hồ bấm giờ sử dụng bố cục trước đó làm giao diện người dùng.

Dịch vụ đồng hồ bấm giờ

Đây là dịch vụ quản lý vòng đời và quá trình hiển thị của thẻ trực tiếp. Các tệp sau được liên kết với dịch vụ này:

  • src/com/google/android/glass/sample/stopwatch/StopwatchService.java – Quản lý thẻ trực tiếp của đồng hồ bấm giờ và xử lý vòng đời dịch vụ.

Thẻ trực tiếp không có ngữ cảnh giao diện người dùng riêng để hiển thị trình đơn vì các thẻ này hiển thị giao diện người dùng theo ngữ cảnh tiến trình.

Để khắc phục hạn chế này, bạn cần tạo một hoạt động rõ ở đầu dòng thời gian rồi hiển thị trình đơn của hoạt động đó ngay sau khi người dùng nhấn vào thẻ trực tiếp.

  • src/com/google/android/glass/sample/stopwatch/MenuActivity.java – Khai báo hoạt động của trình đơn rõ sẽ hiển thị trình đơn ngay lập tức khi hoạt động hiển thị.
  • res/values/styles.xml – Xác định kiểu trong suốt được áp dụng cho trình đơn.
  • res/menu/stopwatch.xml – Tài nguyên trình đơn chứa mục trong trình đơn Stop (Dừng) bắt buộc.

Tệp kê khai Android

Tệp AndroidManifest.xml mô tả các thành phần chính của Phần mềm thuỷ tinh để hệ thống biết cách chạy phần mềm đó. Tệp kê khai cho Charades khai báo những nội dung sau:

  • Biểu tượng và tên của Glassware. Glass sẽ hiển thị thông tin này trên trình đơn cảm ứng chính nếu có nhiều Glassware phản hồi cùng một lệnh thoại.
  • Tất cả dịch vụ và hoạt động liên quan đến Đồng hồ bấm giờ. Đây là yêu cầu bắt buộc để hệ thống biết cách khởi động các thành phần của Thuỷ tinh.
  • Lệnh thoại và bộ lọc ý định sẽ khởi động dịch vụ thẻ trực tiếp khi lệnh thoại được nói.
  • Mã phiên bản cho Glassware. Mã này phải được cập nhật (và thường là cả tên phiên bản) mỗi khi một phiên bản mới của APK này được tải lên MyGlass.