1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
package com.example.envoyer;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.StrictMode;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
Socket socket;
PrintStream pw;
BufferedReader br;
EditText History;
EditText message;
Button send;
final String serverAdress="10.0.2.2";
final private Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
String message=(String)msg.obj;
History.append(message);
};
};
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialogue);
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
History=(EditText)findViewById(R.id.messageHistory);
message=(EditText)findViewById(R.id.message);
send=(Button)findViewById(R.id.sendMessageButton);
/* */
try {
socket=new Socket(serverAdress, 4444);
br = new BufferedReader( new InputStreamReader( socket.getInputStream()) ) ;
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Thread lireMessage=new Thread(new Runnable() {
@Override
public void run() {
String line;
try {
while(true) {
line = br.readLine();
Message msg=handler.obtainMessage();
msg.obj=line;
handler.sendMessage(msg);
} // end of while
} catch(Exception ex) {}
}
});
lireMessage.start();
/* */
send.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
try {
pw = new PrintStream(socket.getOutputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String msg=message.getText().toString();
pw.print(msg);
pw.flush();
//Message mssg=handler.obtainMessage();
//mssg.obj=msg;
//handler.sendMessage(mssg);
message.setText("");
}
});
}
} |
Partager