私はアンドロイドプログラミングの初心者です。アンドロイドスタジオであなたの助けを求めています。クライアント/サーバベースのチャットアプリケーションをローカルで作成する必要がありますエリアネットワーク..どのように私はこのアプリを構築することができますし、それを行う最も簡単な方法かもしれません..アンドロイドスタジオのソケットを使ったシンプルなTCP/IPチャット
答えて
私はあなたが把握するためですが、これをコードする方法を教えていないが、私はあなたがする必要があることを教えてください。
まず、サーバーを作成する必要があります。あなたは、ポート946や他のソケットにまだバインドされていない/ユーザーであると言うTCPソケットを開くことで、これを行うでしょう。次に、クライアントから送信されたメッセージパケットを処理するパケットハンドラを作成する必要があります。
クライアント側では、クライアントのソケットを作成し、そのソケットをリモートホストに接続する必要があります。これで、メッセージパケットを作成し、この新しく作成されたソケットを介してリモートホストに送信し、サーバはそのパケットをコード化して処理します。
ここでは、開始するためのサンプルコードを示します。サーバー側
で
私は、XMLレイアウトを使用してAndroidのUIを作成する方法を知っていると信じています。 xmlレイアウトでは、idsを持つボタンlistViewを追加します。 ボタンをクリックすると、サーバーが起動し、クライアントからのメッセージを受信するためにそのサーバーを開いたままにします。
MainActivityでは、2つのインスタンス、Button、およびListViewを作成した後、findViewByIdでIDを検索します。 作成したアダプタにlistViewを設定します。
ArrayAdapter<String> myAdapter = new ArrayAdapter<>(MainActivity.this, R.layout.list_items, list);
listView.setAdapter(myAdapter);
ボタンをクリックすると、以下のメソッドが呼び出されます。
public void startListening(){
myThread = new Thread(new Runnable() {
@Override
public void run() {
try{
ServerSocket server = new ServerSocket(6000);
while(st) {
Socket socket = server.accept();
Message clientMessage = Message.obtain();
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
String strMessage = (String) ois.readObject();
clientMessage.obj = strMessage;
myHandler.sendMessage(clientMessage);
ois.close();
}
server.close();
} catch (IOException e) {
Message msg = Message.obtain();
msg.obj = e.getMessage();
myHandler.sendMessage(msg);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
});
myThread.start();
}
サーバーを起動し、クライアントから受信するデータのwhileループを使用して開いたままにします。 このメソッドを追加してUIスレッドを更新します。クライアント側
で
Handler myHandler = new Handler(){
@Override
public void handleMessage(Message status){
String myMessage = status.obj.toString();
list.add(myMessage);
}
};
XMLでサーバーにデータを送信するためのEditTextと送信ボタンを追加します。
mainActivityでは、editTextとButtonのインスタンスを作成し、findViewByIdでIDを探します。
editText =(EditText)findViewById(R.id.editText);
send = (Button)findViewById(R.id.send);
送信ボタンのオンクリックです。
send.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myString = editText.getText().toString();
sendData();
}
});
ベローはsendData()メソッドです。
public void sendData(){
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
Socket socket = new Socket("127.0.0.1", 6000);
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
oos.writeObject(myString);
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
});
thread.start();
}
2台のプロジェクトを同じAndroidデバイスまたはエミュレータで実行します。 私はこれがあなたを始めなければならないと思います。
- 1. シンプルな赤いチャット
- 2. シンプルなチャート使ったdiv
- 3. シンプルなソケットのpythonのトラブル
- 4. QGridLayoutを使ったPyQt5の簡単なチャットのためのGui
- 5. シンプルなWebチャットでwit.aiを使用してください。
- 6. シンプルなWebラッパーを使ったpython tkinter
- 7. JSPを使ったシンプルなAJAX
- 8. switch文を使ったシンプルなjavascript
- 9. elm-native-uiを使った基本チャット
- 10. ZabbixにTCPIPソケット経由でデータを送信する
- 11. ソケットを使ったCユニットテスト
- 12. シンプルなJavaソケットとスレッドプログラムのトラブル
- 13. ハスケルを使ったウェブアニメーションのための最もシンプルなパッケージ
- 14. シンプルなsymfonyフォームを使った奇妙な動作の制約
- 15. cygwinを使ったウィンドウ内のソケット
- 16. tcpソケットを使ったアンドロイドエミュレータの接続
- 17. 角度のGoogleチャットによるシンプルなJSON可視化
- 18. Javaを使った簡単なチャットの奇妙な振る舞い
- 19. 未知のXMLを使ったSAPのシンプルな変換
- 20. Gmailのチャットのようなチャットのチャットでチャットのチャットが行われたとき
- 21. VB.net 1.1 CreateProcessWithLogon APIを使用したTCPIPプリンタポートの作成
- 22. シンプルなOCRアプリ使ってAndroidのカメラ
- 23. Matlab TCPIPを含むスクリプトをコンパイルした後の不明なクラスエラー
- 24. シンプルなネットワーキングtcpとBoost.ASIOを使ったサーバとの通信
- 25. mongodbを使ったシンプルなpython scrapyクローラの作成
- 26. HTML/PHP内のZinoUIを使ったシンプルなユーザーインターフェイス
- 27. 次回/前回のリンクを使ったシンプルなスライドショー
- 28. シンプルなURLを使ったネイティブFacebook IOSアプリのオープンFacebookページ
- 29. シンプルなhtml domのパーサを使ったTwitter動向
- 30. PHPとjqueryを使ったシンプルな彗星の例
チュートリアルを検索するのが最善の策です。誰かが答えることができる特定の質問をしているわけではありません。 – CindyH
あなたはopensourceプロジェクトから仕事を始めることができます。[firechat](https://firechat.firebaseapp.com/) – suiwenfeng
チャットサーバーを作成し、ラップしたアプリケーションベースを作成します。 – suiwenfeng