Я хочу створити REST-клієнта на телефоні Android.
Сервер 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 та отримати потрібну інформацію. Я б реалізував клас клієнта REST з таким API
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();
Звернувшись до презентації " Розробка клієнтських програм для Android REST " від Віргілія Добянщи, я дізнався, що не є гарною ідеєю обробляти запит REST у робочій темі діяльності. Натомість я повинен використовувати службовий API.
Мені подобається ідея мати Singleton ServiceHelper, який прив'язується до (Місцевої) Служби, але я боюся, що я не зрозумів концепцію Служби правильно.
Наразі я не розумію, як повідомляти результат виклику REST (виконаний асинхронно в службі) назад до активності абонента. Мені також цікаво, чи потрібна мені ОДНА послуга, яка обробляє всі запити REST (з різними типами повернення), чи мені потрібна спеціальна послуга для кожного запиту REST.
Напевно, у мене є багато інших проблем із розумінням, тому найкращим для мене буде зразок програми, яка відповідає моїм потребам. Мій варіант використання не є незвичним, і я сподіваюся, що там є приклад програми.
Будь ласка, дай мені знати!
Будь-які інші пропозиції, які вказують мені на правильний напрямок реалізації, також корисні (Демонстрація Android API не відповідає моєму варіанту використання).
Заздалегідь спасибі.
Клаус
РЕДАГУВАТИ : Подібні теми, знайдені на SO (після публікації цього), які ведуть мене в потрібному напрямку (мінімізуючи складний "шаблон Добянщи"):