[英]How to retrive data to specific user id from firebase database
我有一个 android 应用程序。 我想在这个应用程序中创建一个支付交易历史。 我创建了一个支付交易活动,并尝试在回收站视图中检索交易历史记录。 它现在工作。
但问题是回收站视图显示所有用户的交易历史。 我想向当前用户显示交易历史。 这意味着我什么时候会打开我的交易历史活动,我只想查看我的交易历史。 现在我可以看到所有用户的交易历史。 我如何在我的个人资料中仅获取我的交易历史记录。 对不起,我的英语不好。
这是我的代码
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);
如果您在每个事务中都有用户的UID
,则可以使用查询来排序/过滤数据。
例如,如果每个事务都有一个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();
// 👆
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.