0

すべてのクライアント/サーバー通信を処理するリモートサービスを作成しました。同じ通信ソケットを使用する分離されたアプリケーションがほとんどなく、アプリケーション間でソケットを「共有」する他の方法がないため、サービスを使用しました(私が知る限り)。

このサービスはうまく機能し、ソケット接続を開始し、プリミティブオブジェクト(int、Stringなど)を送受信でき、アプリケーション間で同じソケットを共有しながらうまく機能します。

今のところ、すべてが素晴らしく、すべてが正常に機能しています。問題は、さまざまなオブジェクトタイプから始まります。サービスが「Object」をソケットに渡すことをサポートするようにすることができませんでした。私は意味をなさない解決策を見てきました-小包を使用します。たとえば

この場合、サービスでサポートしたいオブジェクトタイプの.AIDLファイルを作成する必要があります。

私のサービスで「オブジェクト」タイプを使用する方法はありませんか?私の障害を克服するための他のアイデアはありますか?

ありがとう、Lioz。

4

1 に答える 1

0

Android IPCは、Parcelableインターフェースを使用して、データ型をマーシャリング/アンマーシャリングします。Objectはそれを実装していないので、Objectsを渡すことはできません。独自のルートタイプを作成することもできますが、オブジェクトのタイプごとに異なるセット属性があるため、役に立ちません。

AIDLドキュメントでオブジェクトの受け渡しを参照してください。それを通過するのに十分なはずです。

于 2012-11-09T23:54:46.180 に答える