【发布时间】:2020-05-16 12:26:05
【问题描述】:
Button getBtn, sendBtn;
EditText edtTxt, getTxt;
FirebaseDatabase DB = FirebaseDatabase.getInstance();
DatabaseReference hisRef = DB.getReference("history");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_corp_history);
getBtn = findViewById(R.id.getbtn);
sendBtn = findViewById(R.id.sendbtn);
edtTxt = findViewById(R.id.edttxt);
getTxt = findViewById(R.id.gettxt);
}
public void sendDataToDB(View view) {
String s = edtTxt.getText().toString();
hisRef.setValue(s);
}
public void getDataFromDB(View view) {
hisRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
String val = dataSnapshot.getValue(String.class);
getTxt.setText(val);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
我基本上是在尝试在我的 json 树上创建一个历史分支,并将其值分配给来自编辑文本字段的值。插入数据后,我可以在其他编辑文本字段中看到发送的数据,但是当我刷新应用程序 getBtn 不起作用时,它也不会出现在实时数据库中。如何使用 firebase 实时数据库解决此问题
我从工具部分添加了 Firebase,我不知道它是否会导致问题。
【问题讨论】:
-
Stack Overflow 是一个非常低效的交互式调试器,因此如果您可以自己尝试/检查更多的东西,它会有所帮助。例如:1)当您尝试写入数据库时是否有任何相关的日志消息写入? 2)如果你
hisRef.setValue(true);(或任何其他硬编码值)会发生什么?
标签: java android firebase firebase-realtime-database