我正在尝试通过内容解析器将数据插入数据库。插入了数据,但是对于每个insert(),都有两个条目。我调试了代码,但无法得到重复输入的原因。这是我的代码片段
内容提供程序中的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);
谁能引导我指出我的错误之处?
megha,您myResolver.insert(browserProviderUri, cv);
两次调用“ ”,这就是为什么它两次插入数据的原因。
现在只需myResolver.insert(browserProviderUri, cv)
从System.out.println
语句中删除。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句