我正在使用Thread
來啓動我的ServerSocket
,而我的事務處理時間超過500毫秒。非UiThread的線程
我認爲這觸發了一些「應用程序沒有響應」的消息。
我試圖創建一個線程,將其與UiThread
分開。
這裏是我的代碼:
Thread socketServerThread=new Thread(new ServerSocketThread());
socketServerThread.start();
public class ServerSocketThread extends Thread {
static final int SocketServerPORT = 8080;
int count = 0;
@Override
public void run() {
try {
serverSocket = new ServerSocket(SocketServerPORT);
Toast.makeText(getApplicationContext(), "server is on", Toast.LENGTH_SHORT).show();
while (true) {
Socket socket = serverSocket.accept();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
我的應用程序崩潰時我打開它。
我該如何解決這些錯誤?
我的logcat:
04-11 21:57:23.864: E/AndroidRuntime(11761): FATAL EXCEPTION: Thread-11
04-11 21:57:23.864: E/AndroidRuntime(11761): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
04-11 21:57:23.864: E/AndroidRuntime(11761): at android.os.Handler.<init>(Handler.java:121)
04-11 21:57:23.864: E/AndroidRuntime(11761): at android.widget.Toast.<init>(Toast.java:68)
04-11 21:57:23.864: E/AndroidRuntime(11761): at android.widget.Toast.makeText(Toast.java:231)
04-11 21:57:23.864: E/AndroidRuntime(11761): at com.example.imagesender.MainActivity$ServerSocketThread.run(MainActivity.java:79)
04-11 21:57:23.864: E/AndroidRuntime(11761): at java.lang.Thread.run(Thread.java:1019)
以及什麼是錯誤 – tyczj
沒有堆棧跟蹤,沒有答案。 – njzk2
在帖子中添加了logcat。 – user3465277