Cómo interrumpir un programa en ejecución desde la línea de comandos del Shell de Android
importar java.io.Importar java.net.HttpURLConnection;
importar java.net.MalformedURLException
importar java.net.URL
importar net.gimite.
clase pública MainActivity extiende Actividad {
outputView de TextView privado
Botón privado localRunButton
EditText privado localPathEdit;
Manejador privado = new Handler();
EditText privado urlEdit
Botón de ejecución remota
/** Se llama cuando se crea la actividad por primera vez.
@Override
public void onCreate(Bundle saveInstanceState) {
super.onCreate(savedInstanceState
super.
localPathEdit = (EditText) findViewById(R.id.localPathEdit);
localRunButton = (Button)findViewById(R.id.localRunButton);
localRunButton.setOnClickListener( onLocalRunButtonClick);
}
LocalRunButton.}
OnClickListener privado onLocalRunButtonClick = new OnClickListener() {
onClick público vacío (Ver v ) {
Salida de cadena = exec(localPathEdit.getText().toString());
salida(salida
// prueba { p>
// p>
/
/ // Proceso proceso = Tiempo de ejecución.
//
// // Proceso proceso = Tiempo de ejecución.
}
// }
}
}
// Ejecutar comandos UNIX .
private String exec(comando de cadena) {
prueba {
Proceso proceso = Runtime.getRuntime().exec(comando);
Lector BufferedReader = nuevo BufferedReader; (
new InputStreamReader(proceso.
int read;
char[] buffer = new char[4096];
salida StringBuffer = new StringBuffer();
mientras (((leer = lector.leer(búfer))) > 0) {
salida.append(búfer, 0, leer <); /p>
p>
}
reader.close();
proceso.waitFor()
devuelve salida.toString(
} catch (IOException e) {
lanzar nueva RuntimeException(e
} catch (InterruptedException e) {
lanzar nueva RuntimeException(e);
}
}
}
descarga privada nula (String urlStr, String localPath) {
pruebe {
URL url = nueva URL(urlStr
HttpURLConnection urlconn = (HttpURLConnection) url.openConnection(); >urlconn.setRequestMethod(" GET");
urlconn.setInstanceFollowRedirects(true);
urlconn.connect (
InputStream en = urlconn.getInputStream ();
FileOutputStream out = nuevo FileOutputStream(localPath);
int read
byte[] buffer = nuevo byte[4096]; >
mientras ((leer = in.
out.write(buffer, 0, read);
}
out.close();
in.close();
urlconn.disconnect();
} catch (MalformedURLException e) {
lanzar nueva RuntimeException (e);
} p>
} catch (IOException e) {
lanzar nueva RuntimeException(e);
}
fuera .close();
in.
}
}
pr
ivate salida vacía (cadena final) {
Proceso ejecutable = new Runnable() {
ejecución pública vacía() {
outputView.setText(str)
}
}
}
}
handler.post(proc); p>
p>
}
}
}