1

私はこれをしばらくの間機能させようとしてきました。電話からラップトップの単純なサーバーにメッセージを送信しようとしています。NetworkOnMainThreadException が発生し続けます。新しい Thread(new Runnable() など) と ASynchTask を作成しようとしましたが、まだエラーが発生し、アプリを強制終了しています。次のような質問を 3 つまたは 4 つ読みました。これは私にとってはうまくいきませんでした.これが私のコードです:

final Button post2 = (Button) findViewById(R.id.postbutton2);

    post2.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            new Thread(new Runnable() {
                // TODO Auto-generated method stub

                @Override
                public void run() {
                    // TODO Auto-generated method stub

                    message = text.getText().toString(); //Message is a string, text is an EditText.
                    text.setText("");

                    try {
                        clientSocket = new Socket("10.0.0.2", 4445);
                        printWriter = new PrintWriter(clientSocket
                                .getOutputStream(), true);
                        printWriter.write(message);

                        printWriter.flush();
                        printWriter.close();
                        clientSocket.close();

                    } catch (UnknownHostException e) {
                        e.printStackTrace();
                        Toast.makeText(context, e.toString(),
                                Toast.LENGTH_SHORT).show();
                    } catch (IOException e) {
                        e.printStackTrace();
                        Toast.makeText(context, e.toString(),
                                Toast.LENGTH_SHORT).show();
                    }
                }

            }).start();
        }

    });
4

2 に答える 2

0

あなたがしなければならないYourActivity.this.runOnUiThread(new Runnable() { public void run() { /* show your toast here */ });

于 2013-05-09T20:47:44.067 に答える