【发布时间】:2016-10-15 04:12:51
【问题描述】:
我使用代码推送到 Firebase:
mDatabaseReference.child(Constant.CHILD_CHATONETOONE + "/" + hostUid + "/" + clientUid).push().setValue(new Message("Hi guy"), new DatabaseReference.CompletionListener() {
@Override
public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
if(databaseError!= null)
Toast.makeText(MainActivity.this, databaseError.getMessage(), Toast.LENGTH_LONG).show();
}
});
但是当我使用此代码时,我的应用程序停止工作。似乎 Firebase 不接受我在数据库中建立新分支的方式。这是logcat:
10-15 11:46:16.720 3590-3590/com.team2_dtui.heyfriend_v2 E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.team2_dtui.heyfriend_v2/com.team2_dtui.heyfriend_v2.activity.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.team2_dtui.heyfriend_v2.activity.MainActivity.onCreate(MainActivity.java:43)
at android.app.Activity.performCreate(Activity.java:5008)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
logcat 内部:com.team2_dtui.heyfriend_v2.activity.MainActivity.onCreate(MainActivity.java:43 是我上面给出的代码。
当我将此代码更改为一个孩子时,它工作正常:
mDatabaseReference.child(Constant.CHILD_CHATONETOONE).push().setValue(new Message("Hi guy"), new DatabaseReference.CompletionListener() {
@Override
public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
if(databaseError!= null)
Toast.makeText(MainActivity.this, databaseError.getMessage(), Toast.LENGTH_LONG).show();
}
});
我可以找出问题所在。如何在第一时间创建这个分支?帮我。我是 Firebase 新手。
【问题讨论】:
-
应用停止是否有logcat?
-
我已经更新了我的问题中的 logcat。 logcat 提示这段代码有问题。
-
您可以使用 Firebase 控制台并将其导入为 json 文件,如果它只是一次。
-
@MohsenMirhoseiniArgi 因此,如果目前我没有要添加的数据,那么我必须导入示例数据吗?是这样吗,兄弟?
-
可以在运行时创建分支。
标签: android firebase nullpointerexception firebase-realtime-database