Вставка записей через загрузчики в Android
Этот вопрос будет продолжением заданногоContent Resolver vs Cursor Loader Где в ответе четко указано, как вставить записи в базу данных sqlite с помощью Content Resolver. Мой вопрос заключается в следующем:
Могу ли я использовать загрузчик (обычный загрузчик) для реализации этой функции?например:
public Loader onCreateLoader(int id, Bundle bundle) {
switch (id) {
case AppConstants.LOADER_ADD_FAV_PHONE_NUM:
ContentValues values = new ContentValues();
values.put(DBHelper.TM_DB_COLUMN_PHONE_NUMBER,
directionOrder);
values.put(TransitMeDBHelper.TM_DB_COLUMN_NAME_ID, selectionArgs[0]);
Uri insertFavStop =getContentResolver().insert(TransitMeContentProvider.CONTENT_URI_INSERT_FAV_PHONE,
values);
break;
}
return null;
}
Будет ли это запускать функциональность в основном потоке пользовательского интерфейса или в рабочем потоке. Я понимаю, что я не получал бы обратные вызовы для этого, поскольку преобразователь содержимого будет возвращать URI вместо курсора, содержащего данные.
Я попытался запустить этот код, но он ведет себя немного странно. Повторяющиеся вставки записываются, и это непоследовательно. Может ли кто-нибудь показать мне какой-то правильный ресурс, который использует Loader для выполнения операций вставки (я видел много примеров с примерами запросов, и это работает Как колдовство :) )
Спасибо за ваше время .