2011-02-14 83 views
0

我有這個(附加的)代碼,它完美地適用於我用eclipse創建的所有AVD。它在網站上調用一個php文件。當編寫調用http://somebody.me.uk/testingphp/signup.php?user=xxx時,php腳本會將xxx文件存檔。 php腳本沒有給出響應,也不需要,下面代碼循環中的內容就是我想要在php文件中捕獲的內容。在現實世界中,使用此代碼的nexus one phone無法聯繫php腳本。在嘗試解決問題時,我在try塊中的代碼行之間插入了代碼行,創建了Toast。突然,該應用程序開始工作,PHP文件的xxx。我認爲這是因爲它在聯繫人面前拖延了一段時間,同時顯示敬酒,併爲通信工作提供了機會。任何想法如何解決問題(不使用吐司)謝謝。如何等待URL調用完成

private boolean hasSolution(){ 
     if (cells.solve()) {     
      // send to web site for QA analysis. 
      String urlString = "http://somebody.me.uk/testingphp/signup.php?user=" ; 
      for (int j=0; j<9; j++) { 
       for (int i=0; i<9; i++) { 
        urlString += cells.getSolution(i, j); 
       }// end for i 
      }// end for j 
    try { 
       URL url = new URL(urlString); 
       URLConnection conn = url.openConnection();     
       BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); 
       rd.close(); 
      }catch (IOException e) {Toast.makeText(app.this, "io error", Toast.LENGTH_SHORT).show();} 

      return true; 
     }// end if 
     return false; 
    } 

回答

2

//您的活動定義這兩個可變

private ProgressDialog pDialog = null; 
private Runnable submittingScore; 


submittingScore = new Runnable(){ 
@Override 
public void run() 
{ 
try { 
     do your task here 
    } 

catch (Exception e) { 
pDialog.dismiss(); 
// TODO Auto-generated catch block 
            e.printStackTrace(); 
    } 
    } 

}; 


Thread thread = new Thread(null, submittingScore, "MultibreifsBackground"); 
    thread.start(); 
pDialog = ProgressDialog.show(postServer.this,  
"Please wait...", "Submitting Scores...", true); 

pDialog.dismiss在所有捕撈方法。現在,當你調用URL時,它將顯示處理,直到URL完成

+0

我得到了這個工作。 Thankyou Amit – DMW 2011-02-15 12:17:07