Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.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 如何将我的联系人与firebase数据库中上载的联系人进行比较_Android_Firebase_Firebase Realtime Database_Firebase Security - Fatal编程技术网

Android 如何将我的联系人与firebase数据库中上载的联系人进行比较

Android 如何将我的联系人与firebase数据库中上载的联系人进行比较,android,firebase,firebase-realtime-database,firebase-security,Android,Firebase,Firebase Realtime Database,Firebase Security,首先,我想向您展示我的Firebase数据库树 -Users | ----959670000 | | | ------name | + ----750890000 +------859200000 我有一个根节点,子节点是用户。每当新用户注册时,它都会获得新的唯一Id。。。唯一的Id是电话号码。现在,在我的Android应用程序中,我检索我的所有联系人,即手机号码中的电话号码。我只想将联系人中的每个电话号码与firebase数据库中

首先,我想向您展示我的Firebase数据库树

-Users
   |
   ----959670000
   |      |
   |      ------name
   |
   + ----750890000
   +------859200000
我有一个根节点,子节点是用户。每当新用户注册时,它都会获得新的唯一Id。。。唯一的Id是电话号码。现在,在我的Android应用程序中,我检索我的所有联系人,即手机号码中的电话号码。我只想将联系人中的每个电话号码与firebase数据库中的电话号码进行比较,以便了解联系人中的哪个用户已注册。

我想问的是如何实现我问题中大胆的部分,请帮助我……过去4天以来,我一直很沮丧,一直在努力实现。 无论如何,thanx提前….:-)

公共布尔getAllUserList(最终数组列表contactList){//all contact list作为参数
数据库引用();
对于(int i=0;i
公共布尔getAllUserList(最终ArrayList contactList){//all contact list作为参数
数据库引用();
对于(int i=0;i
您试过什么了吗?因为可能有很多方法可以实现此功能,并且在很多特定的地方可能会出现问题。很高兴看到你采取了什么方法,以及你在哪里遇到了麻烦。谢谢你的回答,是的@Frankvanpoffelen我尝试了一种方法,我使用Firebase
equalTo()
查询来查找整个Firebase Conact数据库,并比较我的电话联系人和Firebase数据库联系人。但由于某些原因或可能是由于网络遗留问题,代码无法执行。。在这里,我还询问了[链接(])。因此,我所要求的只是一些不同的方法。如果可能的话please@FrankvanPuffelen,现在我从Firebase获取所有联系人,并将其与电话联系人进行比较。他们有没有其他方法来解决这个问题……请帮我解决这个比较问题。你试过什么了吗?因为可能有很多方法可以实现此功能,并且在很多特定的地方可能会出现问题。很高兴看到你采取了什么方法,以及你在哪里遇到了麻烦。谢谢你的回答,是的@Frankvanpoffelen我尝试了一种方法,我使用Firebase
equalTo()
查询来查找整个Firebase Conact数据库,并比较我的电话联系人和Firebase数据库联系人。但由于某些原因或可能是由于网络遗留问题,代码无法执行。。在这里,我还询问了[链接(])。因此,我所要求的只是一些不同的方法。如果可能的话please@FrankvanPuffelen,现在我从Firebase获取所有联系人,并将其与电话联系人进行比较。他们还有别的办法解决这个问题吗…请帮我重新考虑一下
public boolean getAllUserList(final ArrayList<ContactPojo> contactList){//all contact list as an argument
        databaseReference();
        for (int i = 0; i < contactList.size(); i++) {
            checkingMatchedData(contactList.get(i).getPhone(),contactList.get(i));
        }
        return false;
    }

public void checkingMatchedData(String phone, final ContactPojo contPojo){
    Query query=reference.orderByChild("phone").equalTo(Long.parseLong(phone));
    ValueEventListener listener=new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            if (dataSnapshot.getValue()!=null) {
                for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                    UserPojo pojo = snapshot.getValue(UserPojo.class);
                    ContactPojo contactPojo = new ContactPojo();
                    contactPojo.setName(pojo.getName());
                    contactPojo.setPhone(String.valueOf(pojo.getPhone()));
                    contactPojo.setPhoto_uri(pojo.getImageUrl());
                    contactPojo.setUserId(pojo.getUserId());
                    contactPojo.setTypeOfData(101);//this is used to define type of user i.e 101 for registered user or 100 for unregistered
                    finalUserList.add(contactPojo);
                }
            }else {
                contPojo.setTypeOfData(100);
                finalUserList.add(contPojo);
            }
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    };
    query.addListenerForSingleValueEvent(listener);
}
public void databaseReference(){
    reference= FirebaseDatabase.getInstance().getReference().child("Users");
}