我最近提出基于使用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