Android AIDL — нужен образец клиента и сервера (два разных приложения)

У меня есть два разных приложения — одно клиентское, а другое — удаленный сервер, и я пытаюсь использовать AIDL. Мне удалось скомпилировать клиент, импортировав класс сервера, однако bindService на клиенте возвращает false (даже если я использую getContenx().bindService(). Теперь, если я попытаюсь использовать com.xyz.myRemoteServiceClassName.class.getName() , то есть имя удаленной службы в клиентском методе onCreate, клиент выдает исключение java.lang.NoClassDefFoundError). Также у моего клиента в настоящее время нет файла AIDL, но он отлично компилируется со всеми импортами.

Если я добавлю файл AIDL на сервер «как есть» в клиент, клиент не будет компилировать жалобу на объект, подлежащий разделению, в файле AIDL. Если я тоже добавлю объект, даже тогда он жалуется. Я включил проект сервера в путь сборки Java клиента.

У кого-нибудь есть пример кода клиента и сервера (два разных приложения). Если да, не могли бы вы указать (предпочтительно проект Eclipse), который можно использовать для просмотра работы клиент-серверных приложений?

Благодарю в предвкушении,

Рави

-- Удален исходный код.


person Ravi R    schedule 11.03.2011    source источник


Ответы (1)


В SDK есть Samples. Одним из них является Удаленный контроллер служб и удаление привязки служб. Необходимые файлы можно найти в папке SDK [sdk]/samples/android-[версия]/...

Исходный код удаленной службы (также в SDK) можно найти по адресу здесь.

person rgmills    schedule 11.03.2011
comment
Эй, спасибо, я видел этот исходный код. Я ищу простую работающую реализацию IPC с использованием AIDL, где есть два разных приложения: клиентское и серверное. Мой код довольно прост, без каких-либо обратных вызовов и т. д. Мне нужен рабочий образец, если кто-нибудь может предоставить его, это было бы действительно полезно. Рави - person Ravi R; 12.03.2011
comment
Это работает. Вы ищете другую реализацию, отличную от той, что включена в пример. Кроме того, если вы можете включить свой код там, где у вас возникла проблема, возможно, вы сможете помочь с этим. - person rgmills; 12.03.2011
comment
Я добавил код, не могли бы вы взглянуть, спасибо. - person Ravi R; 13.03.2011
comment
Понятно... Несколько шагов для будущих потенциальных клиентов, которые столкнутся с этой ошибкой: 1. Необходимо создать серверный пакет в клиентском приложении и скопировать туда файлы AIDL, он сгенерирует корр. Java-файлы - person Ravi R; 15.03.2011