Đi qua Lab Mã cho căn cứ hỏa lực Android thân thiện trò chuyện - tại https://codelabs.developers.google.com/codelabs/firebase-android/ - Tôi chạy vào một vấn đề mà không ai trong số các callbacks đang được tiếp cận/kêu gọi bước 7: đọc tin nhắnCallback cho FirebaseRecyclerAdapter không chạy
đi qua các dự án android-start /, tôi có thể vượt qua được những bước đầu tiên 2-6:
- Tổng quan
- lấy mã mẫu
- nhập t ông khởi động ứng dụng
- Tạo căn cứ hỏa lực console Project
- Chạy ứng dụng khởi động
- Bật xác thực (ứng dụng android thêm với tên gói và SHA1 qua giao diện điều khiển dự án, vv)
Tuy nhiên, khi tôi đi để thực hiện bước 7 - không có cuộc gọi lại nào được gọi. Tôi chạy ứng dụng và các bước đăng nhập/đăng xuất đang hoạt động.
Tôi đã nhập initial_messages.json
theo hướng dẫn tại đó và được sao chép qua mã chính xác cho bước 7 (một số nỗ lực để đảm bảo có thể tôi không bỏ lỡ điều gì đó trên đường đi) .. và sau đó thậm chí đã thử dự án đã hoàn thành/android. Ngoài ra, cùng một vấn đề mà callbacks không bao giờ chạy và vì vậy spinner chỉ treo ở đó.
Vì có quá nhiều mã, tôi sẽ đăng các phần mà tôi mong đợi một số cuộc gọi lại để chạy. Bất cứ ai có thể xin tư vấn về những gì tôi có thể bị thiếu ở đây? Và không có vấn đề - nếu nó sẽ giúp thêm nhiều mã tôi có. Cảm ơn bạn đã đọc
// mProgressBar.setVisibility(ProgressBar.INVISIBLE);
// New child entries
mFirebaseDatabaseReference = FirebaseDatabase.getInstance().getReference();
SnapshotParser<FriendlyMessage> parser = new SnapshotParser<FriendlyMessage>() {
@Override
public FriendlyMessage parseSnapshot(DataSnapshot dataSnapshot) {
...
}
};
...
DatabaseReference messagesRef = mFirebaseDatabaseReference.child(MESSAGES_CHILD);
...
FirebaseRecyclerOptions<FriendlyMessage> options =
new FirebaseRecyclerOptions.Builder<FriendlyMessage>()
.setQuery(messagesRef, parser)
.build();
mFirebaseAdapter = new FirebaseRecyclerAdapter<FriendlyMessage, MessageViewHolder>(options) {
@Override
public MessageViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
...
}
@Override
protected void onBindViewHolder(final MessageViewHolder viewHolder,
int position,
FriendlyMessage friendlyMessage) {
....
}
};
mFirebaseAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
@Override
public void onItemRangeInserted(int positionStart, int itemCount) {
...
}
});
mMessageRecyclerView.setAdapter(mFirebaseAdapter);
Tôi không biết tôi nên kiểm tra với bất kỳ hướng dẫn nâng cấp .. con trỏ tốt ở đó, như tôi đã không nhìn thấy nó được đề cập trong Lab Lab .. hmm? Tất cả mã Code Lab .. nếu không thì chỉ đơn giản là 1 dòng này thiếu 'mFirebaseAdapter.startListening();' và không có mã nào trong số đó hoạt động. Tôi đã không chắc chắn nếu tôi thậm chí nên đăng bài này, nghĩ rằng tôi phải đã bỏ lỡ một cái gì đó hiển nhiên. Tôi biết chúng ta phải tránh cảm ơn bạn - nhưng trong trường hợp này, bạn thực sự đã bắt gặp một vấn đề quan trọng mà tôi nghĩ; như tôi đoán nhiều người sử dụng các Lab Mã đó ..đã lưu ngày của tôi cho chắc chắn (Cảm ơn) – gnB
Vui vì tôi có thể giúp! Tôi biết ý anh là gì, nó đã bắt tôi vào đầu tuần này và tôi không thể tin rằng đây là cách chữa trị! Điều này đặc biệt kỳ lạ mặc dù vì tôi không thể nhớ phòng thí nghiệm mã thậm chí còn đề cập rằng nó sử dụng FirebaseUI. Tương tự như vậy, gần đây họ [cập nhật các phụ thuộc của mã mẫu] (https://github.com/firebase/friendlychat-android/commit/a88cd214e5528e17fd3c234d83589d85872650e2) nhưng không thêm cuộc gọi phương thức rất quan trọng đó! Tôi đoán đó là những gì xảy ra khi các thư viện thực hiện các thay đổi đột phá. – Grimthorr