Android线程不起作用

时间:2016-07-19 10:34:57

标签: java android multithreading

我想在我的应用程序中的后台线程中运行一些数据,但是当我在我的应用程序中尝试它时它不起作用。

请帮帮我。

以下是我的代码(到目前为止我尝试过的):

package com.example.mos.androidclientmymobile;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import android.os.Handler;
import android.widget.Toast;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class MainActivity extends AppCompatActivity {
  private TextView textView;
  Handler handler=new Handler();

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    textView=(TextView)findViewById(R.id.textview);

    Thread t=new Thread(new Runnable() {
      @Override
      public void run() {
        try {
          ServerSocket serverSocket=new ServerSocket(9000);
          log("watinng for client");
          Toast.makeText(getApplication(),"yes",Toast.LENGTH_LONG).show();
          Socket socket =serverSocket.accept();
          log("a new client connected");
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    });
    t.start();
  }

  public void log(final String message){
    handler.post(new Runnable(){
      @Override
      public void run(){
        textView.setText(message);
      }
    });
  }
}

我搜索了这个主题,但我找不到答案。

1 个答案:

答案 0 :(得分:0)

请尝试以下代码:

{{1}}