我正在尝试通过内容解析器将数据插入数据库。插入数据但是对于每个insert(),有两个条目。我调试我的代码但无法获得重复输入的原因。 以下是我的代码片段
在内容提供商中插入()
@Override
public Uri insert(Uri uri, ContentValues values) {
int uriType = uriMatch.match(uri);
SQLiteDatabase mDb = dBHelper.getWritableDatabase();
long id = 0;
switch(uriType){
case Allowed_url:
id = mDb.insert(DatabaseHandler.Names, null, values);
break;
default:
throw new IllegalArgumentException("unknown uri" + uri);
}
getContext().getContentResolver().notifyChange(uri, null);
return Uri.parse(Names_TABLE_PATH + "/" + id);
}
内容解析器中的代码:
ContentResolver myResolver = mActivity.getContentResolver();
Uri browserProviderUri = Uri.parse("content://com.eaft.parentalcontrol." +
"AllowedUrlProvider/" +
"DatabaseHandler/NAMES");
ContentValues cv = new ContentValues();
System.out.println("History_AL.get(0).getUrl() is : " +
LightningView.History_AL.get(0).getUrl());
cv.put("NAME", LightningView.History_AL.get(0).getName());
cv.put("InTime", LightningView.History_AL.get(0).getInTime());
cv.put("OutTime", LightningView.History_AL.get(0).getOutTime());
myResolver.insert(browserProviderUri, cv);
System.out.println("myResolver.insert(browserProviderUri, cv) " +
myResolver.insert(browserProviderUri, cv));
LightningView.History_AL.remove(0);
任何人都可以指导我指出我错在哪里吗?
答案 0 :(得分:0)
myResolver.insert(browserProviderUri, cv);
"这是两次插入数据两次的原因。
现在只需从myResolver.insert(browserProviderUri, cv)
语句中删除System.out.println
即可。