You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio Firebase项目如何上传带用户UID的提现数据

实现步骤

首先确保你的项目已经集成了Firebase Auth身份认证服务,且用户触发提现操作时已经处于登录状态,按以下步骤修改即可:

  1. 先在当前Activity中声明FirebaseAuth实例,在页面初始化时完成实例化
// 全局声明
private FirebaseAuth mAuth;
// 在onCreate方法中初始化
mAuth = FirebaseAuth.getInstance();
  1. 在提现按钮的点击逻辑中,先获取当前登录用户的UID,再写入HashMap一起上传到Firebase Realtime Database即可。如果当前无登录用户,可以自行补充跳转登录、提示登录的逻辑。

修改后的完整代码如下:

withdrawal.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // 先获取当前登录用户
        FirebaseUser currentUser = mAuth.getCurrentUser();
        if (currentUser == null) {
            // 此处可补充未登录的提示、跳转登录页逻辑,YourActivity替换为当前页面对应的Activity名
            Toast.makeText(YourActivity.this, "请先登录后再申请提现", Toast.LENGTH_SHORT).show();
            return;
        }
        // 获取用户UID
        String userId = currentUser.getUid();

        HashMap<String,Object> map = new HashMap<>();
        map.put("amount",enterbalance.getText().toString());
        map.put("paytm",paytm.getText().toString());
        map.put("name",name.getText().toString());
        map.put("email",emailcard.getText().toString());
        map.put("number",altrnbr.getText().toString());
        // 新增用户UID字段存入数据库
        map.put("userId", userId);

        FirebaseDatabase.getInstance().getReference().child("PAYTMWITHDRAWAL").push()
                .setValue(map)
                .addOnCompleteListener(new OnCompleteListener<Void>() {
                    @Override
                    public void onComplete(@NonNull Task<Void> task) {
                        Log.i("jfbvkj", "onComplete: ");
                    }
                })
                .addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        Log.i("jfbvkj", "onFailure: "+e.toString());
                    }
                }).addOnSuccessListener(new OnSuccessListener<Void>() {
            @Override
            public void onSuccess(Void aVoid) {
                Log.i("jfbvkj", "onSuccess: ");
                // 此处可补充提现申请提交成功的提示逻辑
                Toast.makeText(YourActivity.this, "提现申请已提交", Toast.LENGTH_SHORT).show();
            }
        });
    }
});

补充优化建议

如果后续你需要查询单个用户的所有提现记录,也可以调整数据库存储结构,把用户UID作为二级节点,存储该用户下的所有提现申请,修改存储路径的示例如下:

// 调整后结构为 PAYTMWITHDRAWAL/用户UID/提现记录ID
FirebaseDatabase.getInstance().getReference()
    .child("PAYTMWITHDRAWAL")
    .child(userId)
    .push()
    .setValue(map)

内容的提问来源于stack exchange,提问作者Prasin Prathap

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 07:24:04