The insert operation will add new data into the database. What follows is its implementation:
val NOTE = object : Crud<Note> { ... override fun insert(what: Note): Long { val inserted = insert(listOf(what)) if (!inserted.isEmpty()) return inserted[0] return 0 } override fun insert(what: Collection<Note>): List<Long> { val db = DbHelper(name, version).writableDatabase db.beginTransaction() var inserted = 0 val items = mutableListOf<Long>() what.forEach { item -> val values = ContentValues() val table = DbHelper.TABLE_NOTES values.put(DbHelper.COLUMN_TITLE, item.title) values.put(DbHelper.COLUMN_MESSAGE, item.message) values.put(DbHelper.COLUMN_LOCATION_LATITUDE, item.location.latitude) values.put(DbHelper.COLUMN_LOCATION_LONGITUDE, ...