шаблон публикации/подписки android
Есть ли шаблон публикации / подписки в android?
Чего я хочу добиться, так это того, что у меня есть этот класс, который может уведомить заинтересованную сторону о событии. Тогда заинтересованная сторона может делать все, что ей нужно.
Исходящие из мира .net microsoft, такого рода вещи встроены.
Есть ли у android что-то подобное, или мне нужно написать что-то вроде шаблона наблюдателя?
5 ответов:
Я думаю, что вы говорите в терминах передачи событий / сообщений между классами в вашем приложении. Таким образом, этот вопрос, вероятно, сводится к реализации такого шаблона на Java.
На самом деле нет ничего уже испеченного (т. е. нет системного класса
event
), один из наиболее распространенных способов позволить классу распространять событие / сообщение-это метод Listener (см. wikipedia, Фогель, IBM ).Тоже есть фреймворки, как из этого так ответ .
Если вас беспокоят сообщения asynch между потоками / процессами в Android, то есть обработчики , AsyncTasks и (для межпроцессных) Parcelables.
Я нашел LocalBroadcastManager наиболее подходящим для стиля in app pub-sub. Вы всегда можете использовать наблюдателей, но этот делает жизнь проще:
Https://developer.android.com/reference/android/support/v4/content/LocalBroadcastManager.html
Править: Похоже, что сейчас есть несколько решений. Они, безусловно, заслуживают упоминания:
Взгляните на
BroadcastReceiver
. Я думаю, это то, что ты ищешь.
Я знаю, что это старый, но я использовал EventBus от GreenRobot. Пока что это здорово. Гораздо более свободно связаны с намерениями, чем BroadcastReceivers и LocalBroadcastManagers. Проверьте это здесь: http://greenrobot.github.io/EventBus/