안드로이드 폰에서 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 클라이언트 클래스를 구현합니다.
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의 " Developing Android REST client applications " 프레젠테이션을 참조 하여 활동의 작업자 스레드에서 REST 요청을 처리하는 것은 좋지 않다는 것을 알게되었습니다. 대신 Service API를 사용해야합니다 .
(로컬) 서비스에 바인딩되는 Singleton ServiceHelper가 있다는 생각이 마음에 들지만 서비스 개념을 올바르게 이해하지 못한 것 같습니다.
지금은 REST 호출 결과 (서비스에서 비동기로 수행됨)를 호출자 활동에 다시보고하는 방법을 이해하지 못합니다. 또한 모든 REST 요청 (다른 반환 유형 포함)을 처리하는 ONE Service가 필요한지 아니면 각 REST 요청에 대한 전용 서비스가 필요한지 궁금합니다.
아마도 나는 다른 이해 문제가 많기 때문에 가장 좋은 것은 내 요구를 충족시키는 샘플 응용 프로그램 이 될 것입니다. 내 사용 사례는 드물지 않으며 예제 응용 프로그램이 있기를 바랍니다.
알려주세요!
올바른 구현 방향을 알려주는 다른 제안도 도움이됩니다 (Android API-Demo가 내 사용 사례와 일치하지 않음).
미리 감사드립니다.
클라우스
편집 : SO에서 발견 된 유사한 주제 (이 게시물을 게시 한 후)가 필요한 방향으로 안내합니다 (복잡한 "Dobjanschi 패턴"최소화) :