3
我正在開發一個小應用程序,它執行shell命令並顯示輸出說例如ping命令。該應用程序具有一個edittext,它將主機名或IP作爲用戶的輸入和一個按鈕來執行命令。目前我已經使用了一個ArrayList來存儲命令執行後產生的輸出。但它不是顯示輸出的正確方式,我寧願動態地顯示輸出,就像獨立的命令行顯示一樣,在運行時逐行顯示輸出。有沒有什麼特定的方法可以在運行時顯示輸出。如何在android中動態顯示輸出?
以下是代碼
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;
}
Thanks @maebe ...我使用AsyncTask Class實現,以便輸出將顯示在UI本身中。 – Unnikrishnan