我一直在搜索,但是我找不到任何允许发布HTTP post请求的方法的实现,接收URL和数据作为函数的参数。
我的意思是,我发现的所有样本都是针对一组特定的参数量身定制的,我需要的是在AsyncTask方法中获取URL和带有数据的数组,但是如何传递url(字符串)参数和后期数据(数组)参数?
任何帮助或链接都将受到赞赏。
答案 0 :(得分:0)
我对类似情况使用以下模式:
import java.util.List;
import org.apache.http.NameValuePair;
import android.os.AsyncTask;
public class AsyncHttpPostTask extends AsyncTask<Void, Void, Boolean> {
private List<NameValuePair> httpPostParams;
private String postHref;
private String someOtherValue;
public AsyncHttpPostTask(final String postHref, final List<NameValuePair> httpPostParams, final String someOtherValue) {
super();
this.postHref = postHref;
this.httpPostParams = httpPostParams;
this.someOtherValue = someOtherValue;
}
@Override
protected Boolean doInBackground(final Void... params) {
// Use httpPostParams (or any other values you supplied to a constructor) in your actual Http post here
// ...
return true;
}
}
要使用AsyncTask,请创建一个实例,为构造函数提供必需的参数,并调用execute():
new AsyncHttpPostTask("http://example.com/post", httpPostParams, otherValue).execute();