我在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
我不知道如何解决这个问题。
答案 0 :(得分:0)
我认为cat_id是防止数据重复的主键