Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用android获取密钥中的特定项_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

如何使用android获取密钥中的特定项

如何使用android获取密钥中的特定项,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,如何仅检索密钥内的电子邮件地址,而不是检索所有项目。我有一个项目名称和电子邮件,但我只想检索电子邮件 例如: Email: HOTMAIL Email: GMAIL 首先将数据库引用作为 mReference= FirebaseDatabase.getInstance().getReferenceFromUrl(FIREBASE_URL_USERS); 这里的FREBASE_URL_USERS是用户密钥的URL,您可以从firebase控制台获得它。 它是您唯一的\u

如何仅检索密钥内的电子邮件地址,而不是检索所有项目。我有一个项目名称和电子邮件,但我只想检索电子邮件

例如:

Email: HOTMAIL
Email: GMAIL

首先将数据库引用作为

           mReference= FirebaseDatabase.getInstance().getReferenceFromUrl(FIREBASE_URL_USERS);
这里的FREBASE_URL_USERS是用户密钥的URL,您可以从firebase控制台获得它。 它是您唯一的\u firebase\u root\u url/User01的组合

然后获取数据的快照,如下所示:

        mDatabseReference.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            dataSnapshot.getValue("Email");
              // use log to check whetehr you are getting email or not 
        @Override
        public void onCancelled(DatabaseError databaseError) {
            // log error and do something
        }
    });

假设用户电子邮件是唯一的,您可以按其电子邮件值对用户进行记录,如下所示:

final String email = "hani.mehdi@email.com";

ValueEventListener onFindListener = new ValueEventListener() {

    @Override
    public void onCancelled(DatabaseError error) {
        Log.e(TAG, error.getMessage());
    }

    @Override
    public void onDataChange(DataSnapshot snapshot) {
        Map<String, User> result = snapshot.getValue(Map.class);
        if (result.contains(email) {
            User user = result.get(email);
            Log.i(TAG, user.toString());
        } else {
            Log.d(TAG, "Not found: " + email);
        }
    }

};

DatabaseReference userReference = database.getReference("users")
    .orderByChild("email")
    .equalTo(email)
    .addListenerForSingleValueEvent(onFindListener);
final String email=“哈尼。mehdi@email.com";
ValueEventListener onFindListener=新的ValueEventListener(){
@凌驾
已取消的公共无效(DatabaseError错误){
Log.e(标记,error.getMessage());
}
@凌驾
公共无效onDataChange(数据快照快照){
映射结果=snapshot.getValue(Map.class);
if(result.contains)(电子邮件){
User=result.get(电子邮件);
Log.i(标记,user.toString());
}否则{
Log.d(标签“未找到:”+电子邮件);
}
}
};
DatabaseReference userReference=database.getReference(“用户”)
.orderByChild(“电子邮件”)
.equalTo(电子邮件)
.addListenerForSingleValueEvent(onFindListener);

数据结构是什么。它是JSON吗?