2017-04-10 63 views
0

我有一个Firebase数据库,用作我正在开发的Android应用程序的后端。我的应用用户将他们的手机号码视为其存储在Firebase数据库中的ID。在应用程序(电话联系人)中搜索用户时,应仅显示使用此应用程序的联系人(即,已在Firebase DB中注册/可用的电话号码)。如何使用电话号码过滤联系人列表与Firebase数据库

尝试搜索并找到类似的东西[Android application with phone book synchronization?但没有用。

欣赏帮助

回答

0

使用电话号码将所有联系人存储在HashMap中。作为一个关键和名字作为价值。在这里,我创建的

HashMap<String, String> phoneContacts = new HashMap<>(); 

现在调用此方法

void getFirebaseContacts(){ 

    databaseReference.child("ProfileData").addListenerForSingleValueEvent(new ValueEventListener() { //all users profile data 

     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      Map value = (Map) dataSnapshot.getValue(); 
      if (value != null) { 
       Iterator myVeryOwnIterator = value.keySet().iterator(); 
       while (myVeryOwnIterator.hasNext()) { 
        String Mobile = (String) myVeryOwnIterator.next(); 
        if (Mobile != null && phoneContacts.containsKey(Mobile)) { 
         //Mobile and it's associated details will be stored in local database and displayed to user.. 
         Map userData = (Map) value.get(Mobile); 
        } 
       } 
      } 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 
    }); 
} 
相关问题