okhttp类的简单封装,看连接,有大佬摘出来的操作,实测可以。
说明:设计为单例模式,以及在回调用接口的方法把回调,放入主线程中,这样就可以修改UI了,不过需要注意一点的是,不能传递response到主线程。只能把值传递到主线程,否则报错。
![59395d5147dea6c54af0989e578a883f.png](https://i-blog.csdnimg.cn/blog_migrate/79020098debc050a6c07894e20829a3e.jpeg)
Okhttp类的简单封装
fastjson解析,
写的清楚一点以及理解的话,就是把json数据变成了一个对象,然后就相当于你这个类,去创造够多的字段。一个类就能接受许多的json数据了。
而json里面又有多的json数据的话,就再多一个类。
(由已知,判断创建)
fastjson解析
由于用okhttp类时,用的是map传递数据过去。所以主要是map数据的传入和取出重要。
![9267432cacca7f2492bc4885cb1a5439.png](https://i-blog.csdnimg.cn/blog_migrate/639cbb828563ae4646cbbf60f207c77c.jpeg)
而当我要传递int[] a=[0,0,0]时,但直接.
int New_Bnad[]={0,0,0,0,2};
map.put(“Old_Band”,Old_JSONBand);
是没办法读出这个数组的。需要转换为JSON数组才行。
int New_Bnad[]={0,0,0,0,2}; JSONArray New_JSONBand = null,Old_JSONBand= null; try { New_JSONBand = new JSONArray(New_Bnad); } catch (JSONException e) { e.printStackTrace(); } map.put("New_Band",New_JSONBand);
这样就没有问题了。
传递json数据格式,操作如下.
JSONObject obj = new JSONObject();//表单对象,包含以input开始的对象,以html表单为主 obj.put(entry.getKey(),entry.getValue()); RequestBody body = RequestBody.create(type,""+obj.toString()); Request request = new Request.Builder().url(url).post(body).build();//采用post提交数据