【发布时间】:2018-08-13 07:30:10
【问题描述】:
我有一个扩展 SugarRecord 的类,这里是:
class Advertiser : SugarRecord<Advertiser> {
var number: String? = null
var name: String? = null
constructor() {}
constructor(number: String, name: String) {
this.number = number
this.name = name
}
}
我在清单中有糖元数据:
<meta-data android:name="DATABASE" android:value="sugar_example.db" />
<meta-data android:name="VERSION" android:value="2" />
<meta-data android:name="QUERY_LOG" android:value="true" />
<meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="com.example" />
我正在尝试创建Advertiser 的新实例并将其保存在MainActivity.kt 中:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val advertiser = Advertiser("123123", "test advertiser")
advertiser.save()
}
}
但我遇到了异常,这里是堆栈跟踪:
致命异常:主要 进程:ge.ketili.team.blocksms,PID:22305 java.lang.RuntimeException:无法启动活动 组件信息{ge.ketili.team.blocksms/ge.ketili.team.blocksms.MainActivity}: java.lang.NullPointerException:尝试调用虚拟方法 空对象上的“com.orm.Database com.orm.SugarApp.getDatabase()” 参考 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2706) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2767) 在 android.app.ActivityThread.-wrap12(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1514) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:163) 在 android.app.ActivityThread.main(ActivityThread.java:6205) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794) 引起:java.lang.NullPointerException:尝试调用虚拟 方法 'com.orm.Database com.orm.SugarApp.getDatabase()' 为空 对象引用 在 com.orm.SugarRecord.save(SugarRecord.java:45) 在 ge.ketili.team.blocksms.MainActivity.onCreate(MainActivity.kt:15) 在 android.app.Activity.performCreate(Activity.java:6864) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2659)
【问题讨论】:
-
完整堆栈跟踪?
-
只是异常的确切原因
-
这是您从 Logcat 获得的完整堆栈跟踪吗?
-
noo,它只是完整堆栈跟踪的 sn-p
-
请发布完整的堆栈跟踪