Je développe une petite application qui exécute des commandes de shell et affiche la sortie disons par exemple la commande ping. L'application a un edittext qui prend le nom d'hôte ou IP en entrée de l'utilisateur et un bouton pour exécuter la commande. Pour l'instant, j'ai utilisé un ArrayList qui stocke la sortie générée après l'exécution de la commande. Mais ce n'est pas une manière correcte d'afficher la sortie, je préfère plutôt afficher la sortie dynamiquement comme un affichage de ligne de commande autonome qui affiche la sortie ligne par ligne à l'exécution. Existe-t-il un moyen spécifique d'afficher la sortie pendant l'exécution.Comment afficher dynamiquement la sortie dans Android?
Voici le code
protected void executePingCommand() {
List<String> output=new ArrayList<String>();
output.clear();
try
{
Process pr=Runtime.getRuntime().exec(new String[]{"su","-c","ping -c 5 "+ipadd});
BufferedReader br=new BufferedReader(new InputStreamReader(pr.getInputStream()));
String var=null;
String temp=br.readLine();
while((var=br.readLine())!=null)
{
output.add(var);
display(output);
}
}
catch(Exception e)
{
}
}
protected void display(List<String> output2) {
// TODO Auto-generated method stub
pingOutput.setAdapter(new ArrayAdapter<String>(this, R.layout.custom_list_view, output2));
return;
}
Merci @maebe ... J'ai implémenté AsyncTask Class pour que la sortie soit affichée dans l'interface utilisateur elle-même. – Unnikrishnan