Что такое обратный вызов связывателя на Android?

Я смотрел презентацию В / В Google Вирджила Добьянского о том, как правильно реализовать REST на Android с помощью сервисов и поставщиков контента. http://code.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html

На основе видео я делаю вещи неправильно, что неудивительно учитывая, как трудно правильный путь. Во всяком случае, после того, как мне показали обетованную землю в видео, у меня возникла небольшая проблема, чтобы понять, как туда добраться.

У меня большинство из них прибито, но одна вещь, которая побеждает меня, это обратный вызов Binder, на который Вирджил ссылается на слайдах (см. Ссылку выше), на странице 43 он показывает шаг 2 как запуск службы с startService (намерение) и шаг 10 как возвращение информации о состоянии с помощью обратного вызова Binder. В презентации нет ни одного примера кода, который довольно разочаровывает. Поговаривают об открытом источнике для клиента Twitter, который, очевидно, использует этот подход, но пока ничего не делает, и объявление было в апреле.

В видео он заявляет: «Что такое обратный вызов связующего? Обратный вызов связующего, думайте о нем как о интерфейсе это было передано в намерении запроса. "

Я искал повсюду, но не смог найти ни одного документа или примеров, которые показывают, как передать обратный вызов как часть намерения. Также я не могу найти какой-либо другой способ передачи обратного вызова.

Я подумал, что он может иметь в виду привязку к сервису и реализацию обратного вызова таким образом. Однако он специально ссылается на локальный сервис и использует strarSerice (), а не bindService (). Также с помощью bindService () служба будет уничтожена, если действие будет уничтожено, что противоречит идее. Обходной путь должен использовать startService (), а затем bindService () и оставить службу работающей на время. Другая проблема, связанная с bindService (), заключается в том, что обратный вызов не может быть использован до тех пор, пока onServiceConnected () не завершит работу, что еще больше усложнит код, поскольку инструкции действия не могут быть переданы в намерении, поскольку обратный обратный вызов может быть не вовремя возвращен результаты.

Я заинтересован только в реализации этого с использованием рекомендованного подхода. Может кто-нибудь пролить свет на то, что такое обратный вызов Binder и как его кодировать. Также связано ли это с тем, знает ли кто-нибудь, как выглядел бы Service Helper, кроме бинтов синглтона?

Любая помощь здесь будет высоко ценится. Спасибо Клайв

28
задан Clive Jackson 31 August 2010 в 11:23
поделиться

1 ответ

Возможно, он имел в виду ResultReceiver или, возможно, createPendingResult(). Вот пара из примеров проектов, демонстрирующих использование последнего.

14
ответ дан 28 November 2019 в 03:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: