0
public void btnWeb_Click(View view){
String url="http://localhost/test/index.php";
List<NameValuePair> dict = new ArrayList<NameValuePair>();
dict.add(new BasicNameValuePair("url",url));
dict.add(new BasicNameValuePair("id", "3"));
PostReq postreq= new PostReq();
postreq.execute(dict);
String result="";
while(result==""){ result= postreq.content;}
System.out.println(result); }
PostReq
是異步執行Post請求到服務器的類。適用於Android的Java異步POST請求
問題是,如果我不把while
,打印功能打印變量RESULT爲空,因爲它沒有等待線程postreq.execute(dict)
完成操作。
我強迫等待WHILE
,但WHILE
阻止主線程。
如何等待直到執行該方法,然後將該值異步分配給變量RESULT
?
例如,在C#中的Windows Phone,我就是這麼做的:
async void button_click() {
Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("id", "3");
string url="http://localhost/test/index.php";
PostReq pr= new PostReq(url,dict);
String risposta = await pr.getRisposta(); }
使用Java的Android,而不是我該怎麼辦?
mmh ..在我的情況下如何使用AsyncTask的實際示例? – jjx
在我提供的鏈接中的例子應該給你一個關於如何在doInBackground()中實現的想法,你會做POST和在onPostExecute()中檢查你的結果。如果它對你有幫助,請接受答案。 – Ramp