Вставьте JSON в SQLite (GSON + Volley) - PullRequest
0 голосов
/ 10 февраля 2019

пришло из этой темы: Вставить данные Gson в Android Sqlite

, начиная с ответа на залп:

        public void onResponse(String response) {
        OverallModel itemList;
        itemList = new Gson().fromJson(response,OverallModel[].class);
        helper.insertData(itemList);

это моя общая модель:

public class OverallModel {
    public int id;
    public String beschreibung;
    public String datum;
    public String image_link;
    public String location;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getBeschreibung() {
        return beschreibung;
    }

    public void setBeschreibung(String beschreibung) {
        this.beschreibung = beschreibung;
    }

... other getters and setters here

с JSON, подобным этому:

[
  {
    "id": "1",
    "name": "Event One",
    "beschreibung": "Description here - Skip quot'e's'?",
    "date": "14.01.2017",
    "image_link": "http://google.com/icon.png"
    "location":"location goes here"
  },
  {
    "id": "2",
    "name": "Event Two",
    "beschreibung": "Description here - Skip quot'e's'?",
    "date": "16.01.2017",
    "image_link": "http://google.com/icon.png"
    "location":"location goes here"
  },
  .
  .
  .
]

Теперь мне нужен вспомогательный метод для помещения данных в базу данных SQLite, без GSON Я сделал это с помощью этого кода:

JSONArray events = response.getJSONArray("events");
for (int h = 0; h < events.length(); h++) {
String jr_date = c.getString("datum");
String jr_imgurl = c.getString("image_link");
.
.
String SQLiteDataBaseQuery
                                = "INSERT INTO overall_table (id,des,name,date,imgurl,fburl,fbid,entry,open,closed) VALUES('"+id+"', '"+jr_descr+"', '"+jr_name+"', '"+jr_date+"', '"+jr_imgurl+"', '"+jr_fburl+"', '"+jr_fbid+"', '8.0' , '22:00', '3:30');";
                        sqLiteDatabase.execSQL(SQLiteDataBaseQuery);

с классом помощника БД:

public void onCreate(SQLiteDatabase database) {
String CREATE_TABLE="CREATE TABLE IF NOT EXISTS " +TAB_NAME+" ("+table_id+" INTEGER PRIMARY KEY, "
+table_desc+" VARCHAR, "
+ table_name+ " VARCHAR, "
+ table_date+" VARCHAR, "
.
.
+ table_open+" VARCHAR,"
+ table_closed+" VARCHAR)";
database.execSQL(CREATE_TABLE);
}

Как создать правильный класс помощника для моего GSON, чтобы поместить десериализованные данные в мою таблицу / базу данных?

1 Ответ

0 голосов
/ 10 февраля 2019

Использование Комната База данных ORM

Вы можете легко вставить список моделей эффективно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...