2017-04-10 27 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) { 

     } 
    }); 
} 
相關問題