java为什么Firebase实时数据库未更新?
我已经创建了一个列表。当我尝试更新这些值时,这些值在Edittext中被正确捕获。但是,当我在更正后单击“更新”按钮时,它不起作用并强制关闭应用程序
我的更新代码如下
public class UpdateActivity extends AppCompatActivity {
private EditText PName, PLocation;
private FirebaseDatabase mDatabase;
private DatabaseReference mDbRef;
private Button upbtn;
private String prID;
private String pname,plocation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_update);
prID = getIntent().getStringExtra("ProjID");
pname = getIntent().getStringExtra("pname");
plocation = getIntent().getStringExtra("plocation");
PName = findViewById(R.id.uProjName);
PName.setText(pname);
PLocation = findViewById(R.id.uProjLocation);
PLocation.setText(plocation);
PType = findViewById(R.id.uProjType);
upbtn = findViewById(R.id.ubutton);
mDbRef = mDatabase.getInstance().getReference().child("Projects");
upbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatabaseReference updateProject = mDbRef.child(prID);
updateProject.child("pname").setValue(PName);
updateProject.child("plocation").setValue(PLocation);
Toast.makeText(UpdateActivity.this, "Project updated Successfully",Toast.LENGTH_LONG).show();
finish();
}
});
}
}
我是一个学习者。请帮助我我的代码哪里出错了
# 1 楼答案
看看这个例子。该过程是异步的,因此您必须添加侦听器来确定数据库是否已更新
除此之外,首先,确保在清单中添加了Internet权限。xml 然后在Firebase控制台中检查实时数据库并检查安全规则
更新实时数据库https://firebase.google.com/docs/database/android/read-and-write#updating_or_deleting_data