2011-02-14 82 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