Mẫu nhiệm vụ đang diễn ra

Hướng dẫn này mô tả các thành phần bao gồm một tác vụ đang diễn ra dưới dạng Đồng hồ bấm giờ. Một nhiệm vụ đang diễn ra sẽ hiển thị một thẻ đang hoạt động trên dòng thời gian, miễn là người dùng tham gia một nhiệm vụ và cho phép họ đăng nhập và rời khỏi thẻ đang hoạt động đó 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 để xây dựng Glassware của riêng bạn.

Trước khi bắt đầu

Toàn bộ nguồn của Đồng hồ bấm giờ đã có trên GitHub. Nhập nó vào Android Studio trước khi bạn bắt đầu, vì hướng dẫn này đề cập đến nó rất nhiều.

  1. Trên màn hình Bắt đầu nhanh, hãy nhấp vào Check out from version Control > Git.
  2. Sao chép URL sao chép từ Đồng hồ bấm giờ.
  3. Dán URL sao chép vào URL kho lưu trữ Vcs rồi nhấp vào Nhân bản.
  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 dự án và chạy dự án trên Glass đã kết nối của bạn 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 tác vụ đang diễn ra trên Đồng hồ bấm giờ và sau đó là GDK để kết nối với trải nghiệm Glass. Sau đây là danh sách những chủ đề mà bạn sẽ tìm hiểu:

  • Xây dựng chế độ xem tuỳ chỉnh để vẽ lên 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 trình kích hoạt giọng nói để bắt đầu đồng hồ bấm giờ từ trình đơn giọng nói chính

Thiết kế

Trước khi bắt đầu phát triển, hãy dành chút thời gian và thiết kế Glassware của bạn. Cách này giúp bạn biết rõ luồng giao diện người dùng nào hoạt động hiệu quả nhất trên Glass, bạn sẽ dùng lệnh thoại nào và hình thức của thẻ.

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

Luồng giao diện người dùng

Thiết kế quy trình giao diện người dùng là một bài tập đơn giản và cho phép bạn trực quan hoá Glassware trước khi viết một dòng mã. Chúng tôi luôn làm điều đó cho Glassware 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ờ, để bạn biết đượ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 tạo Glassware của riêng bạn.

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

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

Khi người dùng gọi Glassware, họ 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 tế bắt đầu. Sau đó, đồng hồ bấm giờ sẽ đếm ngược cho đến khi người dùng xoá đồng hồ hẹn giờ khỏi dòng thời gian bằng mục trong trình đơn Stop (Dừng).

Lệnh thoại

Bạn nên tìm ra lệnh thoại khá sớm trong quá trình thiết kế. Các lệnh thoại cho phép người dùng khởi động Glassware từ trình đơn thoại Home Glass (Thẻ đồng hồ) (nếu cần) và là một phần quan trọng trong cách bạn thiết kế Glassware.

Ví dụ: lệnh Đăng nội dung cập nhật hoạt động tốt trong mô hình kích hoạt và quên, trong đó người dùng nói văn bản và Glassware xử lý văn bản đó mà không cần thêm sự can thiệp của người dùng. Điều này cho phép người dùng quay lại những việc họ đang làm nhanh chóng.

Mặt khác, với một cái gì đó 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ể định hướng trước. Do lệnh thoại này rất có thể sẽ khởi động một trò chơi nhúng, nên bạn có thể kỳ vọng người dùng sẽ hài lòng với việc xem thêm màn hình và trình đơn để bắt đầu trò chơi. Ngay lập tức ném 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 tốt đối với trò chơi.

Đồng hồ bấm giờ sử dụng lệnh thoại Bắt đầu bấm giờ. Sau khi người dùng gọi lệnh thoại, Đồng hồ bấm giờ sẽ bắt đầu ngay sau màn hình đếm ngược ngắn, xen kẽ, tốt 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 thường muốn tập trung vào việc đưa người dùng đến trải nghiệm nhanh nhất có thể.

Bố cục thẻ

Cho dù đang nhúng video hay thẻ trực tiếp, bạn cũng nên sử dụng CardBuilder hoặc bố cục XML khi có thể.

Thông thường, bạn vẫn cần xây dựng bố cục của riêng mình, vì vậy, hãy tuân theo nguyên tắc về giao diện người dùng của chúng tôi để có Glassware đẹ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ư chế độ xem và bố cục.

Phát triển

Để phát triển thẻ trực tiếp, bạn sử dụng các công cụ tương tự mà bạn dùng để phát triển Android nhằm xây dựng phần lớn Glassware, sau đó sử dụng các API trong tiện ích bổ sung GDK để truy cập 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 thường xuyên sử dụng các thành phần Android phổ biến để tạo Glassware, nhưng xin lưu ý rằng một số khái niệm đôi khi sẽ khác nhau. Ví dụ: bạn kết xuất và quản lý thẻ trực tiếp bằng một dịch vụ Android, đây không phải là cách thông thường để bạn sử dụng các 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 sở hữu 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 sau trong hướng dẫn này.

Phần còn lại của mục Phát triển sẽ trình bày cách cấu trúc Đồ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 đó. Sẽ rất hữu ích nếu bạn có Android Studio ngay để có thể theo dõi. Mã nguồn chính sẽ được nhận xét, vì vậy, phần này trình bày 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 riêng mình.

Lệnh thoại

Bạn tạo các 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 và sau đó bằng cách chỉ định tài nguyên XML trong tệp AndroidManifest.xml.

Các tệp sau đây được liên kết với lệnh thoại Đồ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 lệnh thoại được đọc.

Đế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 nhận thấy 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 chế độ xem cho bộ đếm ngược.

Chế độ xem Chronometer

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

  • res/layout/card_chronometer.xml – Xác định bố cục cho thành phần hiển thị đồng hồ bấm giờ
  • src/com/google/android/glass/sample/stopwatch/ChronometerDrawer.java – Xác định cách hiển thị thành phần hiển thị. Dịch vụ thẻ trực tiếp gọi lớp này để vẽ dịch vụ thẻ trực tiếp.
  • src/com/google/android/glass/sample/stopwatch/ChronometerView.java – Chế độ xem đồ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 kết xuất 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ý đồng hồ bấm giờ trực tiếp 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ì chúng hiển thị giao diện người dùng trong ngữ cảnh của tiến trình.

Để khắc phục hạn chế này, bạn tạo một hoạt động trong suốt xuất hiện trên đầu dòng thời gian, sau đó 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 trong suốt để hiển thị trình đơn ngay 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 trình đơn 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 Glassware để hệ thống biết cách chạy ứng dụng này. Tệp kê khai cho Charades khai báo những thứ sau:

  • Biểu tượng và tên của Glassware. Glass 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ờ. Điều này là bắt buộc để hệ thống biết cách khởi động các thành phần của Glassware.
  • Lệnh thoại và bộ lọc ý định bắt đầu dịch vụ thẻ trực tiếp khi lệnh thoại được đọc.
  • Mã phiên bản cho Glassware. Mã này phải được cập nhật (và thường là 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.