Ich möchte einen REST-Client auf einem Android-Handy erstellen.
Der REST-Server stellt mehrere Ressourcen bereit, z. B. (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
Ich (denke) weiß, wie ich mit dem REST-Server sprechen und die Informationen erhalten kann, die ich brauche. Ich würde eine REST-Client-Klasse mit einer API wie dieser implementieren
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();
In Bezug auf die Präsentation " Entwickeln von Android-REST-Clientanwendungen " von Virgil Dobjanschi habe ich erfahren, dass es keine gute Idee ist, die REST-Anforderung in einem Worker-Thread der Aktivität zu bearbeiten. Stattdessen sollte ich die Service- API verwenden.
Ich mag die Idee, einen Singleton ServiceHelper zu haben, der an einen (lokalen) Service gebunden ist, aber ich befürchte, dass ich das Servicekonzept nicht richtig verstanden habe.
Im Moment verstehe ich nicht, wie ein REST-Anrufergebnis (das in einem Dienst asynchron ausgeführt wird) an die Anruferaktivität zurückgemeldet wird. Ich frage mich auch, ob ich EINEN Dienst benötige, der alle REST-Anforderungen (mit unterschiedlichen Rückgabetypen) verarbeitet, oder ob ich für jede REST-Anforderung einen dedizierten Dienst benötige.
Wahrscheinlich habe ich viele andere Verständnisprobleme, daher wäre das Beste für mich eine Beispielanwendung, die meinen Anforderungen entspricht. Mein Anwendungsfall ist nicht ungewöhnlich und ich hoffe, dass es eine Beispielanwendung gibt.
Würdest du es mich bitte wissen lassen?
Alle anderen Vorschläge, die mich in die richtige Implementierungsrichtung weisen, sind ebenfalls hilfreich (Android API-Demo entspricht nicht meinem Anwendungsfall).
Danke im Voraus.
Klaus
EDIT : Ähnliche Themen auf SO (nach dem Posten), die mich in die Richtung führen, die ich brauche (Minimierung des komplexen "Dobjanschi-Musters"):