java - 扫描后如何在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);
}
});
解决方案
推荐阅读
- php - Laravel 中的 Composer 更新错误“需求无法解析为可安装的软件包集”
- java - 如何在android的片段中设置后退按钮的导航
- php - 警告:mail():SMTP 服务器响应 530 5.7.0 必须发出 STARTTLS [gmail]
- python - 如何在 Python 中评估哈密顿量(量子力学)
- python - 在不打开窗口的情况下使用 cv2.videocapture
- firebase - 发布应用 com.google.android.gms.common.api.b 10 后 Flutter Google Sign 和 Phone Auth 错误
- python - 从文件夹中的所有文件名中删除数字
- node.js - 在 Manjaro 上更新包时无法提交事务(冲突文件)
- java - 封装=数据隐藏+抽象?
- html - CSS 宽度不适用于 HTML 选择标签