Ошибка при вставке в комнате Android не нулевое ограничение

Я использую модернизацию в качестве API и места для доступа к базе данных в моем приложении для Android. данные, полученные от моего бэкэнда, выглядят так

[{"category_id":8},{"category_name":"Appetizers"},{"category_image":"upload/images/1229-2016-08-30.jpg"},{"category_id":5},{"category_name":"Breakfast"},{"category_image":"upload/images/6307-2016-08-30.jpg"},{"category_id":2},{"category_name":"Desserts"},{"category_image":"upload/images/0062-2016-08-30.jpg"},{"category_id":1},{"category_name":"Drink"},{"category_image":"upload/images/9359-2016-08-30.jpg"},{"category_id":4},{"category_name":"Main Dish"},{"category_image":"upload/images/2031-2016-08-30.jpg"},{"category_id":3},{"category_name":"Side Dish"},{"category_image":"upload/images/3824-2016-08-30.jpg"}]

и моя комната выглядит так

@Entity(primaryKeys = ["category_id"])
data class MenuCategories(
        @field:SerializedName("category_id")
        val category_id: String,

        @field:SerializedName("category_name")
        val category_name: String,

        @field:SerializedName("category_image")
        val category_image: String
)

и как мой дао сохраняет данные

@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insertMenuCategories(categories: List<MenuCategories>)

однако я получаю это сообщение об ошибке

E/SQLiteLog: (1299) abort at 8 in [INSERT OR REPLACE INTO `MenuCategories`(`category_id`,`category_name`,`category_image`) VALUES (?,?,?)]: NOT NULL constraint failed: MenuCategories.category_name

Вам нужно добавить category_id, category_name, category_image внутри одного jsonobject

Ajay S 08.07.2018 09:54

Как вы стилизуете примеры, кстати, как вы редактировали мой @AjayS

Melvin Kent 08.07.2018 09:57

Вам просто нужно выбрать контент, который вы хотите отформатировать, затем нажмите Ctrl + K.

Ajay S 08.07.2018 09:58
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
3
2 085
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам нужно добавить category_id, category_name, category_image внутри одного JsonObject, как показано ниже.

[
    {
      "category_id": 8,
      "category_name": "Appetizers",
      "category_image": "upload/images/1229-2016-08-30.jpg"
    }, {
       .....
    }
]

но мне нужен массив тех

Melvin Kent 08.07.2018 09:58

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