2016-10-04 3 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

だから我々はまた、AndroidのためのレルムのORMライブラリを使用してみました。しかし、これは、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のまたはレルム)でシリアル化されたデータを格納し、新しいメッセージを受信したときにそれを更新するか、新しいチャネルが作成される場合。

関連する問題