Android(安卓)HttpClient用法
16lz
2021-01-26
- packagecom.lingdududu.http;
- importjava.io.InputStream;
- importorg.apache.http.HttpResponse;
- importorg.apache.http.HttpStatus;
- importorg.apache.http.client.HttpClient;
- importorg.apache.http.client.methods.HttpGet;
- importorg.apache.http.impl.client.DefaultHttpClient;
- importandroid.app.Activity;
- importandroid.os.Bundle;
- importandroid.util.Log;
- publicclassHttpGetActivityextendsActivity{
- Stringuri="http://developer.android.com/";
- finalStringTAG_STRING="TAG";
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- try{
- //第一步:得到HttpClient对象,代表一个Http客户端
- HttpClientgetClient=newDefaultHttpClient();
- //第二步:得到HttpGet对象,代表请求的具体内容
- HttpGetrequest=newHttpGet(uri);
- //第三步:执行请求。使用HttpClient的execute方法,执行刚才构建的请求
- HttpResponseresponse=getClient.execute(request);
- //判断请求是否成功
- if(response.getStatusLine().getStatusCode()==HttpStatus.SC_OK){
- Log.i(TAG_STRING,"请求服务器端成功");
- //获得输入流
- //第四步:获取HttpResponse中的数据
- InputStreaminStrem=response.getEntity().getContent();
- intresult=inStrem.read();
- while(result!=-1){
- System.out.print((char)result);
- result=inStrem.read();
- }
- //关闭输入流
- inStrem.close();
- }else{
- Log.i(TAG_STRING,"请求服务器端失败");
- }
- }catch(Exceptione){
- //TODOAuto-generatedcatchblock
- e.printStackTrace();
- }
- }
- }
//第五步:获取HttpResponse中的数据
- packagecom.androidbook.services.httppost;
- importjava.io.BufferedReader;
- importjava.io.IOException;
- importjava.io.InputStreamReader;
- importjava.util.ArrayList;
- importjava.util.List;
- importorg.apache.http.HttpResponse;
- importorg.apache.http.NameValuePair;
- importorg.apache.http.client.HttpClient;
- importorg.apache.http.client.entity.UrlEncodedFormEntity;
- importorg.apache.http.client.methods.HttpPost;
- importorg.apache.http.impl.client.DefaultHttpClient;
- importorg.apache.http.message.BasicNameValuePair;
- importandroid.app.Activity;
- importandroid.os.Bundle;
- publicclassHttpPostActivityextendsActivity{
- Stringuri="http://developer.android.com/";
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- BufferedReaderin=null;
- try{
- //第一步:创建HttpClient对象,代表客户端
- HttpClientclient=newDefaultHttpClient();
- //第二步:创建HttpPost请求
- HttpPostrequest=newHttpPost("http://code.google.com/android/");
- //第三步:创建HttpPost请求体,使用NameValuePair来保存要传递的Post参数
- List<NameValuePair>postParameters=newArrayList<NameValuePair>();
- //添加要传递的参数
- postParameters.add(newBasicNameValuePair("id","12345"));
- postParameters.add(newBasicNameValuePair("username","dave"));
- //实例化UrlEncodedFormEntity对象
- UrlEncodedFormEntityformEntity=newUrlEncodedFormEntity(
- postParameters);
- //使用HttpPost对象来设置UrlEncodedFormEntity的Entity
- request.setEntity(formEntity);
- //第四步:执行请求,获得HttpServer的响应
- HttpResponseresponse=client.execute(request);
- in=newBufferedReader(
- newInputStreamReader(
- response.getEntity().getContent()));
- StringBufferstring=newStringBuffer("");
- StringlineStr="";
- while((lineStr=in.readLine())!=null){
- string.append(lineStr+"\n");
- }
- in.close();
- StringresultStr=string.toString();
- System.out.println(resultStr);
- }catch(Exceptione){
- //Dosomethingaboutexceptions
- }finally{
- if(in!=null){
- try{
- in.close();
- }catch(IOExceptione){
- e.printStackTrace();
- }
- }
- }
- }
- }
更多相关文章
- Android的Service深入分析(全)
- Android(安卓)原生webview传递header前端H5如何接收
- Android(安卓)6.0以上系统使用RxPermissions申请动态权限
- SharedPreferences最佳实践
- Android(安卓)使用Gson解析json用法
- Android(安卓)Monitor使用介绍
- Android(安卓)Intent设置类型setType();
- android:Activity数据传递之对象(Serializable)
- Android进阶(十六)子线程调用Toast报Can't create handler insid