如何使用带有电话号码的 Firebase DB 过滤联系人列表

Posted

技术标签:

【中文标题】如何使用带有电话号码的 Firebase DB 过滤联系人列表【英文标题】:How to filter Contact list with Firebase DB with phonenumbers 【发布时间】:2017-09-05 02:52:25 【问题描述】:

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

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

感谢帮助

【问题讨论】:

你解决了吗?如果您能在这里分享您的发现,那就太好了。 【参考方案1】:

使用电话号码将所有联系人存储在 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) 

        
    );

【讨论】:

以上是关于如何使用带有电话号码的 Firebase DB 过滤联系人列表的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 电话身份验证未发送带有代码的短信

带有 Firebase UI 的 Firebase 电话身份验证存在 SafetyNet 问题

带有电话号码 OTP 的 AWS Cognito 身份验证,就像 firebase,没有 Amplify

Firebase IOS - 使用电话号码创建用户

如何在 Firebase-DB 中查询“WHERE”子句之类的数据?

如何使用颤振从firebase中检索电话号码