json形式的 Android(安卓)客户端与服务器端数据交互
Android 客户端与服务器端数据交互
一、json封装数据
1、json数据有两种形式JSONArray,JSONObject其中JSONObject中封
装的是对象,JSONArray中是以数组的形式存储对象的,它里面包
含的是许多的对象。
2、JSONObject处理处理一些简单实体类POJO或者map
JSONArray处理一些数组集合类的使用
3、任何一个java对象对可以用fromObject()方法转成json格式的输出
二、客户端向服务器端发送数据
1、申明一个异步的http客户端请求
AsyncHttpClient client = new AsyncHttpClient();
2、请求参数
RequestParams pa = new RequestParams();
pa.put("id", id);
pa.put("partem", "json");
3、以post的形式将数据发送到服务器
client.post("http://10.0.2.2:8080/Trip/AllTrip_placeServlet", pa,
new JsonHttpResponseHandler() {
@Override
public void onFailure(Throwable e,
JSONObject/JSONArray errorResponse) {
super.onFailure(e, errorResponse);
}
@Override
public void onSuccess(JSONArray/JSONObject response) {
super.onSuccess(response);
//对象及直接使用,JSONArray就循环取出数据,
封装到对象,将对象添加到list里面,以后就可以
使用的所有的对象了
}
注意:http://10.0.2.2:8080/Trip/AllTrip_placeServlet,中的10.0.2.2
如果用android端的虚拟手机的话就用这个就行了,这样避免了每一
次都换ip地址,但是也可以用服务器端的ip地址,看个人爱好,至
于用实机测试的话那就得将服务器的ip地址写在上面,比如说
192.168.XXX.XXX,当成功之后在onSuccess方法里面操作即可。
三、服务器端实现。
1、在上面给定的doPost方法里面接收参数
String id=request.getParameter("id");
String partem=request.getParameter("partem");
2、调用其他的类实现访问数据库操作,实现想要的操作
增删改查数据库数据
3、当数据库的数据库取回来之后,或者是完成相应的操作得到相应的
回应之后,需将数据传送到客户端。
if(partem.equals("json")){
JSONArray json=JSONArray.fromObject(list);
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
response.getWriter().write(json.toString());
}
//此处封装的是list,如果是的单个的对象的话,则可以用
JSONObject json=JSONObject.fromObject(对象);
4、客户端只需在onSuccess方法里面接收数据,操作即可。
四、总的来说需区别json封装的是对象还是数组,封装只需调用fromObject.
更多相关文章
- “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
- Nginx系列教程(二)| 一文带你读懂Nginx的正向与反向代理
- Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
- RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
- 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
- JSBridge 实现机制
- 获取谷歌日历日程数据
- Android——四大组件、六大布局、五大存储
- Android基础学习【历史流程重走】 ---- Android入门基础(二)