Я знаю, что вы видели мой вопрос о android restful API-сервисе , и думаю, что вы можете сделать что-то похожее на ответы, изложенные там. Вам нужно будет использовать Handler , чтобы выполнить синхронизированный обратный вызов из службы.
Кроме того, с тех пор, как на этот вопрос был дан ответ, я обнаружил Google Buffers , на которые стоит обратить внимание:
Протоколные буферы - это гибкий, эффективный, автоматизированный механизм для сериализации структурированных данных - думайте XML, но меньше, быстрее и проще. Вы определяете, как вы хотите, чтобы ваши данные были структурированы один раз, затем вы можете использовать специальный сгенерированный исходный код, чтобы легко записывать и считывать ваши структурированные данные в различные потоки данных и из них, используя различные языки. Вы даже можете обновить структуру данных, не нарушая развернутые программы, скомпилированные со «старым» форматом.
На страницах учебника есть несколько хороших примеров - это сделает ваш чат-клиент очень быстрым!