2016-10-04 51 views
1

我們正在製作一個具有一些聊天功能的應用程序,我們正在使用SendBird Android SDK來實現此目的。存儲SendBird頻道列表 - Android

當用戶登錄時,我們查詢該用戶的GroupChannels的SendBird,這將返回用戶當前所在的頻道列表。我們希望能夠堅持這個清單。

目前在應用程序中,我們使用TinyDb來保存一些數據。然而,這是不可能的,因爲這個錯誤的GroupChannels名單:

Unable to invoke no-args constructor for com.sendbird.android.BaseMessage Register an InstanceCreator

所以我們也使用ORM庫,境界爲Android嘗試。然而,這要求我們改變SendBird類來擴展RealObject,並且我們不想修改SendBird的類。

所以我想真正的問題是,我們如何存儲/保存不屬於我們的對象列表(SendBird類)。

任何幫助將不勝感激。

回答

0

目前,SendBird官方不支持本地數據庫和序列化。
我們意識到您遇到的不便,因此找到一些緩解方法。
我會隨時向您發佈有關此問題的信息。

1

最近添加了序列化。文檔中的caching data部分提供了一些演示。

基本上,你會使用這些方法來序列化和反序列化消息和通道。

byte[] baseMessage.serialize() 
BaseMessage BaseMessage.buildFromSerializedData(byte[] data) 

byte[] baseChannel.serialize() 
BaseChannel BaseChannel.buildFromSerializedData(byte[] data) 

然後,存儲所述串行化的數據在本地數據庫(例如SQLite的或境界),並更新它,當收到一個新的消息時,或者當創建一個新的信道。