Java 此代码中的child()错误中的参数“pathString”无法传递null

Java 此代码中的child()错误中的参数“pathString”无法传递null,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我最近将firebase数据库订单更改为Location,我知道我在那里或这里遗漏了一些内容,但我无法准确找到问题所在。有人能指出我做错了什么吗 这就是错误所在 2020-03-07 13:26:52.952 32564-32571/? E/zygote:向调试器发送答复失败:管道断开 2020-03-07 13:26:54.048 32564-32620/com.example.policyEmergencySystem E/EGLCodeCommon:glUtilsParamSize:unk

我最近将firebase数据库订单更改为Location,我知道我在那里或这里遗漏了一些内容,但我无法准确找到问题所在。有人能指出我做错了什么吗

这就是错误所在

2020-03-07 13:26:52.952 32564-32571/? E/zygote:向调试器发送答复失败:管道断开 2020-03-07 13:26:54.048 32564-32620/com.example.policyEmergencySystem E/EGLCodeCommon:glUtilsParamSize:unknow参数0x000082da 2020-03-07 13:26:54.048 32564-32620/com.example.policyEmergencySystem E/EGLCodeCommon:glUtilsParamSize:unknow参数0x000082da 2020-03-07 13:27:09.533 32564-32564/? E/AndroidRuntime:致命异常:主 进程:com.example.policyEmergencySystem,PID:32564 java.lang.RuntimeException:无法启动活动组件信息{com.example.policeemergencysystem/com.example.policeemergencysystem.AdminViewMapsActivity}:java.lang.NullPointerException:无法为子级中的参数“pathString”传递null 在android.app.ActivityThread.PerformLaunchActivityActivityRead.java:2817 位于android.app.ActivityThread.handleLaunchActivityActivityRead.java:2892 位于android.app.ActivityThread.-wrap11未知来源:0 在android.app.ActivityThread$H.handleMessageActivityThread.java:1593 位于android.os.Handler.dispatchMessageHandler.java:105 在android.os.Looper.Looper.java:164 在android.app.ActivityThread.mainActivityThread.java:6541 在java.lang.reflect.Method.Invokenactive方法中 在com.android.internal.os.Zygote$MethodAndArgsCaller.runZygote.java:240 位于com.android.internal.os.ZygoteInit.mainZygoteInit.java:767 原因:java.lang.NullPointerException:无法为子级中的参数“pathString”传递null 在com.google.firebase.database.DatabaseReference.childcom.google.firebase:firebase数据库@@19.2.1:96 位于com.example.policyEmergencySystem.AdminViewMapsActivity.onCreateAdminViewMapsActivity.java:38 在android.app.Activity.performCreateActivity.java:6975 在android.app.Instrumentation.callActivityOnCreateInstrumentation.java:1213 在android.app.ActivityThread.PerformLaunchActivityActivityRead.java:2770 位于android.app.ActivityThread.handleLaunchActivityActivityRead.java:2892 位于android.app.ActivityThread.-wrap11未知来源:0 在android.app.ActivityThread$H.handleMessageActivityThread.java:1593 位于android.os.Handler.dispatchMessageHandler.java:105 在android.os.Looper.Looper.java:164 在android.app.ActivityThread.mainActivityThread.java:6541 在java.lang.reflect.Method.Invokenactive方法中 在com.android.internal.os.Zygote$MethodAndArgsCaller.runZygote.java:240 位于com.android.internal.os.ZygoteInit.mainZygoteInit.java:767 这是代码

package com.example.policeemergencysystem;

import android.os.Bundle;

import androidx.fragment.app.FragmentActivity;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.CameraPosition;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;

public class AdminViewMapsActivity extends FragmentActivity implements OnMapReadyCallback {

    private GoogleMap mMap;
    DatabaseReference mMaps;
    private String userID = "";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_admin_view_maps);
        userID = getIntent().getStringExtra("uid");


        // Obtain the SupportMapFragment and get notified when the map is ready to be used.
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);

        mMaps = FirebaseDatabase.getInstance().getReference().child("Location").child(userID);
    }


    @Override
    public void onMapReady(GoogleMap googleMap) {
        mMap = googleMap;

        mMaps.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {

                double latitude = dataSnapshot.child("latitude").getValue(Double.class);
                double longitude = dataSnapshot.child("longitude").getValue(Double.class);
                LatLng latLng = new LatLng(latitude, longitude);
                mMap.addMarker(new MarkerOptions().position(latLng).title("Location"));
                CameraPosition cameraPosition = new CameraPosition.Builder()
                        .target(latLng)
                        .zoom(12).build();
                //Zoom in and animate the camera.
                mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));

            }
            @Override
            public void onCancelled(DatabaseError databaseError) {
            }
        });
    }
}
这就是我的firebase数据库的外观


您的数据库显示没有uid,只有硬编码的管理员名称

mMaps = FirebaseDatabase.getInstance().getReference().child("Location").child("admin");

使用以上数据库参考。

有许多用户。在所有用户获得登录后,他们会标记自己的位置,然后进入firebase数据库。而且,有这么多管理员,管理员必须能够看到用户的位置。如果我运行您在上面发布的代码,会发生这种情况吗???您添加的数据库我发布了该问题的答案