2

Square の Tape ライブラリを使用していますが、基本的に抽象的な TapeTask クラスが必要な要件に遭遇しました。ただし問題は、GsonConverter (サンプル プロジェクトで示されているように、ライブラリの FileObjectQueue.Converter を実装する) の逆シリアル化プロセスが、インターフェイス/抽象クラスでうまく機能しないことです。

Gson デシリアライゼーションの問題だと思ったので、Gson インスタンスをカスタム TypeAdapter に登録しましたが、それでもうまくいきません。FileObjectQueue.Converter と関係があると思います。

現在、サブタスクからの厄介なラッパー コールバック インターフェイスを使用して、この問題を回避しようとしています。

私の要件は、単一の TapeQueue を持ち、複数のタイプのタスクを送信できることです。したがって、TapeTask 抽象クラスがあり、ImageDownloadTask、ImageUploadTask、UrlPostWithRetrofitTask、GoogleAnalyticsTrackerTask などの具体的な実装があります。すべて 1 つのキューに入ります。

これを達成する方法はありますか。私の質問は、要約すると次のようになると思います: FileObjectQueue.Converter を抽象クラスでうまく機能させるにはどうすればよいですか?

ヒント:P : そのクラスの javadoc には、「シリアル化されたバイト配列に具体的なクラス名も含める必要がある」と書かれていますが、それが何を意味するのかわかりません。私の目的を達成する方法で、シリアル化されたバイト配列に名前を含める方法の説明を誰かが投稿できれば、私は感謝しています!

4

1 に答える 1