2011-08-08 73 views
0

的Android的AsyncTask任何一個可以請告訴我如何解決這個問題....爲什麼不工作 我嘗試的AsyncTask到服務器的連接,因此它可以在單獨的線程爲HttpConnection的

private class SticketFunctionTask extends AsyncTask<String, Void, Void> { 

    @Override 
    protected Void doInBackground(String... string) { 

    try { 

//public void SticketFunction(){ 
    //HttpClient 
    HttpClient SpeedSticket = new DefaultHttpClient(); 
    //Response handler 
    ResponseHandler<String> res = new BasicResponseHandler(); 

    HttpPost postMethod = new HttpPost("http://www.mysite.php"); 
    //Log.v("log_tag", "+-+-+-+-+-+-+-+-+- Done: HTTP Post Sending Stickit to Server"); 
    //Log.v("log_tag", "+-+-+-+-+-+-+-+-+- sTICKET: " + z.getString(1) + " " + z.getString(2) + " " + z.getString(3) + " " + z.getString(4)); 

    try { 
     List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(5); 
     nameValuePairs.add(new BasicNameValuePair("bookName", z.getString(1)+"")); 
     nameValuePairs.add(new BasicNameValuePair("bookAuth", z.getString(2)+"")); 
     nameValuePairs.add(new BasicNameValuePair("ISBN", z.getString(3)+"")); 
     nameValuePairs.add(new BasicNameValuePair("LibNumber", z.getString(4)+"")); 
     //Encode and set entity 
     postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8)); 
     //Execute 
     String response = SpeedSticket.execute(postMethod, res).replaceAll("<(.|\n)*?>",""); 
     if (response.equals("Done")){ 

      //Log.v("log_tag", "!!!!!!!!!!!!!!!!!! SticketFunction got a DONE!"); 

     } 
     else Log.v("log_tag", "!!!!!!!?????????? SticketFunction Bad or no response: " + response); 

    } catch (ClientProtocolException e) { 
     // TODO Auto-generated catch block 
     //Log.v("log_tag", "???????????????????? SticketFunction Client Exception"); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     //Log.v("log_tag", "???????????????????? IO Exception"); 
    } 
} 
    } 
    } 
+0

你遇到了什麼問題? – PravinCG

+0

它從結尾的第三個括號(語法錯誤,插入「Finally」來完成 BlockStatements) – moe

+0

這是一個語法錯誤,您需要添加finally {}塊 – PravinCG

回答

1

如果您使用的是Eclipse,請選擇所有代碼,然後轉到源代碼 - >正確縮進(或按下Ctrl-I)。然後你會看到你有兩個try塊,但是兩個catch塊屬於第二次嘗試。所以你需要一個抓住或最後阻止第一次嘗試。

我認爲最簡單的修復方法是用第二次嘗試刪除該行。