SQliteDatabase数据是重复的

时间:2018-02-13 08:44:59

标签: java android sqlite android-sqlite

我在SQLiteDatabase中开始我试图插入数据,我从Internet获取它,我正在使用asynTask来获取数据并插入它 但是在旋转移动设备以及重新加载活动或登录活动时,数据在recycleview中是重复的

下面是我的代码

     @Override
    protected String doInBackground(String... arg) {

        JSONObject json = jsonFromHttp.makeHttpRequest(URLS.CATEGORIES_URL, "Get", params);
        try {
           JSONArray products = json.getJSONArray("cat1");
            for (int i=0;i<  products.length();i++) {




                JSONObject Arrobj= products.getJSONObject(i);

                String cat_id=Arrobj.getString("cat_id");
                String cat_name=Arrobj.getString("cat_name");
                String cat_photo=Arrobj.getString("cat_photo");
                Integer id=Integer.parseInt(cat_id);

//这里我插入数据

                ContentValues values = new ContentValues();

                values.put(DataContract.DataEntry.COLUMN_CATEGORY_NAME, cat_name);
                values.put(DataContract.DataEntry.CATEGORY_ID, id);
                values.put(DataContract.DataEntry.COLUMN_CATEGORY_IMAGE, "mm");}

                Uri newUri = getContext().getContentResolver().insert(DataContract.DataEntry.CONTENT_URI, values);

                categoriesList.add(new CategoryModel(cat_name,cat_photo,cat_id,"","")); //put object which carry values in list

我不知道如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

我认为cat_id是防止数据重复的主键