0

私はテーブルを持っています

CREATE TABLE rss (_id INTEGER PRIMARY KEY AUTOINCREMENT, title text, body text, img_url text);

私は次のコードでアイテムを書きます:

public void writeRssModel(ArrayList<RssModel> items){
    SQLiteDatabase db = getWritableDatabase();
    for (RssModel model : items){
         try {
             ContentValues cv = new ContentValues();
             cv.put(DBConst.BODY, model.getBody());
             cv.put(DBConst.IMG_URL, model.getImgUrl());
             cv.put(DBConst.TITLE, model.getTitle());
             db.insert(DBConst.TABLE, null, cv);
         }catch (Exception e){
             e.printStackTrace();
         }
     }
}

このコードを再利用すると、行が重複します。バックグラウンド スレッドで動作し、UI スレッドではこのテーブルにライブ カーソルがあるため、項目を削除できません。行を更新する必要があります。

4

1 に答える 1

1

あなたは宣言しtitle text uniquedb.insertWithOnConflict(DBConst.TABLE, null, cv, SQLiteDatabase.CONFLICT_IGNORE);

于 2013-03-06T20:37:17.637 に答える