【发布时间】:2021-07-14 14:54:02
【问题描述】:
我正在制作一个简单的 android firebase 博客应用
我想在我的实时数据库中创建一个新帖子,但数据库中只保存了两个属性
只有 title 和 body 属性被发送到我的实时数据库中,其余的都丢失了,我在 logcat 中没有看到任何错误
Post.java
public class Post {
SimpleDateFormat ISO_8601_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:sss'Z'");
private String title, body, uid, date;
private int vote;
Post() {
}
public Post(String title, String body, String uid) {
this.title = title;
this.body = body;
this.uid = uid;
date = ISO_8601_FORMAT.format(new Date());
vote = 0;
}
}
我想在我的 PostActivity 中调用 addPost 方法将数据发送到 firebase
PostActivity.java
private void addPost(String title, String body) {
FirebaseDatabase mFirebaseDatabase = FirebaseDatabase.getInstance();
FirebaseAuth mAuth = FirebaseAuth.getInstance();
Post post = new Post(title, body, mAuth.getCurrentUser().getUid());
mFirebaseDatabase.getReference("Posts").push().setValue(post)
.addOnCompleteListener(c -> {
if (c.isSuccessful()) {
Toast.makeText(getApplicationContext(), "Added", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "Something went wrong", Toast.LENGTH_SHORT).show();
}
}).addOnFailureListener(e -> Toast.makeText(this, "" + e.getMessage(), Toast.LENGTH_SHORT).show());
}
【问题讨论】:
-
您确定用户已登录吗?您可以尝试在调用数据库代码之前添加
Log.d("TAG", mAuth.getCurrentUser().getUid()) -
用户的 UID 是否也添加到 Firebase 中?请回复@AlexMamo
-
@Dharmaraj 是的,用户已登录,如果用户未登录,应用程序不允许用户访问 postActivity,即使我删除了 uid 属性仍然只发送两件事跨度>
-
您可以尝试记录新帖子吗?
-
您可以添加正在添加到数据库中的数据的屏幕截图吗?我很好奇缺少什么。
标签: java android firebase-realtime-database