小编Nic*_*ick的帖子

检查Firebase数据库中是否存在特定值

我正在使用Firebase实时数据库制作Android应用程序.当新用户在我的应用上注册时,该用户的数据将保存在Firebase数据库中.

用户必须提供以下详细信息才能注册:

  1. 全名
  2. 电子邮件
  3. 用户名
  4. 密码

数据库结构

在此输入图像描述

每当新用户尝试注册时,我必须确保每个用户的用户名都是唯一的,因此我检查数据库是否username用户输入的数据库已存在于数据库中.

为此,我编写了以下方法:

private boolean usernameExists(String username) {
     DatabaseReference fdbRefer = FirebaseDatabase.getInstance().getReference("Users/"+username);
     return (fdbRefer != null);
}
Run Code Online (Sandbox Code Playgroud)

我的这种方法背后的逻辑是,如果getReference方法无法找到引用到指定的路径,它会返回null,这样我可以返回是否fdbRefernull或不是.如果fdbRefernull,则表示username数据库中不存在.

问题

此方法的问题在于它始终返回true输入是否username存在于数据库中.这让我相信这fdbRefer永远不会null.

这让我想到了我的问题......

什么getReference方法返回时,它无法找到在指定的路径firebase数据库,什么是检查是否正确的方法username已经在数据库中存在与否?

java android firebase firebase-realtime-database

9
推荐指数
1
解决办法
2万
查看次数

为什么指向一个数组或向量中最后一个元素的内存位置?

假设我们有一个名为datasize 的数组5.如果我们将此数组作为参数传递给std::end函数

int *ptr = std::end(data);
Run Code Online (Sandbox Code Playgroud)

它将返回指向数组中最后一个元素的内存位置的指针.

指针指向一个超过数组中最后一个元素的内存位置有什么意义?为什么不指向数组中的最后一个元素?

c++ arrays

7
推荐指数
1
解决办法
640
查看次数

使用迭代器查找向量的中间元素 - C++

我有两个问题.

第一个问题

我读关于迭代器C++C++ primer 5th edition书.在本书的一个代码示例中,给出了以下代码片段将在向量中找到中间元素vi

auto mid = vi.begin() + vi.size() / 2; 
Run Code Online (Sandbox Code Playgroud)

现在我想问一下,为什么vi.begin()加入vi.size()?会不会vi.size()/2有足够找到矢量中间元素vi

第二个问题

auto mid = vi.begin() + vi.size() / 2;
Run Code Online (Sandbox Code Playgroud)

在此代码段中,如果我vi.begin() + vi.size()像这样添加括号:

auto mid = (vi.begin() + vi.size()) / 2;
Run Code Online (Sandbox Code Playgroud)

它抛出错误 no "/" operator matches these operands...

为什么会抛出这个错误?我问这个是因为逻辑上这个表达式vi.begin() + vi.size()应该首先计算,结果应该除以2.

如果我错了,请纠正我.

c++ iterator vector

6
推荐指数
1
解决办法
6330
查看次数

在Bootstrap中创建水平表单4

我是Bootstrap的初学者,我正在使用bootstrap处理样式表单.我试图使用form-horizontal引导类BUT标签和文本字段创建一个水平形式不显示在同一水平线.

我已经看过关于它的教程,我从该教程中复制了相同的完全代码,但它对我不起作用,而它适用于本教程的讲师.

需要帮助找出问题所在

这是相关的代码codepen链接

<div class="row">
        <div class="col-sm-6">

          <form class="form-horizontal">

            <div class="form-group">
              <label class="col-sm-4 control-label">First Name</label>
              <div class="col-sm-8">
                <input type="text" class="form-control"/>
              </div>
            </div>

          </form>

      </div><!--end of column-->
</div><!--end of row-->
Run Code Online (Sandbox Code Playgroud)

bootstrap-4

6
推荐指数
1
解决办法
7756
查看次数