2011-12-18 13 views
0

私はAndroidチャットアプリケーションを作成しています。チャット画面に別のユーザーとのチャットスレッドのための新しいUI画面のような機能を追加したいしかし私はそれをさらに進めることは知らない。私はサービスやasyntaskを使うべきか、それとも他の方法がありますか?私が始めるのを手伝ってください。Androidでチャット画面を作成する方法は?

答えて

0

いいえ。ユーザーごとに各スレッドを使用すると、多くのスレッド(メモリ、作成およびクリア時間...)が発生します。

受信メッセージ(これはインテントを使用して簡単な作業です)を受信するときにサービスを使用して、メインのUIスレッドで行うことができます。

+0

ありがとう:)私は同じようにしました。私はすべてのメッセージをデータベースに保存しました。ユーザーリストの特定のユーザーをクリックするたびに、そのユーザーIDをチャット画面のアクティビティに送信し、ユーザーIDに基づいてデータベースから対応するメッセージを読み込みます。 –

0

アクティビティが終了すると、チャットが閉じられます(サーバー/ユーザーがチャットしていた別のデバイスとのネットワーク接続)ので、serivce/AsyncTaskを使用する理由は表示されません。スレッドがソケットストリームからのデータを待っていて、そのデータが到着するとそのデータをユーザに表示するだけです。

+0

一部の情報を残して申し訳ありません。私はSmack APIを使ってチャットを作成しています。したがって、チャットはAndroid OSによってアクティビティが停止されるまで閉じられません。また、ユーザーはAといっしょにチャットしている可能性があります。Bは通知としてメッセージを送信します。ユーザーが通知をクリックすると、新しいアクティビティが開始され、Bとのすべてのチャットメッセージが表示されます.10人のユーザーがいる場合はどうやって行ってください。 GTalkはジェスチャーを使ってチャットスレッドを切り替えます。しかし、私は彼らがチャットスレッドとUIアクティビティをどのようにマッピングするのか理解していません。 –

+0

私はSmack APIに慣れていません。しかし、アクティビティが死んでもネットワーク接続を存続させたい場合は、サービスを使用してください。 – Jong

+0

Smack API用のSOタグがあるようです。私はあなたの質問にそれを追加します。 – Jong

関連する問題