sqllite db сохранено неверно

Я использую SugarORM для Sqllite db, и данные в этой базе данных сохраняются каждые 10 минут с сервера, что делается с помощью сервиса. Теперь при наблюдении за данными, сохраненными в logcat, количество данных, сохраненных в этой БД, показывает неверно. Logcat показывает как показано ниже

I/Sugar: mobstat сохранено: 255322
Я / Сахар: мобстат сохранен: 255323
Я / Сахар: мобстат сохранен: 255117
Я / Сахар: мобстат сохранен: 255118

После достижения 323 он снова показывает 117 и так далее. Что здесь не так.

private void parseJSONresponse(String s)
{
   try
      {
        JSONArray json = new JSONArray(s);
        for (int i = 0; i < json.length(); i++)
        {
          JSONObject e = json.getJSONObject(i);
          musers.add(new mobstat(e.getString("name"), e.getString("status"),e.getLong("time")));
          SugarRecord.saveInTx(musers);
        }
    } catch (JSONException e)
      {
        e.printStackTrace();
      }
    }

Mobstat sqllite таблица:

import com.orm.SugarRecord;
import com.orm.dsl.Unique;

class mobstat extends SugarRecord {

    @Unique
    String name;
    String status;
    long stime;

    public mobstat(){  }

    mobstat(String name, String status, long stime) {
        this.name = name;
        this.status = status;
        this.stime = stime;
    }
}

Мобстат - это мой sqllite db. этот код выполняется каждые 10 секунд для обновления новых данных. Я не делаю никакой проверки, существуют ли данные уже или нет, Sugar ORM перезаписывает значения, которые уже существуют. Это правильный подход? Пожалуйста помоги.

1 ответ

Вы проверяли, действительно ли Sugar перезаписывает ваши данные, или это что-то, что вы предполагаете, основываясь на журналах Sugar?

Каждый раз, когда вы звоните по следующей линии:

SugarRecord.saveInTx(musers);

Вы сохраняете весь список musers снова.

Журналы, которые вы показываете нам, являются журналами Sugarэто то, о чем вы не должны беспокоиться или смотреть. Я думаю, что ваш код не переопределяет существующие значения в базе данных, так как вы только сохраняете объекты в Sugar,

Другие вопросы по тегам