Я смотрю видео Google I / O 2010 по этой теме, и у меня есть несколько вопросов, чтобы убедиться, что я правильно понимаю.
Google I / O 2010 - клиентские приложения REST для Android
Обратите внимание, что у меня также очень ограниченное понимание CursorAdapters
В настоящее время мое приложение просто имеет слой пользовательского интерфейса.Я создал объект с именем DbAdapter, используя некоторые учебные пособия Google для создания небольшой базы данных и таблицы в этой базе данных.
Я создал класс, которому я вызываю DataBroker (расширение ContentProvider) для управления извлечением данных избаза данных и вызов веб-служб для обновления данных.
Сценарии:
1) Предположим, я хочу отобразить список элементов в моей ListActivity.Правильно ли я предполагаю, что напишу функцию в моем DataBroker, которая создает курсор для таблицы в моей базе данных, содержащей эти элементы, запускает службу, которая запускает поток, который вызывает веб-службу для получения дополнительных элементов, а затем возвращает курсорв мой поток пользовательского интерфейса?Выполнение этого, вероятно, вернет Cursor в мой поток пользовательского интерфейса до завершения работы веб-службы, но, как я предполагаю, когда CursorAdapter имеет Cursor, он автоматически покажет все изменения, внесенные в эту таблицу базы данных, да?
2) Теперь у меня есть список элементов в моем ListView.Предположим, я даю пользователю некоторую функциональность для удаления элемента.Пользователь выполняет эту функцию.Он должен вызвать функцию в моем DataBroker, которая обновит строку в моей базе данных, соответствующую этому элементу, установив для столбца состояния значение STATE_DELETING (которая удалит строку из ListView, поскольку у Cursor есть предложение, исключающее это состояние), а затем сработаетслужба, которая запускает поток, который попадает в мой веб-сервис, а затем удаляет строку в базе данных после завершения?
Кроме того, предположим, что у меня есть несколько операций, я смотрю на наличие статического курсора для каждого действия со списком,захватывает этот Курсор в onCreate Деятельности, и если этот Курсор является нулем, поражает мой DataBroker?