如何使用带有电话号码的 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 UI 的 Firebase 电话身份验证存在 SafetyNet 问题
带有电话号码 OTP 的 AWS Cognito 身份验证,就像 firebase,没有 Amplify