1

TCP ソケット経由で Android からリモート サーバーに複雑なデータを送信したいと考えています。オブジェクトをシリアル化する必要があることはわかっています。Android では、これは parcelable を介して行われます。ただし、これは Android 固有のインターフェイスであり、サーバーはシリアライズ可能なインターフェイスしか認識しません。また、その逆も同様です android は、シリアル化可能なインターフェイスを認識しません。

Android とサーバーの両方がオブジェクトを「認識」する必要がありますが、それらは 2 つの異なる方法で実装されます (サーバー --> シリアライズ可能、アンドロイド --> パーセル可能)。

オブジェクトを TCP 経由でサーバーに正常に送信できるように、これらのインターフェイスを適切に使用するにはどうすればよいですか?

4

3 に答える 3

2

Android と Java 1.5+ の両方で動作するシンプルな XML シリアライゼーションを使用しない理由。以下のサイトにあります。

http://simple.sourceforge.net

また、フレームワークはかなり小さく、モバイル プラットフォームに適しています (依存関係なしで約 270K)。また、ほとんどの XML シリアライゼーションまたはバインディング フレームワークよりもはるかにパフォーマンスが優れています。

于 2010-03-02T11:49:55.390 に答える
1

ここでも同じ問題が発生し、JSONに切り替えました。たぶんあなたは同じことを検討する必要がありますか?!

編集:AndroidはSerializableインターフェースを知っています。どうして忘れられたのか...

于 2010-03-02T10:46:58.447 に答える
0

http://developer.android.com/reference/android/os/Parcel.htmlによると、パーセルを永続的な (またはネットワーク) シリアル化に使用することは適切ではありません。

Parcel は、汎用のシリアル化メカニズムではありません。このクラス (および任意のオブジェクトをパーセルに配置するための対応する Parcelable API) は、高性能 IPC トランスポートとして設計されています。そのため、パーセル データを永続ストレージに配置することは適切ではありません。パーセル内のデータの基になる実装を変更すると、古いデータが読み取れなくなる可能性があります。

于 2011-11-11T19:23:13.917 に答える