Tôi muốn xây dựng một REST Client trên điện thoại Android.
Máy chủ REST tiết lộ một số tài nguyên, ví dụ: (GET)
http://foo.bar/customer List of all customer
http://foo.bar/customer/4711 The customer with id 4711
http://foo.bar/customer/vip List of all VIP customer
http://foo.bar/company List of all companys
http://foo.bar/company/4711 The company with the ID 4711
http://foo.bar/company/vip List of all VIP companys
Tôi (nghĩ) Tôi biết cách nói chuyện với máy chủ REST và nhận thông tin tôi cần. Tôi sẽ triển khai một lớp REST Client với một API như thế này
public List<Customer> getCustomers();
public Customer getCustomer(final String id);
public List<Customer> getVipCustomer();
public List<Company> getCompanies();
public Customer getCompany(final String id);
public List<Customer> getVipCompanies();
Tham khảo bài thuyết trình " Phát triển ứng dụng máy khách Android REST " từ Virgil Dobjanschi, tôi biết rằng không nên xử lý yêu cầu REST trong Chuỗi hoạt động của người lao động. Thay vào đó, tôi nên sử dụng API dịch vụ .
Tôi thích ý tưởng có một ServiceHelper Singleton liên kết với một Dịch vụ (Cục bộ) nhưng tôi sợ rằng tôi không hiểu đúng khái niệm Dịch vụ.
Hiện tại, tôi không hiểu cách báo cáo kết quả cuộc gọi REST (được thực hiện không đồng bộ trong một Dịch vụ) trở lại Hoạt động của người gọi. Tôi cũng tự hỏi liệu tôi có cần MỘT Dịch vụ xử lý tất cả các yêu cầu REST (với các loại trả lại khác nhau) hay tôi cần một dịch vụ chuyên dụng cho từng yêu cầu REST.
Có lẽ tôi còn nhiều vấn đề về hiểu biết khác nên điều tốt nhất đối với tôi là một ứng dụng mẫu đáp ứng nhu cầu của tôi. Trường hợp sử dụng của tôi không có gì bất thường và tôi hy vọng có một ứng dụng ví dụ nào đó.
Bạn vui lòng cho tôi biết!
Bất kỳ đề xuất nào khác cho tôi biết hướng triển khai chính xác cũng hữu ích (Android API-Demo không phù hợp với trường hợp sử dụng của tôi).
Cảm ơn trước.
Klaus
CHỈNH SỬA : Các chủ đề tương tự được tìm thấy trên SO (sau khi đăng bài này) dẫn tôi đi theo hướng tôi cần (giảm thiểu "mẫu Dobjanschi" phức tạp):