Android · Hướng dẫn thực tiễn

Ngoại tuyến là
một quyết định sản phẩm.

Nghĩ về tính liên tục, quyền sở hữu và khôi phục trước khi xây dựng màn hình đầu tiên.

Mất kết nối không phải lúc nào cũng nên đồng nghĩa với mất công việc. Hoạt động ngoại tuyến có thể giúp hoàn thành nhiệm vụ trong mạng không ổn định hoặc giữ bản ghi trên thiết bị riêng khi phù hợp với mục đích sản phẩm.

Bắt đầu từ nhiệm vụ phải tiếp tục

“Hoạt động ngoại tuyến” quá rộng để trở thành yêu cầu hữu ích. Xác định hành động cụ thể phải còn dùng được: bắt đầu bản ghi, sửa ghi chú, xem lịch đã lưu hoặc xuất thông tin. Quyết định điều gì có thể chờ kết nối trở lại.

Giao diện nên làm rõ các ranh giới đó. Người dùng cần biết hành động đã được lưu cục bộ, gửi sang hệ thống khác hay vẫn cần chú ý. Tránh để họ đoán từ biểu tượng đang tải.

Quyết định dữ liệu thuộc về đâu

Lưu trữ cục bộ thay đổi câu hỏi về quyền sở hữu và khôi phục. Có bản sao lưu không? Điều gì xảy ra khi mất hoặc thay thiết bị? Người dùng có thể xuất dữ liệu ở định dạng dùng nơi khác được không? Bản sao nào còn lại sau khi gỡ ứng dụng?

Các quyết định này cần khớp với hành vi thực tế và thông báo quyền riêng tư của sản phẩm. “Ngoại tuyến” không tự động có nghĩa mọi tính năng đều không dùng mạng. Bản đồ ngoài, mã hóa địa lý, tin nhắn hỗ trợ hoặc xuất dữ liệu do người dùng chọn có thể tạo luồng dữ liệu riêng.

Lập kế hoạch sau xung đột

Nếu bản ghi sau đó đồng bộ với máy chủ, hai thiết bị có thể đã sửa cùng thông tin. Sản phẩm cần quy tắc quyết định phiên bản được chấp nhận và cách rõ ràng để khôi phục sau kết quả ngoài dự kiến.

Bản ghi trùng, độ trễ và truyền dữ liệu gián đoạn cũng cần chú ý. Chạm lại không nên âm thầm tạo hành động tài chính hoặc vận hành lặp lại. Giải pháp cụ thể phụ thuộc mô hình dữ liệu sản phẩm và các hệ thống liên quan.

Giải thích lựa chọn quyền

Tính năng vị trí nên phục vụ hành động cụ thể và hoạt động dự đoán được khi bị từ chối quyền. Thông báo nên giúp hiểu hoạt động đang diễn ra. Người dùng cần hiểu lựa chọn thay đổi điều gì mà không phải biết cơ chế bên trong Android.

Đưa hành trình bị từ chối quyền vào thiết kế. Nếu vẫn có thể thao tác thủ công, hãy giúp dễ tìm cách đó. Nếu tính năng không thể hoạt động, giải thích giới hạn đúng lúc.

Kiểm chứng chuyển trạng thái

Không chỉ kiểm tra khởi chạy khi tắt mạng. Xem xét nhiệm vụ khi kết nối mất giữa hành động, trở lại sau thời gian chờ hoặc thay đổi lúc ứng dụng không còn hiển thị. Tính đến khởi động lại ứng dụng, xuất dữ liệu gián đoạn và người dùng sửa bản ghi trước đó.

Kiểm tra nên bám theo hành trình cốt lõi và rủi ro. Biên dịch thành công là bằng chứng hữu ích về quá trình biên dịch; hành vi trên thiết bị cần bằng chứng riêng.

Khám phá phát triển Android ↗

Hãy mang đến vấn đề.
Cùng định hình điều tiếp theo.

Trao đổi về dự án của bạn