Android与服务器间数据传递及JSON解析

JSON常用类型介绍

日常中常用的面向对象数据类型有“对象”和面对集合的“数组”。

对象常用语处理单一对象,而数组用来处理集合数据。

Android处理两种数据类型的处理方式

1,对象处理

                    int res = 0;
                    res = httpClient.execute(httpPost).getStatusLine().getStatusCode();
                    if (res == 200) {
                        /*
                         * 当返回码为200时,做处理
                         * 得到服务器端返回json数据,并做处理
                         * */
                        HttpResponse httpResponse = httpClient.execute(httpPost);
                        StringBuilder builder = new StringBuilder();
                        BufferedReader bufferedReader2 = new BufferedReader(
                                new InputStreamReader(httpResponse.getEntity().getContent()));
                        String str2 = "";
                        for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2
                                .readLine()) {
                            builder.append(s);
                        }
             
                     JSONObject jsonObject = new JSONObject(builder.toString()).getJSONObject("userbean");

                    String Uid;
                    String Showname;
                    String Avtar;
                    String State;

                    Uid = jsonObject.getString("Uid");
                    Showname = jsonObject.getString("Showname");
                    Avtar = jsonObject.getString("Avtar");
                    State = jsonObject.getString("State");
2,数组处理

                    int res = 0;
                    res = httpClient.execute(httpPost).getStatusLine().getStatusCode();
                    if (res == 200) {
                        /*
                         * 当返回码为200时,做处理
                         * 得到服务器端返回json数据,并做处理
                         * */
                        HttpResponse httpResponse = httpClient.execute(httpPost);
                        StringBuilder builder = new StringBuilder();
                        BufferedReader bufferedReader2 = new BufferedReader(
                                new InputStreamReader(httpResponse.getEntity().getContent()));
                        String str2 = "";
                        for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2
                                .readLine()) {
                            builder.append(s);
                        }
                        /**
                         * 这里需要分析服务器回传的json格式数据,
                         */
                        JSONObject jsonObject = new JSONObject(builder.toString())
                                .getJSONObject("calendar");
                        JSONArray jsonArray = jsonObject.getJSONArray("calendarlist");
                        for(int i=0;i<jsonArray.length();i++){
                            JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i);
                            CalendarInfo calendarInfo = new CalendarInfo();
                            calendarInfo.setCalendar_id(jsonObject2.getString("calendar_id"));
                            calendarInfo.setTitle(jsonObject2.getString("title"));
                            calendarInfo.setCategory_name(jsonObject2.getString("category_name"));
                            calendarInfo.setShowtime(jsonObject2.getString("showtime"));
                            calendarInfo.setEndtime(jsonObject2.getString("endshowtime"));
                            calendarInfo.setAllDay(jsonObject2.getBoolean("allDay"));
                            calendarInfos.add(calendarInfo);
                        }

总结

Android.jar文件浅析
作为一个Java项目,通常情况下都会引入要用到的工具类,也就是Jar包,在Android开发中,绝大部分开发用的工具包都被封装到一个名叫Android.jar的文件里了。
如果我们在Eclipse中展开来看,可以看到j2se中的包,apache项目中的包,还有Android自身的包文件。在这里我们简单浏览一下Android的包文件:
android.app :提供高层的程序模型、提供基本的运行环境
android.content :包含各种的对设备上的数据进行访问和发布的类
android.database :通过内容提供者浏览和操作数据库
android.graphics :底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上.
android.location :定位和相关服务的类
android.media :提供一些类管理多种音频、视频的媒体接口
android.net :提供帮助网络访问的类,超过通常的java.net.* 接口
android.os :提供了系统服务、消息传输、IPC 机制
android.opengl :提供OpenGL 的工具
android.provider :提供类访问Android 的内容提供者
android.telephony :提供与拨打电话相关的API 交互
android.view :提供基础的用户界面接口框架
android.util :涉及工具性的方法,例如时间日期的操作
android.webkit :默认浏览器操作接口
android.widget :包含各种UI 元素(大部分是可见的)在应用程序的屏幕中使用


  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值