【发布时间】:2020-03-07 08:46:22
【问题描述】:
我最近将 firebase 数据库 Orders 更改为 Location,我知道我在那里或这里遗漏了一些东西,但我找不到确切的问题。谁能指出我在这里做错了什么?
这是错误
2020-03-07 13:26:52.952 32564-32571/? E/zygote:向调试器发送回复失败:管道损坏 2020-03-07 13:26:54.048 32564-32620/com.example.policeemergencysystem E/eglCodecCommon:glUtilsParamSize:未知参数 0x000082da 2020-03-07 13:26:54.048 32564-32620/com.example.policeemergencysystem E/eglCodecCommon:glUtilsParamSize:未知参数 0x000082da 2020-03-07 13:27:09.533 32564-32564/? E/AndroidRuntime: 致命异常: main 进程:com.example.policeemergencysystem,PID:32564 java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.policeemergencysystem/com.example.policeemergencysystem.AdminViewMapsActivity}:java.lang.NullPointerException:无法在 child() 中为参数“pathString”传递 null 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) 在 android.app.ActivityThread.-wrap11(未知来源:0) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) 在 android.os.Handler.dispatchMessage(Handler.java:105) 在 android.os.Looper.loop(Looper.java:164) 在 android.app.ActivityThread.main(ActivityThread.java:6541) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 引起:java.lang.NullPointerException:不能在 child() 中为参数 'pathString' 传递 null 在 com.google.firebase.database.DatabaseReference.child(com.google.firebase:firebase-database@@19.2.1:96) 在 com.example.policeemergencysystem.AdminViewMapsActivity.onCreate(AdminViewMapsActivity.java:38) 在 android.app.Activity.performCreate(Activity.java:6975) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) 在 android.app.ActivityThread.-wrap11(未知来源:0) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) 在 android.os.Handler.dispatchMessage(Handler.java:105) 在 android.os.Looper.loop(Looper.java:164) 在 android.app.ActivityThread.main(ActivityThread.java:6541) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.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 数据库的样子 1st one
【问题讨论】:
标签: java android firebase firebase-realtime-database