336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
package com.tistory.tansanc.Test130805;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.StringTokenizer;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
String msg;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SharedPreferences pref = getSharedPreferences("Chatting", 0);
String nickName = pref.getString("nickName", "noname");
if (nickName.equals("noname")) {
Intent intent = new Intent(this, InputNickNameActivity.class);
startActivity(intent);
// 최초 구동 시
}
setContentView(R.layout.activity_main);
MessageReceiveThread mrt = new MessageReceiveThread();
mrt.start();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
SharedPreferences pref = getSharedPreferences("Chatting", 0);
String nickName = pref.getString("nickName", "noname");
super.onResume();
}
public void mOnClick(View v) {
EditText editText1 = (EditText) findViewById(R.id.editText1);
msg = editText1.getText().toString();
MessageSendThread mst = new MessageSendThread();
mst.start();
}
public void MessageBoxPopUp(String message, String positive, String negative) {
new AlertDialog.Builder(this).setTitle("질문").setMessage(message)
.setPositiveButton(positive, mClick)
.setNegativeButton(negative, mClick).show();
}
DialogInterface.OnClickListener mClick = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
if (whichButton == DialogInterface.BUTTON1) {
msg = "OK";
MessageSendThread mst = new MessageSendThread();
mst.start();
} else {
msg = "NO";
MessageSendThread mst = new MessageSendThread();
mst.start();
}
}
};
class MessageReceiveThread extends Thread {
@Override
public void run() {
// TODO Auto-generated method stub
Socket socket = null;
PrintWriter out = null;
BufferedReader in = null;
try {
socket = new Socket("115.20.247.141", 2013);
out = new PrintWriter(new OutputStreamWriter(
socket.getOutputStream(), "utf-8"), true);
in = new BufferedReader(new InputStreamReader(
socket.getInputStream(), "utf-8"));
while (true) {
String receiveString = in.readLine();
Message message = new Message();
message.obj = receiveString;
mHandler.sendMessage(message);
}
} catch (UnknownHostException e) {
} catch (IOException e) {
}
super.run();
}
}
class MessageSendThread extends Thread {
public void run() {
Socket socket = null;
PrintWriter out = null;
BufferedReader in = null;
try {
socket = new Socket("115.20.247.141", 2013);
out = new PrintWriter(new OutputStreamWriter(
socket.getOutputStream(), "utf-8"), true);
in = new BufferedReader(new InputStreamReader(
socket.getInputStream(), "utf-8"));
out.println(msg);
out.close();
in.close();
socket.close();
} catch (UnknownHostException e) {
} catch (IOException e) {
}
}
}
Handler mHandler = new Handler() {
public void handleMessage(android.os.Message msg) {
String receiveString = (String) msg.obj;
if (receiveString.charAt(0) != 'q' ) {
TextView textView1 = (TextView) findViewById(R.id.textView1);
textView1.setText(textView1.getText() + "\n" + receiveString);
}
else
{
StringTokenizer st = new StringTokenizer(receiveString,":");
st.nextToken();
MessageBoxPopUp(st.nextToken(),st.nextToken(),st.nextToken());
}
}
};
}
'Programming > Android' 카테고리의 다른 글
| Android 실습 0823 (0) | 2013.08.23 |
|---|---|
| PinchToZoom ImageView 로 구현 (0) | 2013.08.23 |
| Android 채팅 소스 04 (0) | 2013.08.21 |
| Android 채팅 서버 소스 01 (0) | 2013.08.20 |
| Android 채팅 소스 03 (0) | 2013.08.20 |

