資源簡介
安卓
代碼片段和文件信息
package?com.example.c;
import?java.io.DataInputStream;
import?java.io.DataOutputStream;
import?java.io.IOException;
import?java.net.InetSocketAddress;
import?java.net.Socket;
import?java.net.SocketAddress;
import?java.net.SocketTimeoutException;
import?java.net.UnknownHostException;
import?java.nio.charset.Charset;
import?com.example.c.R;
import?android.os.AsyncTask;
import?android.os.Bundle;
import?android.os.Handler;
import?android.os.Message;
import?android.annotation.SuppressLint;
import?android.app.Activity;
import?android.view.View;
import?android.widget.Button;
import?android.widget.EditText;
import?android.widget.Toast;
public?class?C_MainActivity?extends?Activity?{
private?final?String?ServerIP?=?“192.168.4.1“;
private?final?int?port?=?5000;
public?Socket?socket?=?null;
public?Button?btn1?=?null;
public?Button?btn2?=?null;
public?EditText?Text1?=?null;
public?EditText?Text2?=?null;
boolean?state?=?true;
public?DataOutputStream?ou;
public?DataInputStream?in;
@Override
protected?void?onCreate(Bundle?savedInstanceState)?{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_c__main);
btn1?=?(Button)?findViewById(R.id.button1);
btn2?=?(Button)?findViewById(R.id.button2);
Text1?=?(EditText)?findViewById(R.id.editText1);
Text2?=?(EditText)?findViewById(R.id.editText2);
//?連接服務器
registerquery(ServerIP?port);
btn1.setonclickListener(new?View.onclickListener()?{
@Override
public?void?onclick(View?v)?{
receive_registerquery();
}
});
btn2.setonclickListener(new?View.onclickListener()?{
@Override
public?void?onclick(View?v)?{
send_registerquery();
}
});
}
private?void?registerquery(final?String?ServerIP_value?final?int?port)?{
//?TODO?Auto-generated?method?stub
new?AsyncTask()?{
//?開啟分線程執行doInBackground()方法之前執行的方法,在主線程中執行,可以更新UI
@Override
protected?void?onPreExecute()?{
};
//?此方法在分線程里面執行,不能更新UI
@Override
protected?String?doInBackground(Void...?params)?{
String?entityString;
try?{
socket?=?new?Socket();
try?{
/*
?*?連接服務器超時失敗
?*/
SocketAddress?socAddress?=?new?InetSocketAddress(
ServerIP_value?port);
socket.connect(socAddress?2000);
entityString?=?“success“;
}?catch?(SocketTimeoutException?se)?{//?拋出異常
entityString?=?“fail“;
}
}?catch?(UnknownHostException?e)?{
//?TODO?Auto-generated?catch?block
entityString?=?“fail“;
e.printStackTrace();
}?catch?(IOException?e)?{
//?TODO?Auto-generated?catch?block
entityString?=?“fail“;
e.printStackTrace();
}
return?entityString;
}
//?doInBackground()執行完之后調用此方法,并且會傳遞result給此方法,此方法在主線程里執行,可以直接更新UI
@Override
protected?void?onP
評論
共有 條評論