2011-09-24 20 views
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; 
} 

回答

0

聽起來像是你需要設置將與onclicklistener執行可運行。 IE用戶鍵入IP地址,點擊按鈕。然後刷新視圖以顯示新項目。

+0

Thanks @maebe ...我使用AsyncTask Class實現,以便輸出將顯示在UI本身中。 – Unnikrishnan

相關問題