我有一個關於在Android中啓動線程的簡短問題。 我有一個名爲ClientThread的類,如果我在創建時就可以啓動它,但是如果我嘗試使用按鈕單擊該應用程序就會獲得cloesed。我的目標是將點擊客戶端連接到服務器,並在套接字是Cloesen時重新啓動客戶端線程。我希望有一個人可以幫助我。無法啓動線程與Buttonclick,但與oncreate
這裏北京時間類客戶端的代碼:
class ClientThread implements Runnable {
@Override
public void run() {
TextView socket_stat = (TextView) findViewById(R.id.socket_status);
socket_stat.setBackgroundColor(Color.YELLOW);
try {
EditText ip = (EditText)findViewById(R.id.tcpip);
SERVER_IP = ip.getText().toString();
InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
socket = new Socket(serverAddr, SERVERPORT);
if(socket!= null) {
socket_stat.setBackgroundColor(Color.GREEN);
}
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
我如何開始和結束線程/ Runnable的一個Click方法。
這是我已經測試了兩種方式:
public void connect(View view) {
1.Thread thread = new Thread(new ClientThread());
thread .start();
2.new Thread(new ClientThread()).start();
}
我希望有人能幫助我。
當你按鈕點擊開始你的線程時,有什麼錯誤 – sumit
我怎麼能跟蹤這個?我必須在設備上運行應用程序,因爲我使用了NFC適配器.... –
要查看錯誤,請在應用程序關閉並觀看日誌後將手機連接到PC上(可以使用從命令行使用logcat將日誌轉儲到文件中) – yakobom