Java 如何主动将数据从firebase获取到android

Java 如何主动将数据从firebase获取到android,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我不想在更改时自动从firebase接收数据,但只在按下按钮时接收数据。关于如何修改下面的代码有什么想法吗 @覆盖 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); name=(EditText)findViewById(R.id.editTextPersonName); butt=(按钮)findViewById(

我不想在更改时自动从firebase接收数据,但只在按下按钮时接收数据。关于如何修改下面的代码有什么想法吗

@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
name=(EditText)findViewById(R.id.editTextPersonName);
butt=(按钮)findViewById(R.id.Button);
越南=(TextView)findViewById(R.id.TextView_Vieta);
butt.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
String var=name.getText().toString();
getdataUser();
}
});
}
私有void getdataUser(){
data_user1.child(var).addValueEventListener(新的ValueEventListener(){
@凌驾
public void onDataChange(@NonNull DataSnapshot data){
字符串yy=data.getValue().toString();
越南.setText(yy)
}
@凌驾
已取消公共void(@NonNull DatabaseError){
}
});
}

任何想法都很感激

如果您希望一次性读取数据并完成此操作,则不应使用
addValueEventListener()
。而是使用中所述的addListenerForSingleValueEvent()。您仍然需要在回调中异步处理结果,但在查询位置的数据快照中只调用一次

如果您试图同步查询数据库以立即返回数据,则没有用于此目的的API—您必须通过回调异步处理数据