2017-06-14 85 views
0

我正在尝试将Spot对象写入我的Firebase数据库。直到我将一个ArrayList <>属性添加到Spot类时,所有的都很好。现在我不能再将Spot对象写入数据库,当我尝试时,我的应用程序就停止。没有崩溃,所以我没有得到在日志中的任何错误反馈:/如何使用ArrayList <>属性将对象写入Firebase数据库(Android)?

这是我写代码:

public void writeSpot(Spot spot, AddSpotContract.RequiredModelOps subscriber) { 
    Log.i("DBGR", "writing spot"); 
    getReference().child(spot.getId()).setValue(spot); 
    Log.i("DBGR", "what is going on??");//if Spot object has an ArrayList<Uri> attribute, this is never reached 
    subscriber.onSpotWritten(); 
} 

所以没有任何人知道为什么我不能用一个ArrayList <写对象>属性到数据库?我已经尝试了一个数组,但不支持(至少在这种情况下,我得到的反馈告诉我这一点)。

非常感谢:)

编辑:我找到了答案。

它实际上一点关系都没有与ArrayList中,这个问题从尝试到URI写入数据库,因为它是不支持的类来了(见error "java.lang.StackOverflowError:" when try to save object in Firebase Database

回答

1

为了写数据对象您的Firebase database,而不是使用List,请使用Map。如果您还在您的pojo中输入Map字段,请将其更改为Map

希望它有帮助。

+0

谢谢亚历克斯,你的解决方案没有工作,但它导致了一个错误,我实际上可以使用:) – theopendle

+0

那么,你解决了这个问题吗? –

+0

是的,我不知道礼仪是回答你自己的问题,所以我只是做了一个编辑。感谢您的帮助 – theopendle

相关问题