получить все поля с указанным именем - PullRequest
0 голосов
/ 29 июня 2019

как мне получить все широты и долготы по всем ключам? см. Здесь Я пробовал это, но без работы:

                            myRef.addListenerForSingleValueEvent(new ValueEventListener() {
                                @Override
                                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                                    String text = dataSnapshot.child(key).child("latitude").getValue(String.class);
                                    System.out.println(text);

                                }

                                @Override
                                public void onCancelled(@NonNull DatabaseError databaseError) {

                                }
                            });

Я хочу напечатать:

40.7486720036497

-73.9856280013919

и т. Д. *

Ответы [ 2 ]

0 голосов
/ 30 июня 2019

Почему вы не используете подход класса моделей?Создайте свой собственный класс

public class ModelClass {
    private String latitude;
    private String longitude;

    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    public ModelClass(String latitude, String longitude) {
        this.latitude = latitude;
        this.longitude = longitude;
    }
}

Затем, вставляя данные, вставьте вот так.

ModelClass mc=new ModelClass("1.23","3.25");//You pass dynamic value here using variable
String key=mref.push().getKey();
myRef.child(key).setValue(mc);

Затем прочитайте значение следующим образом.

List<ModelClass> list=new ArrayList<>();
  myRef.addListenerForSingleValueEvent(new ValueEventListener() {
                                @Override
                                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                                    for(DataSnapShot ds:dataSnapShot){
                                  ModelClass mc=ds.getValue(ModelClass.class);
                                  list.add(mc);
                                  }
                                }

                                @Override
                                public void onCancelled(@NonNull DatabaseError databaseError) {

                                }
                            });

Затем выможет работать со списком данных.Для получения дополнительной информации см. Документы здесь .

0 голосов
/ 30 июня 2019

Используйте цикл, чтобы получить список значений широты и долготы от вашей пожарной базы, как это -

myRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override 
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
      for(DataSnapshot datas: dataSnapshot.getChildren()){
         String keys=datas.getKey(); 
         String latitudes=datas.child("latitude").getValue().toString();
         String location=datas.child("location").getValue().toString();
         String longitude=datas.child("longitude").getValue().toString();
      } 
    }
 });

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...