【发布时间】:2019-07-11 15:41:23
【问题描述】:
我想问一下如何从firebase中检索数据以获取特定数据。 我的 firebase 数据库看起来像这样。。 我想检索圈子中的数据。
我尝试的是使用 datasnapshot 和 value eventlistener 从 firebase 调用数据。
private void getMarkerFromDb()
{
String userId = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference dataMarker = FirebaseDatabase.getInstance().getReference();
if (getIntent()!=null) {
lrpTest = (LRP_model) getIntent().getSerializableExtra("lrp");
DatabaseReference routeRef = dataMarker.child("LRP")
.child(userId)
.child("route_models");
routeRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (int counter =0; counter<dataSnapshot.getChildrenCount();counter++) {
for (DataSnapshot ss : dataSnapshot.child("route_models").getChildren()) {
double latitude = ss.child("rtLat").getValue(Double.class);
double longitude = ss.child("rtLng").getValue(Double.class);
LatLng loc = new LatLng(latitude, longitude);
mMap.addMarker(new MarkerOptions().position(loc).title("test")).setIcon(BitmapDescriptorFactory.fromResource(R.drawable.ic_action_pole));
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
输出没有显示任何内容。
【问题讨论】:
-
请上传数据库图片
-
添加了firebase的图片
-
使用 Double.parseDouble(strvalue) 获取双精度值
-
我该如何使用它,因为在此之前仍然有错误
-
无法将 java.lang.String 类型的值转换为 double。就是这么说的。
标签: java android firebase firebase-realtime-database