Android ContentResolver正在插入重复数据
我正试图通过内容解析器将数据插入数据库。数据已插入,但对于每个insert(),有两个条目。我调试了代码,但无法找到重复条目的原因。 下面是我的代码片段 在内容提供程序中插入():Android ContentResolver正在插入重复数据,android,sqlite,android-contentprovider,android-contentresolver,Android,Sqlite,Android Contentprovider,Android Contentresolver,我正试图通过内容解析器将数据插入数据库。数据已插入,但对于每个insert(),有两个条目。我调试了代码,但无法找到重复条目的原因。 下面是我的代码片段 在内容提供程序中插入(): @Override public Uri insert(Uri uri, ContentValues values) { int uriType = uriMatch.match(uri); SQLiteDatabase mDb = dBHelper.getWritableDa
@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);
”,这就是为什么它要两次插入数据
现在只需从
System.out.println
语句中删除myResolver.insert(browserProviderUri,cv)
欢迎光临。如果我的回答对你有帮助,请接受。谢谢