Firebase addOnCuccessListener{} 导致 nullPointerException
Firebase addOnCuccessListener{} causes nullPointerException
我正在使用以下代码更新实时数据库中的值:-
val databaseRef = FirebaseDatabase.getInstance().getReference("Services")
val service = mapOf<String, String>(
"cost" to serviceCost,
"name" to serviceName
)
databaseRef.child(name!!).updateChildren(service)
.addOnSuccessListener {
Toast.makeText(this, "Service Updated", Toast.LENGTH_LONG).show()
startActivity(Intent(this, MainActivity::class.java))
}.addOnFailureListener {
Toast.makeText(this, "Connection Problem", Toast.LENGTH_LONG).show()
}
数据库正在完全按照我的需要进行更新,但应用程序崩溃并显示以下错误消息:-
msg: java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter it
stacktrace: java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter it
at com.example.prototypeadmin.UpdateServiceActivity.onCreate$lambda-2$lambda-0(Unknown Source:7)
at com.example.prototypeadmin.UpdateServiceActivity.$r8$lambda$OCfvRKDg4t88LbX2Kozztfb3Rnw(Unknown Source:0)
at com.example.prototypeadmin.UpdateServiceActivity$$ExternalSyntheticLambda2.onSuccess(Unknown Source:4)
at com.google.android.gms.tasks.zzm.run(com.google.android.gms:play-services-tasks@@18.0.0:1)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7665)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:594)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
没有 .addOnSuccessLister{},应用程序不会崩溃,但我只需要在成功时执行 Intent 和 Toast。
我是 Firebase 实时数据库的新手。请解释我该怎么做。
提前致谢!,如有需要请询问任何额外信息。
我在我的应用 build.gradle 文件中更新了 firebase-analytics,我不再收到此错误。
implementation 'com.google.firebase:firebase-analytics-ktx:20.0.2'
我正在使用以下代码更新实时数据库中的值:-
val databaseRef = FirebaseDatabase.getInstance().getReference("Services")
val service = mapOf<String, String>(
"cost" to serviceCost,
"name" to serviceName
)
databaseRef.child(name!!).updateChildren(service)
.addOnSuccessListener {
Toast.makeText(this, "Service Updated", Toast.LENGTH_LONG).show()
startActivity(Intent(this, MainActivity::class.java))
}.addOnFailureListener {
Toast.makeText(this, "Connection Problem", Toast.LENGTH_LONG).show()
}
数据库正在完全按照我的需要进行更新,但应用程序崩溃并显示以下错误消息:-
msg: java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter it
stacktrace: java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter it
at com.example.prototypeadmin.UpdateServiceActivity.onCreate$lambda-2$lambda-0(Unknown Source:7)
at com.example.prototypeadmin.UpdateServiceActivity.$r8$lambda$OCfvRKDg4t88LbX2Kozztfb3Rnw(Unknown Source:0)
at com.example.prototypeadmin.UpdateServiceActivity$$ExternalSyntheticLambda2.onSuccess(Unknown Source:4)
at com.google.android.gms.tasks.zzm.run(com.google.android.gms:play-services-tasks@@18.0.0:1)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7665)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:594)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
没有 .addOnSuccessLister{},应用程序不会崩溃,但我只需要在成功时执行 Intent 和 Toast。 我是 Firebase 实时数据库的新手。请解释我该怎么做。
提前致谢!,如有需要请询问任何额外信息。
我在我的应用 build.gradle 文件中更新了 firebase-analytics,我不再收到此错误。
implementation 'com.google.firebase:firebase-analytics-ktx:20.0.2'