import java.io.IOException;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
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.util.EntityUtils;
import android.content.Context;
/**
*
* @author
*/
public abstract class HttpUtils {
private Context context;
public void onSuccess(String resposeBody) {
}
public void onFailure(String exceptionMsg) {
}
public HttpUtils(Context _context) {
context=_context;
}
public void execute(String path,List<NameValuePair> parameters) {
try {
if(path.indexOf("http")==0){}
else{
path="http://" + context.getString(R.string.url) + ":8080"+path;
}
HttpClient httpclient = new DefaultHttpClient();
HttpPost request = new HttpPost(path);
UrlEncodedFormEntity formEntiry = new UrlEncodedFormEntity(
parameters);
request.setEntity(formEntiry);
HttpResponse response = httpclient.execute(request);
HttpEntity entity = response.getEntity();
String result = EntityUtils.toString(entity);
onSuccess(result);
} catch (MalformedURLException ex) {
onFailure(ex.getMessage());
} catch (IOException ex) {
onFailure(ex.getMessage());
}
}
public void onResponse(int code) {
if (code == 200) {
onSuccess("发送请求成功!");
} else {
onFailure("发送请求失败!请求代码:" + code);
}
}
}
使用:
HttpUtils request=new HttpUtils(context){
@Override
public void onSuccess(String resposeBody) {
if(resposeBody.equals("\"Success\"")){
}
else if(resposeBody.equals("\"UserErr\"") || resposeBody.equals("\"NotExists\"")){
}
super.onSuccess(resposeBody);
}
@Override
public void onFailure(String exceptionMsg) {
CommonUtils.Toast(exceptionMsg);
// TODO Auto-generated method stub
super.onFailure(exceptionMsg);
}
};
List<NameValuePair> parameters = new ArrayList<NameValuePair>();
parameters.add(new BasicNameValuePair("userName", userName));
parameters.add(new BasicNameValuePair("userPwd", userPwd));
request.execute("/rest/Crm/S_Crm_Users/CheckLogin/",parameters);