【发布时间】:2018-05-27 02:54:39
【问题描述】:
我正在开发一款 Android Messenger 应用。为此,用户需要使用存储在 Firebase 实时数据库中的电话号码进行注册。
要开始给某人发短信,用户应该在他的联系人中拥有数据库上的其他注册用户。
为此,我有一种方法可以从用户手机中检索联系人并在数据库中注册用户。
private List<String> getContactsFromFirebase(final MyCallback myCallback){
FirebaseDatabase.getInstance().getReference().child("Users")
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
Users user = snapshot.getValue(Users.class);
assert user != null;
String contact_found = user.getPhone_number();
mContactsFromFirebase.add(contact_found);
}
myCallback.onCallback(mContactsFromFirebase);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
return mContactsFromFirebase;
}
并将在数据库中找到的用户与用户的联系人进行比较
private List<String> findSignedUpContacts(Map<String, String> contactsStored, List<String> firebaseNumbers) {
List<String> values = new ArrayList<>();
for (String firebaseNumberKey : firebaseNumbers) {
values.add(contactsStored.get(firebaseNumberKey));
}
return values;
}
现在,我想从 Firebase 数据库中检索有关存储在上面创建的列表中的号码的信息(在数据库和联系人中匹配的号码),并将结果显示在 FirebaseRecyclerAdapter 中。
请问我该怎么做?
这是我的数据库结构。
Users
5AWIQqYkdoZwFBqM0YrvZiqBj633
image: "https://firebasestorage.googleapis.com/v0/b/cha..."
name: "Plasita"
phone_number: "+50940404200"
status: "Coding is my life.."
thumbnail: "Default"
【问题讨论】:
标签: android firebase firebase-realtime-database android-recyclerview