首页 > 代码库 > Android与服务器间数据传递及JSON解析

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 元素(大部分是可见的)在应用程序的屏幕中使用


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