android - 我无法从 firebase firestore 获取帖子?
问题描述
我对 firebase 很陌生,我试图获取一些发布在 firebase firestore 数据库中的内容。我已经实现了代码,但它无法获取帖子,只能刷新。它向我显示一个白屏始终不是任何类型的帖子。如果有人查看代码并建议我从 firebase firestore 数据库中获取内容的最佳实践,那将会很有帮助。
getpost() 的代码
public void getAllPosts() {
refreshLayout.setRefreshing(true);
mFirestore.collection("Posts")
.orderBy("timestamp", Query.Direction.DESCENDING)
.get()
.addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
if (!queryDocumentSnapshots.isEmpty()) {
for (final DocumentChange doc : queryDocumentSnapshots.getDocumentChanges()) {
if (doc.getType() == DocumentChange.Type.ADDED) {
mFirestore.collection("Users")
.document(currentUser.getUid())
.collection("Friends")
.get()
.addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot querySnapshot) {
if (!querySnapshot.isEmpty()) {
for (DocumentChange documentChange : querySnapshot.getDocumentChanges()) {
if (documentChange.getDocument().getId().equals(doc.getDocument().get("userId"))) {
Post post = doc.getDocument().toObject(Post.class).withId(doc.getDocument().getId());
mPostsList.add(post);
refreshLayout.setRefreshing(false);
mAdapter_v19.notifyDataSetChanged();
}
}
if (mPostsList.isEmpty()) {
refreshLayout.setRefreshing(false);
}
} else {
refreshLayout.setRefreshing(false);
}
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
refreshLayout.setRefreshing(false);
mPostsRecyclerView.invokeState(EmptyStateRecyclerView.STATE_ERROR);
Log.w("Error", "listen:error", e);
}
});
}
}
}else{
refreshLayout.setRefreshing(false);
}
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
refreshLayout.setRefreshing(false);
mPostsRecyclerView.invokeState(EmptyStateRecyclerView.STATE_ERROR);
Log.w("Error", "listen:error", e);
}
});
}
解决方案
推荐阅读
- c# - WebSocketOptions 忽略接收缓冲区大小
- javascript - 值是连接而不是相加的
- node.js - 如何避免错误:发送后无法设置标头?
- python - 用布尔值旋转的熊猫
- kubernetes - Docker for Mac - Kubernetes - 参考本地镜像
- jasmine - 如何使用量角器打印元素列表以进行控制台
- apostrophe-cms - Ajax 调用更改浏览器 url
- javascript - 如何使用JavascriptInterface将Android的Alert返回值返回给WebView?
- javascript - 具有 D3 (v4) 直方图函数的肥尾意味着空箱
- javascript - 更改表单操作位置