Я создаю свое первое приложение с поддержкой данных, но борюсь с последней частью - фактически добавляя и извлекая данные. На данный момент я заинтересован только в добавлении данных в таблицу. После this tutorial Я создал классы моделей для своих таблиц и класс DBHelper со всеми моими методами CRUD (я могу опубликовать все это, если потребуется, но не уверен, что они необходимы для ответа на этот вопрос. Пожалуйста, поправьте меня, если я ошибаюсь!). К сожалению, учебник заканчивается здесь и не вдавался в подробности о том, как передавать данные из пользовательского интерфейса приложения в БД.Добавление данных в SQLite
После некоторых поисковых запросов Google я нашел пример того, как передавать некоторые данные этим методам, но только, как передавать один кусок данных за раз, поэтому только очень полезно, если в моей таблице есть только одно поле - мое больше чем один.
Например, если у меня есть таблица для задач «Todo», в моем dbhelper мой метод создания может быть;
public void createTodo(String todoText) {
ContentValues contentValues = new ContentValues();
contentValues.put("todo", todoText);
// Insert into DB
db.insert("todos", null, contentValues);
}
так от моей деятельности мне просто нужно
dao.createTodo(todoTextValue);
Для моего приложения я буду добавлять более одного поля в то время, так что я создать метод выглядит следующим образом;
public long createSite(Site site){
SQLiteDatabase database = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_SITE_NAME, site.getSiteName());
values.put(KEY_SITE_LAT, site.getSiteLat());
values.put(KEY_SITE_LON, site.getSiteLon());
values.put(KEY_CREATED_AT, site.getSiteCreatedDateTime());
// Insert Row
long siteid = database.insert(TABLE_SITES, null, values);
Так что мой вопрос в том, как я могу передать все разные биты данных методу createSite.
Что вы имеете в виду с помощью метода «создать»? Метод «createSite»? –
Я не совсем понимаю, что вы просите. Похоже, вы поняли. –
Извинения, да точно –