我将数据存储在Android应用程序的Firebase数据库中。但是,我不确定如何检查我的数据是否保存在数据库中并显示适当的消息。到目前为止,我尝试检查通过push创建的唯一ID,看看它是否为null。但这对我没有用。还有其他建议吗?
private void createData(String name){
SnapShotModel ssm = new SnapShotModel(name);
myRef.push().setValue(ssm);
AlertDialog.Builder builder;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
builder = new AlertDialog.Builder(this, android.R.style.Theme_Material_Dialog_Alert);
} else {
builder = new AlertDialog.Builder(this);
}
builder.setTitle("ERROR!")
.setMessage("Error in saving data. Please try again.")
.setNegativeButton(android.R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
})
.setIcon(android.R.drawable.ic_dialog_alert)
.show();
}
答案 0 :(得分:0)
FirebaseDatabase db;
onCreate
db = FirebaseDatabase.getInstance();
DatabaseReference readDb = db.getReference("Your Channel Name");
readDb.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
String value = dataSnapshot.getValue().toString();
Toast.makeText(context, value, Toast.LENGTH_SHORT).show();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
在应用程序中以这种方式阅读时,您已连接到数据库。
DatabaseReference writeDb = db.getReference("Your Channel Name");
writeDb.setValue("Value");
这样您就可以写
注意:google-services.json不要忘记添加。
和build.grandle
implementation 'com.google.firebase:firebase-database:16.0.3'
答案 1 :(得分:0)
如果您想知道何时提交数据,可以添加完成监听器。选中documentation
ref.setValue("I'm writing data", new Firebase.CompletionListener() {
@Override
public void onComplete(FirebaseError firebaseError, Firebase firebase) {
if (firebaseError == null) {
Show dialog
}
}
});
答案 2 :(得分:0)
如何确保我的数据保存在Firebase上?
您可以确定是否在调用setValue()
这样的方法后添加完整的侦听器:
myRef.push().setValue(ssm).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Log.d(TAG, "Object successfully added");
} else {
Log.d(TAG, "Error: " + task.getException().getMessage());
}
}
});