我想在Android手机上构建REST客户端。
REST服务器公开了多个资源,例如(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
我(认为)我知道如何与REST服务器对话并获取所需的信息。我将使用这样的API实现REST Client类
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();
参考Virgil Dobjanschi的演示“开发Android REST客户端应用程序”,我了解到在Activity的Worker Thread中处理REST请求并不是一个好主意。相反,我应该使用Service API。
我喜欢让Singleton ServiceHelper绑定到(本地)服务的想法,但是我担心我对服务概念的理解不正确。
目前,我不了解如何将REST调用结果(在服务中异步完成)报告给调用者活动。我还想知道我是否需要一个可处理所有REST请求(具有不同返回类型)的服务,或者是否需要针对每个REST请求的专用服务。
可能我还有许多其他理解上的问题,所以对我来说最好的是满足我需要的示例应用程序。我的用例并不罕见,我希望那里有示例应用程序。
请让我知道!
任何其他指向我正确实施方向的建议也很有帮助(Android API-Demo与我的用例不匹配)。
提前致谢。
克劳斯
编辑:在SO上找到的类似主题(发布此主题之后)使我朝着我需要的方向(最小化了复杂的“ Dobjanschi模式”):