这个问题将是Content Resolver vs Cursor Loader的后续问题, 其中答案清楚地说明了如何使用 Content Resolver 将记录插入到 sqlite Db 中。我的问题如下:
- 我可以使用加载器(普通加载器)来实现这个功能吗?
例如:
public Loader<Cursor> 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;
}
这会在 Main UI 线程还是工作线程中运行功能。我知道我不会收到回调,因为内容解析器将返回一个 URI 而不是包含数据的游标。
我尝试运行此代码,但它的行为有点奇怪.. 重复插入被记录并且它不一致,有人可以向我展示一些使用加载器进行插入操作的正确资源(我已经看到了许多带有查询示例的示例并且它有效像一个魅力:))
感谢您的时间 。