java.lang.NoSuchMethodException: <init>[] - PullRequest
0 голосов
/ 07 ноября 2019

Я использовал kotlin, и у меня возникла ошибка, когда я пытаюсь получить данные с sugarORM

D/SQL Log: SQLiteQuery: SELECT * FROM PRODUCT_SUGAR_ORM W/System.err: java.lang.NoSuchMethodException: <init> []
 at java.lang.Class.getConstructor(Class.java:531)
 at java.lang.Class.getDeclaredConstructor(Class.java:510)
 at com.orm.SugarRecord.getEntitiesFromCursor(SugarRecord.java:212)
 at com.orm.SugarRecord.find(SugarRecord.java:204)
 at com.orm.SugarRecord.listAll(SugarRecord.java:127)

, и это мой код

data class ProductSugarORM(
        var base_price: Double,
        var category: Int,
        val created_on: String,
        var description: String,
        val id: Int,
        var name: String,
        var sell_price: Double,
        var stock: Int,
        val store: Int,
        val type: String,
        val updated_on: String
):SugarRecord(){
    fun ProductSugarORM(){}
}

Я хочу увидетьрезультат использования Log.w("load-local", "${SugarRecord.listAll(ProductSugarORM::class.java)}")

1 Ответ

0 голосов
/ 07 ноября 2019

Обратите внимание в документации , что ваши реализации нуждаются в пустом конструкторе. Вам нужно будет добавить пустой конструктор. Это означало бы добавление значений по умолчанию для всех этих параметров, что может не иметь смысла.

Я не уверен, что вы все равно можете избежать использования класса данных, потому что они неизменны, и кажется, что Sugar использует некоторыезакулисное отражение, которое может нуждаться в изменчивости (не знаю).

...