現在の状態では UI スレッドを使用しているため、このプログラムでスレッドを使用したいと考えています。UIスレッドが新しく作成されたスレッドに制御を渡す間、UIスレッドを使用するには他のプロセスが必要です。
このコードでスレッド構造を使用する方法は?
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();
}
}