【问题标题】:How to get a specific given in Firebase [closed]如何在 Firebase 中获得特定的给定 [关闭]
【发布时间】:2017-04-12 04:54:22
【问题描述】:

示例:我有一个包含名称、电子邮件的数据库,但我想知道此名称是否与我在 editText 中输入的值匹配 帮助我非常感谢!

【问题讨论】:

  • 在发布问题之前在堆栈溢出中检查您的查询的答案。这可以帮助您节省反对票
  • 这可能对你有帮助:gist.github.com/anantn/4323949

标签: android firebase firebase-realtime-database


【解决方案1】:

首先启动数据库实例

FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();

获取要在其中执行操作的数据库的引用

DatabaseReference dbRef = firebaseDatabase.getReference(NAME_OF_DATABASE);

然后使用它来获取名称等于editText文本的所有用户

Query query = profileDbRef
            .orderByChild("name")
            .equalTo(edittext.getText().toString());
    query.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) {
                Log.d(TAG, dataSnapshot1.getKey() + "  " + dataSnapshot1.getValue(Profile.class)
                        .toString());
               }
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

【讨论】:

  • 非常感谢!!
  • 伙计,非常感谢你,我使用了这段代码,它在我的项目中工作,但是如果可能的话,我希望你的帮助在以下情况下:我从我的数据库中订购了一些数据,但我希望它是以相反的顺序,即从最大到最小。最大结果:100 最低结果:0 你会帮助我还是任何人?
  • 没有办法通过使用firebase查询来反转数据,您必须手动执行..或者您将它用于recyclerView数据源,它可以通过LinearLayoutManager mManager = new LinearLayoutManager(获取上下文()); mManager.setReverseLayout(true);
  • 非常感谢你!但是如何在 ListView 中做到这一点?
  • 我解决了我的问题!您的帮助非常重要,再次感谢您!
【解决方案2】:

我对 Firebase 不是很熟悉,但我发现了这个。我很容易找到它,所以通常在发布前在这里搜索一次。

你可以看看这个问题。

Swift & Firebase | Checking if a user exists with a username

问题是使用 Swift 做类似的事情。可能会给你一个好的开始。 至于获取EditText的值,就这么简单。

EditText editText = (EditText) findViewById(R.id.editext1);
String result = editText.getText().toString(); 

【讨论】:

    猜你喜欢
    • 2012-10-22
    • 2019-08-01
    • 1970-01-01
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 2019-03-27
    • 2013-03-24
    相关资源
    最近更新 更多