Okhttp网络通信框架的使用
来源:互联网 发布:怎么删除多重网络 编辑:程序博客网 时间:2024/05/21 19:36
Okhttp框架的使用方法
首先先让大家看一下,传统网络通信的连接方法,以此来说明使用okhttp框架的好处。
这是URL的连接方法。
public String get(String u) throws IOException { URL url = new URL(u); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setReadTimeout(5000); if (conn.getResponseCode()==200){ InputStream inputStream = conn.getInputStream(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream,"GB2312"); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); StringBuffer buffer = new StringBuffer(); String ss; while((ss=bufferedReader.readLine())!=null) buffer.append(ss); bufferedReader.close(); inputStreamReader.close(); inputStream.close(); json = buffer.toString(); } return json; }
这是httpclient的连接。
public String get(String url) throws IOException { HttpClient httpClient = new DefaultHttpClient(); HttpGet get = new HttpGet(url); HttpResponse httpResponse = httpClient.execute(get); int status = httpResponse.getStatusLine().getStatusCode(); if (status==200){ InputStream inputStream = httpResponse.getEntity().getContent(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); StringBuffer buffer = new StringBuffer(); String ss; while ((ss = bufferedReader.readLine())!=null) buffer.append(ss); bufferedReader.close(); inputStreamReader.close(); inputStream.close(); json = buffer.toString(); } return json; }
这两种方式都是GET的连接方式,而且都是获取接口的Json数据的方式来体现的。
大体都是一样的,都是传入一个接口,然后进行连接,然后获取流,对数据进行处理等,最后得到我们想要的Json数据。
最后,我们来看一下,okhttp的处理方式:
OkHttpClient okHttpClient = new OkHttpClient(); FormBody.Builder builder = new FormBody.Builder(); builder.add("参数名", 参数值); Request request = new Request.Builder() .url("") .post(builder.build()) .build(); Response response = okHttpClient.newCall(request).execute(); String json = response.body().string();
看完之后有没有很惊讶的感觉,没错,用okhttp只需要这么多代码,相比传统的方式,okhttp用起来是不是更加的轻便快捷呢。
接下来就告诉大家怎样使用okhttp框架。
如果你使用的是Eclipse的话,直接导入jarbao就行,如AndroidStudio,你也可以直接选择导入jar包,也可以直接
在build.gradle
中的最后添加 compile ‘com.squareup.okhttp3:okhttp:3.4.1’
,然后点击Build-ReBuild Project,会自动帮你下载。
如果你需要连接的接口,不需要传入参数,你就可以直接
这样:
public String get(String url){ try { OkHttpClient okHttpClient = new OkHttpClient(); Request request = new Request.Builder() .url(url)//url为你需要进行连接的接口 .build(); Response response = okHttpClient.newCall(request).execute(); json = response.body().string(); }catch (Exception e){ e.printStackTrace(); } return json; }
最后得出我们想要的Json;
如果需要传入参数,就需要再添加点东西:
OkHttpClient okHttpClient = new OkHttpClient(); FormBody.Builder builder = new FormBody.Builder(); builder.add("参数名", 参数值); //如果还有其他参数,在下面再进行build.add("参数名",参数值) Request request = new Request.Builder() .url("http://192.168.14.178:8080/Wentity/Close") .post(builder.build()) .build(); Response response = okHttpClient.newCall(request).execute(); String json = response.body().string(); //json即我们需要得到的Json。
这就是okhttp的基本用法,是不是感觉很轻便呢!
大家有什么问题可以通过留言的方式问我,希望这篇文章可以让
你学到更多。
阅读全文
1 0
- Okhttp网络通信框架的使用
- okhttp网络框架的使用
- OkHttp网络框架的使用
- okhttp网络请求框架的简单使用
- Android网络请求框架的使用okhttp
- 网络请求框架okhttp的使用
- OkHttp网络请求框架的使用
- Android网络框架-OkHttp使用
- Android网络框架-OkHttp使用
- OKhttp网络获取框架使用
- okhttp框架的使用
- OKHttp框架的使用
- Okhttp框架的使用
- 安卓网络请求框架okHttp的使用与封装
- 网络请求框架 okhttp 简单的使用总结(一)
- 网络请求框架(一)-----okHttp的使用
- okhttp网络框架的使用get和post请求
- 项目中okhttp网络框架的封装使用
- spring bean定义和自动注入
- 读zk 节点 报空指针
- Linux_Mysql环境配置
- mysql 5.7安装教程
- SpringMVC工作原理
- Okhttp网络通信框架的使用
- 小程序-tab切换
- 基于SpringBoot的Jpa查询
- 进程控制
- Shop项目--4. 分页显示商品的,与分页跳转,上一页,下一页product_list.jsp
- 思岚科技邀你2017日本东京国际机器人展
- python中GIL问题(多线程问题,调用的函数用C语言写)
- QTableView根据内容自动调整大小(resizeColumnToContents解决不了的)
- Mysql_full_backup.sh