2016-05-23 1 views
1

Я разрабатываю приложение, где должно быть возможно получить некоторые объекты из других приложений (Сервер). В качестве разработчика клиентского приложения должно быть как можно проще реализовать материал, необходимый для отправки объектов в приложение на моем сервере.Android inter process communication BroadcastReceiver, AIDL

Я уже много читал о BroadcastReceivers, AIDL, Messenger.

На большинстве сайтов предлагается использовать AIDL или Messenger (который использует AIDL внутри). Но почему бы не использовать BroadcastReceiver? Он очень прост в использовании и отлично работает. Сливает ли батарея или не работает?

Какую «технологию» я должен использовать для своего приложения? BroadcastReceiver? AIDL? Коммуникатор? Поставщик услуг? Unix трубы?

Есть ли хорошие веб-сайты/книги, которые объясняют такое общение?

+0

в основном с AIDL вас может быть лучше interfece для вашей потребности (поскольку инструменты сборки будут генерировать java-код, и вы не должны заботиться о подкладке реализации) ... когда BroadcastReceiver имеет только один интерфейс ... – Selvin

+0

Я только отправляю один объект, который содержит другие объекты информации , Так что BroadcastReceiver будет работать нормально? Иногда мне нужно переносить много объектов, а BroadcastReceiver не хватает производительности? – Ant1Zykl0n

+0

1. IMHO BroadcastReceiver построен на RPC с IIntentSender.aidl/IIntentReceiver.aidl 2. Не должно быть практически никаких различий в производительности между решением AIDL и BroadcasrReceiver (приемник imho будет иметь несколько вызовов больше, но без значительных затрат на предварительную обработку) ... 3 . * Иногда мне нужно передать много объектов *, тогда вы должны помнить об ограничении размера Intent ... может быть, ContentProvider для «alot of objects» будет лучше – Selvin

ответ

0

BroadcastReceivers относительно старая концепция, которая несколько раз делает безопасность на карте без правильных разрешений, как правило, вы можете получить требования для улучшения обслуживания, чтобы сделать несколько звонков, так AIDL будет более простым вариантом