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

商铺端扫描用户QR code后将数据存储到Firebase的实现问题咨询

问题:扫码后将用户凭证存入Firebase的实现方案

需求描述

我正在开发一款同时支持普通用户、商铺注册登录的应用,核心逻辑如下:

  • 普通用户使用个人账号凭证登录后,会进入个人资料页,同时页面生成包含该用户个人数据的QR码
  • 商铺端登录后可扫描用户的QR码查看用户凭证,我需要实现扫描完成后,将用户凭证存储到Firebase的新建路径中,用于记录用户到访过的商铺信息

我预想的实现流程是商铺扫描用户QR码后,先把扫描得到的内容转为字符串,再在Firebase中创建对应字段完成存储,当前使用的QR码扫描库为Zxing library,请问有什么可行的实现思路?

编辑:已找到解决方案
以下函数可接收QR码扫描结果并将其存储到Firebase:

public void resultSplitter(String result) {
    String keys[] = {"FullName", "Email", "Phone", "Age"};
    String splitted[] = result.split("\n");
    HashMap<String, String> valuesMap = new HashMap<>();
    for (int i = 0; i < splitted.length; i++) {
        splitted[i].trim();
        String value = splitted[i].split(keys[i] + " :")[1].trim();
        valuesMap.put(keys[i], value);
    }

    User record = new User(
            valuesMap.get("FullName"),
            valuesMap.get("Email"),
            valuesMap.get("Phone"),
            valuesMap.get("Age"),
            elseReader,
            timestamp.getTime());

    FirebaseDatabase
            .getInstance()
            .getReference("Reader")
            .child("Shops")
            .push()
            .setValue(record)
            .addOnCompleteListener(new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    if (task.isSuccessful()) {
                        Toast.makeText(ElseRead.this, "Record added successfully", Toast.LENGTH_LONG).show();
                        progressBar.setVisibility(View.VISIBLE);
                    } else
                        Toast.makeText(ElseRead.this, "Failed to record! Try again!", Toast.LENGTH_LONG).show();
                    progressBar.setVisibility(View.GONE);
                }
            });
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 18:54:03