java如何主动将数据从firebase获取到安卓
我不想在更改时自动从firebase接收数据,但只在按下按钮时接收数据。关于如何修改下面的代码有什么想法吗
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
name = (EditText) findViewById(R.id.editTextTextPersonName);
butt = (Button) findViewById(R.id.button);
viet = (TextView) findViewById(R.id.textView_viet);
butt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String var = name.getText().toString();
getdataUser();
}
});
}
private void getdataUser(){
data_user1.child(var).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot data) {
String yy = data.getValue().toString();
viet.setText(yy)
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
任何想法都很感激
# 1 楼答案
如果您想一次性读取数据并完成此操作,则不应使用
addValueEventListener()
。而是使用documentation中描述的addListenerForSingleValueEvent()
。您仍然需要在回调中异步处理结果,但在查询位置的数据快照中只调用一次如果您试图同步查询数据库以立即返回数据,则没有用于此目的的API—您必须通过回调异步处理数据