我是使用地图的新手,我们如何从地图中获取自定义类的对象..
即。 feedSendModelClass:
Map<String, feedSendModelClass> feedKeys = (Map<String,feedSendModelClass>) dataSnapshot.getValue();
地图
DataSnapshot { key = feedsMetaPool, value = {20160708155218759={content=bzzzhss, picurl=https://firebasestorage.googleapis.com/v0/b/rootssahaj.appspot.com/o/feedsImages%2FnonThumbs%2F201607081552353353553518759sahaj9917730102?alt=media&token=ce1c6e7c-28c5-442e-9405-4468bf5fc204, time=08 Jul, picThumbnail=https://firebasestorage.googleapis.com/v0/b/rootssahaj.appspot.com/o/feedsImages%2Fthumbs%2F20353353535355353160708155218759sahaj9917730102?alt=media&token=14d33963-f3da-4407-a08f-ab0afce21ace}, 20160708164100152={content=sj sjs skss sksssvsjm, picurl=https://firebasestorage.googleapis.com/v0/b/rootssahaj.appspot.com/o/feedsImages%2FnonThumbs%2F201607081641003535152sahaj9917730102?alt=media&token=323c4a27-1850-4bc9-adea-34e5319ac506, time=08 Jul, picThumbnail=https://firebasestorage.googleapis.com/v0/b/rootssahaj.appspot.com/o/feedsImages%2Fthumbs%2F20160708164100152sahaj9917730102?alt=media&token=0b064b46-2f14-49af-b3e6-7a573f6c2d3f}, 20160708142314069={content=dadax, picurl=https://firebasestorage.googleapis.com/v0/b/rootssahaj.appspot.com/o/feedsImages%2FnonThumbs%2F2016070rdgdg54353535358142314069sahaj9917730102?alt=media&token=19d03f11-d12f-43c1-96f5-ca397a9179c9, time=08 Jul, picThumbnail=https://firebasestorage.googleapis.com/v0/b/rootssahaj.appspot.com/o/feedsImages%2Fthumbs%2F20160735353508142314069sahaj9917730102?alt=media&token=ab9c73eb-ec44-46ae-9daa-6fc508cb08a6} }
Datasnapshot:
glClear
对我来说这已经变得棘手了......谢谢...... 可以通过firebase进行其他方式来实现它
答案 0 :(得分:0)
如果您询问如何从名为feedKeys
的地图中检索feedKeys.get(key)
对象,则此语法应该有效:
key
feedSendModelClass
是您的String,对象是feedKeys.put(key, value)
对象。但是,首先您需要将键和值对放入地图(因此它不是空的),String
,其中键为feedSendModelClass
,值为FeedSendModelClass
。
如果这完全没有回答你的问题,我会道歉,但从你的描述来看,理解你需要什么帮助有点困难。
在一个不相关的说明中,将类命名为[a,b,c,d]
更合适,因为Java约定类以大写字母开头。
答案 1 :(得分:0)
如果您使用的是Firebase,则可以使用ChildEventListener
。它为节点中的每个初始子节点调用onChildAdded()
方法一次,并且每次添加新子节点时。然后你可以直接将Object添加到ArrayList(或用它做任何你想做的事)
ArrayList<feedSendModelClass> feedKeysArrayList = new ArrayList<>();
DatabaseReference feedKeysRef = FirebaseDatabase.getInstance().getReference("path/to/the/feedkeys");
feedKeysRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
feedKeysArrayList.add(dataSnapshot.getValue(feedSendModelClass.class));
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
// Add appropriate code
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
// Add appropriate code
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
// Add appropriate code
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Add appropriate code
}
});