【问题标题】:FirebaseIndexRecyclerAdapter show by users uidFirebaseIndexRecyclerAdapter 由用户 uid 显示
【发布时间】:2017-03-08 07:16:44
【问题描述】:

我正在使用 FirebaseIndexRecyclerAdapter 并且我正在尝试为以下用户显示帖子,所以我使用了这些方法,但如果帖子 ID 在以下用户处可用,它会显示帖子:

这是我的 json:

"Following" : {
    "ORBBKfZAAUhqI1h7ojQDzYOjgkp1" : { 
       "pypD1SYZkbcYesk09WuMUY1AkTf1": true,
       //When I add here post id it show the post ex:"-KduqnVVczZf5uibQiZ-" : true,//Post Shows Up
  },
  "Posts" : {
    "-KduqnVVczZf5uibQiZ-" : {
      "Describe" : "gg",
      "MostView" : -8,
      "Time" : 14881230655,
      "UID" : "pypD1SYZkbcYesk09WuMUY1AkTf1",
      "Username" : "Jone",
      "Wallpaper" : "https://firebasestorage.googleapis.com/v0/b/test-3f4c5.appspot.com/o/Posts%2Fcropped906285501.jpg?alt=media&token=0c1a3a3d-6e48-4c4e-ba59-f5646bf8965f"
    },
    "-Ke5gJ00CxbjhOuhzLIx" : {
      "Describe" : "hajj",
      "MostView" : -9,
      "Time" : 1488318465,
      "UID" : "pypD1SYZkbcYesk09WuMUY1AkTf1",
      "Username" : "Dom",
      "Wallpaper" : "https://firebasestorage.googleapis.com/v0/b/test-3f4c5.appspot.com/o/Posts%2Fcropped1717103943.jpg?alt=media&token=a85b2488-5ac7-49a7-9ad0-dbf4e6f29389"
    },
    "-KeCuiFmUCpN19zwsTsR" : {
      "Describe" : "a",
      "MostView" : -2,
      "Profile" : "https://lh4.googleusercontent.com/-suB77riNoX8/AAAAAAAAAAI/AAAAAAAAAAA/ADPlhfKMzINn-Ki538Sqf6SRGaXC81-WuQ/s200-c/photo.jpg",
      "Time" : 1488439652,
      "UID" : "z2SNUlLd6mQM8nnlkU2VUws5Ggl2",
      "Username" : "Dom",
      "Wallpaper" : "https://firebasestorage.googleapis.com/v0/b/test-3f4c5.appspot.com/o/Posts%2Fcropped1913886685.jpg?alt=media&token=c8ad26b2-8f09-453b-b48a-aad9e4d8b5c3"
    },
    "-KeD2fBUQ09HVMrvAneb" : {
      "Describe" : "ee",
      "MostView" : -2,
      "Profile" : "https://lh4.googleusercontent.com/-suB77riNoX8/AAAAAAAAAAI/AAAAAAAAAAA/ADPlhfKMzINn-Ki538Sqf6SRGaXC81-WuQ/s200-c/photo.jpg",
      "Time" : 1488441999,
      "UID" : "z2SNUlLd6mQM8nnlkU2VUws5Ggl2",
      "Username" : "Dom",
      "Wallpaper" : "https://firebasestorage.googleapis.com/v0/b/test-3f4c5.appspot.com/o/Posts%2Fcropped1904338270.jpg?alt=media&token=d200b7fc-15e7-4dc4-9913-59c377929e9e"
    },
    "-KeDfnMWiB7k_4J3FBgZ" : {
      "Describe" : "f12g",
      "MostView" : -1,
      "Time" : 1488452517,
      "UID" : "ORBBKfZAAUhqI1h7ojQDzYOjgkp1" 
      "Username" : "Young",
      "Wallpaper" : "https://firebasestorage.googleapis.com/v0/b/test-3f4c5.appspot.com/o/Posts%2Fcropped1872832638.jpg?alt=media&token=80239844-a872-47e2-9689-92d368dd9452"
    },
    "-KeDfrw4inUQFtIDXJHp" : {
      "Describe" : "fg",
      "MostView" : -2,
      "Time" : 1488452536,
      "UID" : "ORBBKfZAAUhqI1h7ojQDzYOjgkp1" 
      "Username" : "Young",
      "Wallpaper" : "https://firebasestorage.googleapis.com/v0/b/test-3f4c5.appspot.com/o/Posts%2Fcropped1872832638.jpg?alt=media&token=80239844-a872-47e2-9689-92d368dd9452"
    },

  }
}

这是我使用的方法:

    mAuth = FirebaseAuth.getInstance();
    mCurrentUser = mAuth.getCurrentUser();
    mDatabase = FirebaseDatabase.getInstance().getReference().child("Posts");
    mDatabaseFriends = FirebaseDatabase.getInstance().getReference().child("Following").child(mCurrentUser.getUid());

   FirebaseIndexRecyclerAdapter<Getting_Posts,PostViewHolder> firebaseIndexRecyclerAdapter = new FirebaseIndexRecyclerAdapter<Getting_Posts, PostViewHolder>(
            Getting_Posts.class,R.layout.post_card_design,PostViewHolder.class,mDatabaseFriends,mDatabase.orderByChild("Username"))
    {
        @Override
        protected void populateViewHolder(PostViewHolder viewHolder, Getting_Posts model, int position) {}};

我在 mDatabase 中使用了 orderByChild 方法,但它不起作用,所以我需要按用户名排序或排序我的帖子,所以我找不到可用于此的正确查询。

【问题讨论】:

    标签: android firebase firebase-realtime-database android-recyclerview firebaseui


    【解决方案1】:

    您可以通过如下更新代码来应用排序:

    FirebaseDatabase.getInstance().getReference().child("Following").child(mCurrentUser.getUid()).orderByChild("Username");
    

    检查 Firebase 文档以获取 Sort data

    【讨论】:

    • 好的@pRaNaY,那么只为关注的用户显示帖子呢
    • 上面提到的链接还包括如何过滤数据。在这种情况下,您想通过使用其中的uid 数据来过滤Post 的数据,对吧?
    • 对不起兄弟,我到现在都无法解决问题。
    • @koceeng:是的,但是这些方法是使用orderby 方法过滤数据。根据@7uthaifah 的建议,我们需要为following 用户过滤posts。为此,我们需要提供自己的代码(逻辑)来仅获取关注用户的帖子。
    • @7uthaifah:不抱歉。如果您在发布问题后尝试了任何新内容,请尝试使用新内容编辑您的问题。所以它可以帮助解决问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 2023-03-14
    • 2021-12-09
    • 1970-01-01
    相关资源
    最近更新 更多