java.lang.IllegalArgumentException: Can't find a no-arg constructor for class com.xiayiye.takeout.mo
生活随笔
收集整理的這篇文章主要介紹了
java.lang.IllegalArgumentException: Can't find a no-arg constructor for class com.xiayiye.takeout.mo
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
直接上錯誤日志:
2020-03-11 18:20:16.647 15661-15661/com.xiayiye.takeout W/System.err: java.lang.IllegalArgumentException: Can't find a no-arg constructor for class com.xiayiye.takeout.model.beans.Data 2020-03-11 18:20:16.648 15661-15661/com.xiayiye.takeout W/System.err: at com.j256.ormlite.table.DatabaseTableConfig.findNoArgConstructor(DatabaseTableConfig.java:210) 2020-03-11 18:20:16.648 15661-15661/com.xiayiye.takeout W/System.err: at com.j256.ormlite.table.DatabaseTableConfig.getConstructor(DatabaseTableConfig.java:141) 2020-03-11 18:20:16.648 15661-15661/com.xiayiye.takeout W/System.err: at com.j256.ormlite.table.TableInfo.<init>(TableInfo.java:94) 2020-03-11 18:20:16.648 15661-15661/com.xiayiye.takeout W/System.err: at com.j256.ormlite.dao.BaseDaoImpl.initialize(BaseDaoImpl.java:158) 2020-03-11 18:20:16.648 15661-15661/com.xiayiye.takeout W/System.err: at com.j256.ormlite.dao.BaseDaoImpl.<init>(BaseDaoImpl.java:132) 2020-03-11 18:20:16.648 15661-15661/com.xiayiye.takeout W/System.err: at com.j256.ormlite.dao.BaseDaoImpl.<init>(BaseDaoImpl.java:123) 2020-03-11 18:20:16.648 15661-15661/com.xiayiye.takeout W/System.err: at com.j256.ormlite.dao.BaseDaoImpl$6.<init>(BaseDaoImpl.java:1055) 2020-03-11 18:20:16.648 15661-15661/com.xiayiye.takeout W/System.err: at com.j256.ormlite.dao.BaseDaoImpl.createDao(BaseDaoImpl.java:1055) 2020-03-11 18:20:16.648 15661-15661/com.xiayiye.takeout W/System.err: at com.j256.ormlite.dao.DaoManager.createDao(DaoManager.java:72) 2020-03-11 18:20:16.648 15661-15661/com.xiayiye.takeout W/System.err: at com.j256.ormlite.table.TableUtils.createTable(TableUtils.java:54) 2020-03-11 18:20:16.648 15661-15661/com.xiayiye.takeout W/System.err: at com.xiayiye.takeout.model.dao.TakeOutOpenHelper.onCreate(TakeOutOpenHelper.kt:56) 2020-03-11 18:20:16.648 15661-15661/com.xiayiye.takeout W/System.err: at com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper.onCreate(OrmLiteSqliteOpenHelper.java:207) 2020-03-11 18:20:16.649 15661-15661/com.xiayiye.takeout W/System.err: at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:251) 2020-03-11 18:20:16.649 15661-15661/com.xiayiye.takeout W/System.err: at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163) 2020-03-11 18:20:16.649 15661-15661/com.xiayiye.takeout W/System.err: at com.j256.ormlite.android.AndroidConnectionSource.getReadWriteConnection(AndroidConnectionSource.java:68) 2020-03-11 18:20:16.649 15661-15661/com.xiayiye.takeout W/System.err: at com.j256.ormlite.dao.BaseDaoImpl.create(BaseDaoImpl.java:326) 2020-03-11 18:20:16.649 15661-15661/com.xiayiye.takeout W/System.err: at com.xiayiye.takeout.model.dao.AddressDao.addReceiptAddressBean(AddressDao.kt:59) 2020-03-11 18:20:16.649 15661-15661/com.xiayiye.takeout W/System.err: at com.xiayiye.takeout.ui.activity.AddReceiptAddressActivity.addAddress(AddReceiptAddressActivity.kt:133) 2020-03-11 18:20:16.649 15661-15661/com.xiayiye.takeout W/System.err: at com.xiayiye.takeout.ui.activity.AddReceiptAddressActivity.clickOk(AddReceiptAddressActivity.kt:119) 2020-03-11 18:20:16.649 15661-15661/com.xiayiye.takeout W/System.err: at com.xiayiye.takeout.ui.activity.AddReceiptAddressActivity.access$clickOk(AddReceiptAddressActivity.kt:55) 2020-03-11 18:20:16.649 15661-15661/com.xiayiye.takeout W/System.err: at com.xiayiye.takeout.ui.activity.AddReceiptAddressActivity$initListener$6.onClick(AddReceiptAddressActivity.kt:78) 2020-03-11 18:20:16.649 15661-15661/com.xiayiye.takeout W/System.err: at android.view.View.performClick(View.java:5644) 2020-03-11 18:20:16.649 15661-15661/com.xiayiye.takeout W/System.err: at android.view.View$PerformClick.run(View.java:22440) 2020-03-11 18:20:16.649 15661-15661/com.xiayiye.takeout W/System.err: at android.os.Handler.handleCallback(Handler.java:751) 2020-03-11 18:20:16.649 15661-15661/com.xiayiye.takeout W/System.err: at android.os.Handler.dispatchMessage(Handler.java:95) 2020-03-11 18:20:16.649 15661-15661/com.xiayiye.takeout W/System.err: at android.os.Looper.loop(Looper.java:154) 2020-03-11 18:20:16.649 15661-15661/com.xiayiye.takeout W/System.err: at android.app.ActivityThread.main(ActivityThread.java:6166) 2020-03-11 18:20:16.649 15661-15661/com.xiayiye.takeout W/System.err: at java.lang.reflect.Method.invoke(Native Method) 2020-03-11 18:20:16.649 15661-15661/com.xiayiye.takeout W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)使用ormLite數據庫報錯,提示找不到無參構造
解決方法非常簡單:
報錯的bean
package com.xiayiye.takeout.model.beansimport com.j256.ormlite.field.DatabaseField import com.j256.ormlite.table.DatabaseTable import java.io.Serializable@DatabaseTable(tableName = "t_user") class Data : Serializable {@DatabaseField(columnName = "balance")var balance: Double = 0.0@DatabaseField(columnName = "discount")var discount: Int = 0@DatabaseField(id = true)var id: Int = 0@DatabaseField(columnName = "integral")var integral: Int = 0@DatabaseField(columnName = "name")var name: String = ""@DatabaseField(columnName = "phone")var phone: String = ""constructor(balance: Double,discount: Int,id: Int,integral: Int,name: String,phone: String){this.balance = balancethis.discount = discountthis.id = idthis.integral = integralthis.name = namethis.phone = phone} }更正后的bean
package com.xiayiye.takeout.model.beansimport com.j256.ormlite.field.DatabaseField import com.j256.ormlite.table.DatabaseTable import java.io.Serializable@DatabaseTable(tableName = "t_user") class Data() : Serializable {@DatabaseField(columnName = "balance")var balance: Double = 0.0@DatabaseField(columnName = "discount")var discount: Int = 0@DatabaseField(id = true)var id: Int = 0@DatabaseField(columnName = "integral")var integral: Int = 0@DatabaseField(columnName = "name")var name: String = ""@DatabaseField(columnName = "phone")var phone: String = ""constructor(balance: Double,discount: Int,id: Int,integral: Int,name: String,phone: String) : this() {this.balance = balancethis.discount = discountthis.id = idthis.integral = integralthis.name = namethis.phone = phone} }只需要再class上面加個"()"無參構造,然后讓實現的構造方法繼承this()即可
修改后看下成功的log
2020-03-11 18:29:01.814 16519-16519/com.xiayiye.takeout I/TableUtils: creating table 't_address' 2020-03-11 18:29:01.819 16519-16519/com.xiayiye.takeout I/TableUtils: executed create table statement changed 0 rows: CREATE TABLE `t_address` (`address` VARCHAR , `detailAddress` VARCHAR , `id` INTEGER PRIMARY KEY AUTOINCREMENT , `label` VARCHAR , `phone` VARCHAR , `phoneOther` VARCHAR , `sex` VARCHAR , `userId` VARCHAR , `userName` VARCHAR ) 2020-03-11 18:29:01.829 16519-16519/com.xiayiye.takeout I/TableUtils: creating table 't_user' 2020-03-11 18:29:01.831 16519-16519/com.xiayiye.takeout I/TableUtils: executed create table statement changed 0 rows: CREATE TABLE `t_user` (`balance` DOUBLE PRECISION , `discount` INTEGER , `id` INTEGER , `integral` INTEGER , `name` VARCHAR , `phone` VARCHAR , PRIMARY KEY (`id`) ) 2020-03-11 18:29:01.861 16519-16519/com.xiayiye.takeout D/InputTransport: tzyl sample state about factory normal 2020-03-11 18:30:04.404 16519-16519/com.xiayiye.takeout W/IInputConnectionWrapper: finishComposingText on inactive InputConnection 2020-03-11 18:30:04.708 16519-16519/com.xiayiye.takeout D/JIGUANG-JCore: [JCoreHelper] runActionWithService action:change_foreground 2020-03-11 18:30:51.296 16519-16524/com.xiayiye.takeout I/art: Do full code cache collection, code=121KB, data=123KB 2020-03-11 18:30:51.296 16519-16524/com.xiayiye.takeout I/art: Starting a blocking GC JitCodeCache 2020-03-11 18:30:51.297 16519-16524/com.xiayiye.takeout I/art: After code cache collection, code=102KB, data=84KB 2020-03-11 19:00:45.433 16519-16524/com.xiayiye.takeout I/art: Do partial code cache collection, code=122KB, data=104KB 2020-03-11 19:00:45.434 16519-16524/com.xiayiye.takeout I/art: After code cache collection, code=122KB, data=104KB 2020-03-11 19:00:45.434 16519-16524/com.xiayiye.takeout I/art: Increasing code cache capacity to 512KB總結
以上是生活随笔為你收集整理的java.lang.IllegalArgumentException: Can't find a no-arg constructor for class com.xiayiye.takeout.mo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 批量自动取消抖音所有关注 利用JS代码解
- 下一篇: Ubuntu和RedHat的区别