codelab-friendlychat-android
codelab-friendlychat-android copied to clipboard
Codelab Step 7 - Messages never load
After completing Step 7 and updating the database in the Firebase console, the loading spinner is never hidden and the messages never load. The same happens with the completed sample app friendlychat-android/android/
.
@kvizcarra do you see any errors in the logs at all? What security rules do you have set on your database?
When running the complete app, I don't get any errors but I get this for logcat filter Warn
:
01-24 20:21:39.432 1004-1004/? W/zygote64: Unsupported class loader
01-24 20:21:39.434 1004-1004/? W/zygote64: Skipping duplicate class check due to unsupported classloader
01-24 20:21:39.439 1004-1004/? W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
01-24 20:21:39.443 1004-1004/? W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
01-24 20:21:39.479 1004-1048/? W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
01-24 20:21:39.563 1004-1052/? W/DynamiteModule: Local module descriptor class for com.google.android.gms.crash not found.
01-24 20:21:39.603 1004-1052/? W/zygote64: Unsupported class loader
01-24 20:21:39.741 1004-1053/? W/DynamiteModule: Local module descriptor class for com.google.android.gms.crash not found.
01-24 20:21:40.176 1004-1004/com.google.firebase.codelab.friendlychat W/zygote64: Unsupported class loader
I used the same rules given in Step 6:
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
@kvizcarra we can ignore the W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
logs, those are unrelated.
Thanks for posting your rules, I'll have to think about what could be going wrong here.
Could you try doing a read from mFirebaseDatabaseReference.child(MESSAGES_CHILD)
without using the recycler adapter and see if your app can read the data? Just attach a ValueEventListener
and see what comes back.
I added this under the existing mFirebaseDatabaseReference.child(MESSAGES_CHILD)
line in MainActivity.onCreate() but my loggers never fired.
DatabaseReference messagesRef = mFirebaseDatabaseReference.child(MESSAGES_CHILD);
messagesRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d("**DEBUG-DEBUG-DEBUG**", dataSnapshot.getValue(FriendlyMessage.class).toString());
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.d("**DEBUG-DEBUG-DEBUG**", databaseError.getMessage());
}
});
I can confirm the same issue.
Same issue i am also facing. but my app is getting crashing and throwing null pointer exception.
Below is my Error Log:
com.google.firebase.codelab.friendlychat E/AndroidRuntime: FATAL EXCEPTION: main Process: com.google.firebase.codelab.friendlychat, PID: 6451 java.lang.NullPointerException: null reference at com.google.android.gms.common.internal.Preconditions.checkNotNull(Unknown Source) at com.google.firebase.appindexing.Action$Builder.setObject(Unknown Source) at com.google.firebase.codelab.friendlychat.MainActivity.getMessageViewAction(MainActivity.java:448) at com.google.firebase.codelab.friendlychat.MainActivity.access$200(MainActivity.java:72) at com.google.firebase.codelab.friendlychat.MainActivity$2.onBindViewHolder(MainActivity.java:229) at com.google.firebase.codelab.friendlychat.MainActivity$2.onBindViewHolder(MainActivity.java:173) at com.firebase.ui.database.FirebaseRecyclerAdapter.onBindViewHolder(FirebaseRecyclerAdapter.java:122) at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6673) at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6714) at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5647) at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5913) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5752) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5748) at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2232) at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1559) at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1519) at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:589) at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3812) at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3529) at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4082) at android.view.View.layout(View.java:17523) at android.view.ViewGroup.layout(ViewGroup.java:5612) at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1079) at android.view.View.layout(View.java:17523) at android.view.ViewGroup.layout(ViewGroup.java:5612) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at android.view.View.layout(View.java:17523) at android.view.ViewGroup.layout(ViewGroup.java:5612) at android.support.v7.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:443) at android.view.View.layout(View.java:17523) at android.view.ViewGroup.layout(ViewGroup.java:5612) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at android.view.View.layout(View.java:17523) at android.view.ViewGroup.layout(ViewGroup.java:5612) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585) at android.widget.LinearLayout.onLayout(LinearLayout.java:1494) at android.view.View.layout(View.java:17523) at android.view.ViewGroup.layout(ViewGroup.java:5612) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at com.android.internal.policy.DecorView.onLayout(DecorView.java:724) at android.view.View.layout(View.java:17523) at android.view.ViewGroup.layout(ViewGroup.java:5612) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2342) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2069) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1246) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6301) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871) at android.view.Choreographer.doCallbacks(Choreographer.java:683) at android.view.Choreographer.doFrame(Choreographer.java:619) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
Same issue. My logcat shows several warnings:
05-08 20:24:02.107 7910-8118/com.google.firebase.codelab.friendlychat E/OpenGLRenderer: allen debug liyu Key: 0 05-08 20:24:02.120 7910-8118/com.google.firebase.codelab.friendlychat E/OpenGLRenderer: allen debug liyu Key: 68724719680 05-08 20:24:02.121 7910-8118/com.google.firebase.codelab.friendlychat E/OpenGLRenderer: allen debug liyu Key: 1 05-08 20:24:02.123 7910-8118/com.google.firebase.codelab.friendlychat E/OpenGLRenderer: allen debug liyu Key: 5242945 05-08 20:24:02.126 7910-8118/com.google.firebase.codelab.friendlychat E/OpenGLRenderer: allen debug liyu Key: 34359738371 05-08 20:24:02.130 7910-8118/com.google.firebase.codelab.friendlychat E/OpenGLRenderer: allen debug liyu Key: 240518168576
@prince-28 have u succeeded to add messages node/child to your database? If yes maybe you can add one line code to your FriendlyMessage.java (under public class FriendlyMessage): public FriendlyMessage() {}
After completing Step 7 and updating the database in the Firebase console, the loading spinner is never hidden and the messages never load. The same happens with the completed sample app
friendlychat-android/android/
.
same issue here