현재 상태에서 UI 스레드를 사용하므로이 프로그램에서 스레드를 사용하고 싶습니다. UI 스레드가 새로운 생성 된 스레드에 컨트롤을 전달하는 동안 UI 스레드를 사용하려면 다른 프로세스가 필요합니다.Android에서 스레드 사용
이 코드에서 스레드 구조를 사용하는 방법은 무엇입니까? AsyncTask
사용함으로써
public class Ping extends Activity implements OnClickListener
{
Button pingButton;
TextView pingText;
EditText pingCommand;
String address;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ping);
pingButton = (Button) findViewById(R.id.bPing);
pingCommand = (EditText) findViewById(R.id.tPingCommand);
pingText = (TextView) findViewById(R.id.tReturnResult);
pingButton.setOnClickListener(this);
}
public void ping()
{
try {
Process process = Runtime.getRuntime().exec("ping -c 8 " + address);
BufferedReader reader =
new BufferedReader(new InputStreamReader(process.getInputStream()));
int i;
char[] buffer = new char[4096];
StringBuffer output = new StringBuffer();
while ((i = reader.read(buffer)) > 0) {
output.append(buffer, 0, i);
pingText.setText(output);
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onClick(View arg0) {
address = pingCommand.getText().toString();
ping();
}
}