从firebase获取数据并放入字符串中

问题描述 投票:0回答:2

我需要从firebase获取信息并将其存储在字符串中。

我如何用Java做到这一点?

我想得到:

48.82873022.3649081

发件人

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS92ZjBaZi5wbmcifQ==” alt =“在此处输入图像描述”>

java firebase firebase-realtime-database
2个回答
1
投票

您是否看过Firebase文档?很清楚here

您首先需要做几件事:

  1. Ensure your project is set up in the Firebase dashboard
  2. 您需要使用Gradle之类的东西将Firebase整合到您的项目中。

现在是实际代码,您需要在数据库引用中获取有关数据存储位置的引用。一旦有了它,就必须在数据库中提供字符串的路径。这是一个例子

private void getData(){
    DatabaseReference db = mDatabase.getChild("customer-requests").getChild("M7-J...").getChild("I");
    db.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            List<String> strs = new ArrayList<>();
            for(DataSnapshot snapshot : dataSnapshot.getChildren()){
                strs.add(snapshot.getValue());
            }
        }

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

请确保将上面的getChild()调用更改为实际名称。


0
投票

调用此方法以读取所需的值,我假设这些值是double

private void readValues(){


//the reference
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("customer_requests");

//listener
ValueEventListener listener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {

for(DataSnapshot ds : dataSnapshot.getChildren()){

//I assume the values are doubles in the database (if floats use Float.class)

//get the values
double value0_float = ds.child("I").child("0").getValue(Double.class);
double value1_float = ds.child("I").child("1").getValue(Double.class);

//convert to strings
String value0 = String.valueOf(value0_float);
String value1 = String.valueOf(value1_float);




}

}

@Override
public void onCancelled(DatabaseError databaseError) {

}
};

//attach the listener
ref.addValueEventListener(listener);




}
© www.soinside.com 2019 - 2024. All rights reserved.