首页 > 解决方案 > 扫描后如何在Firebase中存储二维码数据

问题描述

我目前正在开发一个具有用户和商店的注册/登录表单的应用程序,每当用户使用其凭据登录时,都会显示用户配置文件并创建带有数据的 QR 码。

每当登录商店时,它都可以扫描用户的二维码并显示其凭据,我试图弄清楚当扫描到在Firebase上创建的新路径以显示用户进入的商店时如何存储用户的凭据.

我在想,每当商店扫描用户的二维码时,它都会将数据存储到一些字符串中,然后在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);
                }
            });

标签: javaandroidfirebase-realtime-databaseqr-codezxing

解决方案


推荐阅读