2016-11-28 18 views
-4

示例:我有一个名称,电子邮件地址的数据库,但是我想知道该名称是否与我放入的值匹配editText 帮助我非常感谢!如何在Firebase中获得特定的指定

+0

在发布问题之前,在堆栈溢出中检查您的查询的答案。这可以帮助你节省downvotes –

+0

这可能会帮助你:https://gist.github.com/anantn/4323949 –

回答

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) { 

     } 
    }); 
+0

非常感谢你! –

+0

男人,非常感谢你我使用这段代码,它在我的项目中工作,但如果可能的话,我希望在下列情况下提供帮助: 我从我的数据库中订购了一些数据,但我希望它的顺序相反,从最大到最小。 最大的结果:100 最低的结果:0 你能帮助我还是任何人? –

+0

有没有办法通过使用Firebase查询来反转数据,您必须手动执行它..或者您正在使用它作为回收站查看数据源,可以通过 LinearLayoutManager mManager = new LinearLayoutManager(getContext()); mManager.setReverseLayout(真); –

0

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

你可以看看这个问题。

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

问题有做的雨燕采用类似的东西。可能会给你一个好的开始。 至于获取EditText的值,它就像这样简单。

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