最近闲下来了,整理下博客,以前都是在新浪博客上面弄, 觉得有点不好用,所以打算迁移过来到CSDN上面来。对于Android 这块,我基本上算是自学过来的,所以对于能帮到大家我都会在这边持续更新,希望能帮助到大家也同时欢迎大家提出意见和问题。
好了废话就到这里,开始今天的正题,首选对于Android开发来说大家用的比较多的肯定是网络请求,这个也是基本要求,那网络请求到底是什么,该怎么写呢,好多人估计刚开始时都不知道怎么做,将我的经验分享出来,请大牛勿喷,小弟才入道。
下面是一个简单的http请求(post方式):
public class httpRequest {
private String webConext;
//返回请求内容
public String getWebContext(){
return webConext;
}
public void setWebContext(String webContext){
this.webConext = webContext;
}
public int httpquesthttp(String url,String value){//这里接受界面传递过来的参数,
int status=0;//状态码
DefaultHttpClient httpClient =new DefaultHttpClient();//建立default网络请求链接
HttpPost post = new HttpPost(url);//网络传输方式
List<BasicNameValuePair> pairs =new ArrayList<BasicNameValuePair>();
pairs.add(new BasicNameValuePair("key", value));//这里我们将一个key,对应一个value组装起来放到ArrayList里面去
try {
post.setEntity(new UrlEncodedFormEntity(pairs,"UTF_8"));//对参数进行转格式编码。
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
try {
//这里就是对于请求的处理
httpClient.getParams().setIntParameter(HttpConnectionParams.SO_TIMEOUT, 60000);
httpClient.getParams().setIntParameter(HttpConnectionParams.CONNECTION_TIMEOUT, 60000);
HttpResponse response = httpClient.execute(post);//将请求以post方式发送出去
int res = response.getStatusLine().getStatusCode();//获取当前的响应码
if(res == 200){//对响应码进行处理
HttpEntity entity = response.getEntity();
if(entity!=null){
String info = EntityUtils.toString(entity,"UTF-8");//这里对接受到信息进行编码处理
setWebContext(info);//这里将获取到服务器返回给我们的数据 转存到WebContext中,方便其界面使用;
//System.out.println(info+"<====");
status=1;
}
}else if (res == 404) {
status = 404;
}else if (res == 500) {
status = 500;
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
status = 900;
} catch (ConnectTimeoutException e) {
// TODO Auto-generated catch block
e.printStackTrace();
status = 901;
} catch (InterruptedIOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
status = 902;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
status = 903;
}
return status;
}
}
下面就是调用方法:
String url = "http://www.baidu.com/";//请求的链接
httpRequest postRequest = new httpRequest();//调用httpRequest方法
postRequest.loginquesthttp(url, value);//向httpRequest传递参数
String contentString = postRequest.getWebContext().trim();//获取服务器接受的参数
System.out.println(contentString + "系统获取的消息");//进行输出调试