Поток, который не является UiThreadAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Поток, который не является UiThread

Сообщение Anonymous »

Я использую поток для запуска моего ServerSocket и транзакций, которые занимают более 500 мс.

Я думаю, что это вызывает некоторые Сообщения «Приложение не отвечает».

Я попытался создать поток, чтобы отделить его от 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.(Handler.java:121)
04-11 21:57:23.864: E/AndroidRuntime(11761): at android.widget.Toast.(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)


Подробнее здесь: https://stackoverflow.com/questions/230 ... t-uithread
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»