Android Okhttp3和Gson框架简单使用
来源:互联网 发布:路由访客网络什么意思 编辑:程序博客网 时间:2024/06/03 19:26
使用HTTP访问网络,其工作原理就是客户端向服务器端发送一条HTTP请求,服务器端收到请求之后会返回一些数据给客户端,然后客户端再对这些数据进行解析和处理就行了.以前我们发送HTTP请求一般有HttpClent和HttpUrlConnection,由于技术的发展,我们只能选择使HttpUrlConnection,但是除了它,就没有选择了吗?当然不是,在我们盛行开源的今天,很多优秀的开源框架就出现了,比如OkHttp,由于其简单易用,底层实现优秀,所以现在已经成为我们开发者首选的开源网络通信库,当然还有很多,比如Volley,不过由于其局限性,所以我们只说OkHttp,那么数据有了,但是返回的数据要是json数据,这其中很有名的就是Gson解析框架了,当然一般够用就可以了,其他还有很多速度很快的解析框架,我们不去探讨(其中okhttp可以做很多事情,比如下载文件,上传文件,上传用户信息和获取等等,具体使用方法推荐鸿阳大哥的demo):
https://github.com/hongyangAndroid/okhttputils
OkHttp和Gson框架使用步骤:
1:在AS-app/module build.gradle-dependencies中添加依赖
compile 'com.squareup.okhttp3:okhttp:3.4.1' compile 'com.google.code.gson:gson:2.7'
2:创建实例-发送请求-获取数据
基本用法:
//创建客户端实例OkHttpClient client = new OkHttpClient();//post请求// RequestBody requestBody = new FormBody.Builder()// .add("username", "lisi")// .add("password", "123456")// .build();// Request request = new Request.Builder().url(address).post(requestBody).build();//向服务器端发送请求(get请求)Request request = new Request.Builder().url(address).build();//获取数据String response=client.newCall(request).excute();
回调用法:
public static void OkHttpRequest(String address, okhttp3.Callback callback) { //创建客户端实例 OkHttpClient client = new OkHttpClient(); //post请求// RequestBody requestBody = new FormBody.Builder()// .add("username", "lisi")// .add("password", "123456")// .build();// Request request = new Request.Builder().url(address).post(requestBody).build(); //向服务器端发送请求(get请求) Request request = new Request.Builder().url(address).build();//获取数据 client.newCall(request).enqueue(callback); }
3:对返回的数据进行Gson解析,若处理的数据response在一个方法中,那就必须使用runOnUiThread进行处理,若不在一个方法内,就可以用回调方式,以下就是解析的步骤:
//数据 String responseText = response.body().string(); //根据格式通过JSONObject和JSONArray进行转换 JSONObject jsonObject = new JSONObject(responseText); JSONArray jsonArray = jsonObject.getJSONArray("..."); String content = jsonArray.getJSONObject(0).toString(); //Gson解析 User user= new Gson().fromJson(content , user.class);
0 0
- Android Okhttp3和Gson框架简单使用
- android okhttp3框架使用
- android 使用retrofit和okhttp3总结(附gson和json的解析)
- Android Gson框架使用
- Android Retrofit 2.0(二)使用教程OkHttp3 + Gson + RxJava
- Android简单使用GSON
- Android OkHttp3网络请求框架使用入门
- Android常用Json解析框架GSON和FastJson的使用
- Android OkHttp3简介和使用详解
- Android Volley+OkHttp3+Gson 开源库的封装
- Android Volley+OkHttp3+Gson 开源库的封装
- android gson+okhttp3+gsonformat实现网络
- Android Volley+OkHttp3+Gson 开源库的封装
- okhttp3的简单使用
- okHttp3的简单使用
- 熟悉android开发框架,关于Okhttp3的使用
- 访问网络的框架(Volley和OkHttp3)使用
- Android OKhttp3使用
- Android与JS之间的互调
- PCIEZ之sth_util.h
- 机器学习笔记——线性回归
- PCIE之sth_util.cpp
- java 服务器获取请求的IP方法之总结
- Android Okhttp3和Gson框架简单使用
- java中的泛型
- Tomcat服务器配置https双向认证(使用keytool生成证书)
- 题目1431:Sort
- 计算机视觉-人脸渐变
- 设计模式一:策略模式
- Python爬虫抓取携程网机票信息并发邮件通知
- bzoj4540 序列
- 题目1432:叠筐