【问题标题】:How to retrive data to specific user id from firebase database如何从firebase数据库检索数据到特定用户ID
【发布时间】:2022-01-21 03:07:37
【问题描述】:

我有一个安卓应用程序。我想在这个应用程序中创建一个支付交易历史。我创建了一个支付交易活动,并尝试在回收站视图中检索交易历史记录。它现在可以工作了。

但问题是回收站视图显示所有用户的交易历史。我想向当前用户显示交易历史。这意味着我什么时候会打开我的交易历史活动,我只想查看我的交易历史。现在我可以看到所有用户的交易历史。我如何在我的个人资料中仅获取我的交易历史记录。对不起我的英语不好。

这是我的代码

MCC= FirebaseDatabase.getInstance().getReference().child("PAYTMWITHDRAWAL");
    
    recyclerView = (RecyclerView) findViewById(R.id.aswam_recyclerView);
    recyclerView.setHasFixedSize(true);
    layoutManager = new LinearLayoutManager(this);
    recyclerView.setLayoutManager(new GridLayoutManager(this, 1));
    LoadData(categoryId);


}

private void LoadData(String categoryId) {

    options = new FirebaseRecyclerOptions.Builder<PayoutHistoryModel>().setQuery(MCC,PayoutHistoryModel.class).build();
    adapter = new FirebaseRecyclerAdapter<PayoutHistoryModel, PayoutHistoryViewHolder>(options) {
        @Override
        protected void onBindViewHolder(@NonNull PayoutHistoryViewHolder payoutHistoryViewHolder, int i, @NonNull PayoutHistoryModel trollModel) {

            payoutHistoryViewHolder.thrillername.setText(trollModel.getPayoutStatus());

            Picasso.get().load(trollModel.getImage())
                    .into(payoutHistoryViewHolder.thrillersimage);
        }

        @NonNull
        @Override
        public PayoutHistoryViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

            View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.payout_histoy_layout, parent, false);

            return new PayoutHistoryViewHolder(v);
        }
    };

    adapter.startListening();
    recyclerView.setAdapter(adapter);

【问题讨论】:

    标签: java android firebase-realtime-database


    【解决方案1】:

    如果您在每笔交易中都有用户的UID,您可以use a query 对数据进行排序/过滤。

    例如,如果每个事务都有一个ownerUID 属性,您可以这样做:

    private void LoadData(String categoryId) {
        String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
    
        Query query = MCC.orderByChild("ownerUID").equalTo(uid); // ?
    
        options = new FirebaseRecyclerOptions.Builder<PayoutHistoryModel>()
                           .setQuery(query,PayoutHistoryModel.class).build();
                                   // ?
        ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-22
      • 1970-01-01
      相关资源
      最近更新 更多