我最近提出基於使用POST數據HTTP請求(這裏找到:Android API 14 - POST Data to HTTP)一個問題,有人告訴我,我需要嘗試像的AsyncTask的東西,因爲我無法進行網絡主線程中的操作。Android的API 14 - 網絡運營/的AsyncTask
總之形式,我不知道如何做到這一點。任何幫助表示讚賞!這裏是我的代碼:
package me.babblebox.application;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
public class BabbleBoxActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void check_login() {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://babblebox.me/android/test.php");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("id", "12345"));
nameValuePairs.add(new BasicNameValuePair("stringdata", "Hi"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
public void check_login_button(View v) {
check_login();
}
}
你有沒有看着http://developer.android.com/resources/articles/painless-threading.html?它幾乎涵蓋了它...你有特定的問題嗎? – Craigy
@Craigy是的,我的問題是我怎麼會用這個來發送POST/GET數據到一個HTTP網頁,並獲取迴響應?如果我不能這樣做,是否有辦法用我的方法在OP中執行,但在另一個線程上執行?因爲我不知道如何去做。 – Oyed