解串名单我有包含列表的模型。崩溃从火力地堡
class Group {
List<String> members;
// Other fields
}
我使用databaseRef.setValue(group)
将整个模型插入到Firebase中。现在它被正确插入到firebase中,但是当我尝试在members
字段中添加任何新值时会出现问题。
我使用membersRef.push().setValue("[email protected]")
在成员添加新的字段列表上的火力点。
当Group
对象最初创建时,Firebase使用“0”,“1”等作为键,但是当我push()时,它创建一个唯一的String作为键。
我创建Java对象返回使用此代码:
groupReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Group group = dataSnapshot.getValue(Group.class);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
现在的问题从火力地堡创建是当Group
类回到它试图在members
字段转换的List
,因为它是从钥匙启动0但一些迭代后有一个String
键(类似“-KjTzYGRDZN99rBZfPDF”),所以它崩溃试图将其转换为List
。
我的火力地堡对象看起来是这样的:
Group
|-----members
|----0: "[email protected]"
|-----KjTzYGRDZN99rBZfPDF: "[email protected]"
我很困惑我该如何解决这个问题。我如何告诉firebase使用唯一的密钥而不是0,1,2等?