03.メッセージを送信する処理を作る
ニックネームをサーバーに送信するチャットルーム入室の処理を作成します。
画面に入力したメッセージをサーバーへ送信する処理を作成します。
解説
サーバーにメッセージを送信するには、以下を行います。
- m_socket.emit( イベント名, メッセージ );
実装
プロジェクトを開く
02.で作成したプロジェクトを開きます。
接続完了時の処理の編集
チャットクライアントアクティビティ を編集します。
「Project」ペインの「app > java > ドメイン.mychatapplication > ChatClientActivity」を開きます。
チャットクライアントアクティビティの接続完了時の処理に、
チャットルームへの入室処理である「サーバーに、イベント名'join' でニックネームを送信する処理」
を追加します。
接続完了時の処理を以下のようにします。
チャットクライアントアクティビティのレイアウトの編集
チャットクライアントアクティビティのレイアウトを編集します。
「Project」ペインの「app > res > layout > activity_chat_client.xml」を開きます。
ニックネームを表示するためのTextViewの下に、
メッセージを入力するためのEditText、
入力したメッセージを送信するためのButton、
を配置します。
activity_chat_client.xmlの内容を以下のようにします。
チャットクライアントアクティビティ の編集
チャットクライアントアクティビティ を編集します。
「Project」ペインの「app > java > ドメイン.mychatapplication > ChatClientActivity」を開きます。
メンバー変数宣言に、「メッセージを入力するためのEditText変数」を追加します。
onCreateメンバ関数の末尾に、「入力したメッセージを送信するためのButtonを押した際の処理」を追加します。
「ChatClientActivity」全体としては、以下のようにします。
ファイルを上書き保存します。
「Cannot resolve symbol」エラーは、「Alt + Enter」で、必要なクラスをimportします。
リビルドし、エラー、警告がないことを確認します。
実行
Android端末にて、動作確認。
ブラウザから、チャットサーバーにアクセスしておきます。
ニックネームを入力し、「GO TO CHAT」ボタンを押し、チャットクライアントアクティビティに遷移します。
サーバーに、イベント名'join' でニックネームが送信されます。
ブラウザに、新しい参加者が入室した旨のメッセージが、表示されます。
メッセージを入力し、「SEND」ボタンを押します。
ブラウザに、新しいメッセージが、表示されます。
ダウンロード
関連ページ
前項目:02.サーバーとの接続、切断の処理を作る
次項目:04.メッセージを受信する処理を作る