如何从数据库访问所有用户?

时间:2017-06-08 11:29:10

标签: java android google-maps firebase firebase-realtime-database

我使用firebase数据库来保存我的坐标。

这就是我的数据库的样子:firebase database

我正在通过令牌保存数据:

        String token = FirebaseInstanceId.getInstance().getToken();
        if (token == null) return;
        databaseReference = FirebaseDatabase.getInstance().getReference(token);`

所以我需要访问坐标并将标记添加到地图

我在onMapReady方法的valueEventListener中执行它:

    DatabaseReference ref = FirebaseDatabase.getInstance().getReference(FirebaseInstanceId.getInstance().getToken());
    ref.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            double allLat = (double) dataSnapshot.child("lat").getValue();
            double allLng = (double) dataSnapshot.child("lng").getValue();

            mMap.addMarker(new MarkerOptions().position(new LatLng(allLat, allLng)).title("Пользователь"));
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            Toast.makeText(MapsActivity.this, "Не найдены пользователи", Toast.LENGTH_SHORT).show();
        }
    });

但它只为我设置了标记,我如何从我的数据库中访问所有用户?

1 个答案:

答案 0 :(得分:2)

您必须在QList<T> myList; myList.reserve(vector.size()); for(size_t i = 0, l = vector.size(); i < l; ++i) myList << vector[i];

中循环浏览您的值
onDataChange()