2

長い質問で申し訳ありませんが、説明する必要があります。

asmack APIを使用してAndroidチャットクライアントを開発しています。接続を作成し、友達とチャットできます。今、私はそれを GUI クライアントに変更しており、ユーザーが複数の友人とチャットできるこの機能を持ちたいと考えています。これは、2 つのチャット アクティビティが開いている場合、1 つがアクティブになり、1 つが一時停止状態になることを意味します。ユーザーが同時に複数のユーザーとチャットできるこの機能を追加するにはどうすればよいか、いくつかのアイデアが必要です。一時停止したアクティビティと通信するバックグラウンド サービスを実装する必要がありますか、それとも他の方法で実現できますか?

バックグラウンド サービスを実装する必要がある場合、サービスの機能は何ですか? 間違った軌道に乗っている場合は、私を導いてください。

4

2 に答える 2

1

チャット システム全体を UI から分離する必要があります。また、UI はチャットの「ストリーム」に単純に「バインド」して、データを送受信する必要があります。これにより、チャットを切り替えることができ、これらの「見えない」チャットは引き続きパーティーからメッセージを受け取ることができます. また、アプリが「バックグラウンド」にある場合でもアプリがメッセージを受信できるようにする必要があるため、他に選択肢はありません。言うまでもなく、そのアプローチは、複数の表示可能なチャットを備えたタブレット用の UI を構築するのに役立ちます。

于 2012-11-24T14:35:48.013 に答える
0

はい、長時間実行されるサービスを使用できます。実際には、Service クラスよりもライフサイクルがはるかに短い Application クラスを拡張しますが、モバイル環境の帯域幅/接続性/バッテリーの制限により、永続的な接続を維持する必要はありません。

これを回避するために、ブロードキャスト レシーバーと Google GCM API を利用してオフライン通知を受け取ります。

明らかに、チャットが到着したときにアクティビティに通知するために、独自の内部インテント サービスも実装する必要があります。

お役に立てれば

于 2013-09-03T04:54:43.107 に答える