База данных комнат Android всегда начинается с Primarykey 0 для новых Entrys - PullRequest
0 голосов
/ 05 марта 2019

Я получаю массив с не указанным числом BlueCones с различными значениями x и y, каждые 0,5 с я получаю новые BlueCones, которые должны заменить старые конусы в таблице "blue_cone", как я могу автоматически генерировать ключи, которые всегда запускаютсяс 0 для новых входящих конусов.

@Entity(tableName ="blue_cones")
data class BlueCone(

val x: Double = 0.0,
val y: Double = 0.0

){
@PrimaryKey(autoGenerate = true)
var blueId: Int = 0

}

1 Ответ

0 голосов
/ 05 марта 2019

Room не поддерживает сброс первичных ключей, которые UNIQUE.одним из вариантов будет добавление двух дополнительных полей, которые образуют комбинированный ключ: например.sequence (номер запроса) & coneId, где coneId может начинаться с 0, с каждым новым запросом / ответом.Я также однажды объяснил здесь , как сбросить автоинкрементное значение, на случай, если оно должно быть (но обычно это не рекомендуется).

, как @ Advice-Dog предложил вчера, синий и желтый должны быть свойствами класса Cone.Можно только подтвердить, что это имеет смысл, с большой вероятностью ... если нет строгих требований, хранить их в двух отдельных таблицах.

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