Page 685 - 2
P. 685
EditText input; // 화면구성
Button button; // 화면구성
TextView output; // 화면구성
String data; //
@Override
protected void onCreate(Bundle savedInstanceState) { // 앱 시작시 초기화설정
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//start
input = (EditText) findViewById(R.id.input); // 글자입력칸을 찾는다.
button = (Button) findViewById(R.id.button); // 버튼을 찾는다.
output = (TextView) findViewById(R.id.output); // 글자출력칸을 찾는다.
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// 버튼이 클릭되면 소켓에 데이터를 출력한다.
String data = input.getText().toString(); // 글자입력칸에 있는 글자를 String 형태로
받아서 data 에 저장
Log.w("NETWORK", " " + data);
if (data != null) { // 데이터 없으면
out.println(data); //data 를 stream 형태로 변형하여 전송. 변환내용은 쓰레드에
담겨 있다.
}
}
});
Thread worker = new Thread() { //worker 를 Thread 로 생성
public void run() { // 스레드 실행구문
try {
// 소켓을 생성하고 입출력 스트립을 소켓에 연결한다.
socket = new Socket("192.168.4.1", 80); // 소켓생성
out = new PrintWriter(socket.getOutputStream(), true); // 데이터를 전송시 stre
am 형태로 변환하여
// 전송한다.
in = new BufferedReader(new InputStreamReader(
socket.getInputStream())); // 데이터 수신시 stream 을 받아들인다.
} catch (IOException e) {
e.printStackTrace();
- 685 -