В моем приложении у меня есть служба, в которой читаются rss-каналы. После того, как служба завершит чтение, мне нужно обновить мое приложение и заполнить список с помощью загруженной информации. Использование широковещательного приемника и намерений не будет работать, поскольку данные хранятся в пользовательском объекте. Каков наилучший способ сделать это?
Большое спасибо,
Gratzi
Использование широковещательного приемника и намерений не будет работать, потому что данные хранятся в пользовательском объекте.
Затем не сохраняйте данные в "настраиваемом объекте".
Каков наилучший способ сделать это?
Шаг # 1: используйте базу данных.
Шаг №2: Оповестите о том, что в базе данных есть новые данные, через широковещательный Intent
или через Messenger
, переданный в службу, или через PendingIntent
, созданный createPendingResult()
, переданный в услугу или через фасад ContentProvider
и наблюдателя контента и т.д.
Шаг № 3: Извлеките данные из базы данных, возможно, просто позвонив requery()
в выдающийся Cursor
.
1) Самый простой способ получить данные пользовательского класса в Intent: получить данные в примитивные типы, затем поместить эти данные putString или любым типом данных, а затем добавить конструктор к соответствующим отправленным данным в действие из набора в пользовательский объект в деятельность.
2). Другой способ сделать это - расширить свой пользовательский класс за счет разбора и переопределения соответствующих методов, тогда вы сможете отправить объект класса с намерением. перейдите по этой ссылке Как отправить объект из одной активности Android в другой с помощью намерений? Подробнее