Android 下使用 JSON 实现 HTTP 请求

Android 下使用 JSON 实现 HTTP 请求
Android 下使用 JSON 实现 HTTP 请求

Android下使用JSON实现HTTP请求,外加几个示例!

不得不说,JSON格式的确是非常美妙的,速度快而且简化了很多操作

在Android下,Android SDK已经为我们封装好了整个与JSON有关的操作,使用非常方便

以下就是一个标准的JSON请求的实现过程:

[java]view plaincopyprint?

1.HttpPost request=new HttpPost(url);

2.//先封装一个JSON对象

3.JSONObject param=new JSONObject();

4.param.put("name","rarnu");

5.param.put("password","123456");

6.//绑定到请求Entry

7.StringEntity se=new StringEntity(param.toString());

8.request.setEntity(se);

9.//发送请求

10.HttpResponse httpResponse=new DefaultHttpClient().execute(request);

11.//得到应答的字符串,这也是一个JSON格式保存的数据

12.String retSrc=EntityUtils.toString(httpResponse.getEntity());

13.//生成JSON对象

14.JSONObject result=new JSONObject(retSrc);

15.String token=result.get("token");

android下支持JSON的远程访问(推荐此BLOG):

https://www.360docs.net/doc/199648126.html,/archives/1707

关于android JSON写入类--JsonWriter,轻松生成JSON格式的数据:

https://www.360docs.net/doc/199648126.html,/2011/03/05/android-3-0-json-jsonwriter/

android JSON解析示例代码,每日维基widget:

https://www.360docs.net/doc/199648126.html,/androidkaifa/664.html

客户端向服务器端发送数据,一种是在url中带参数,一种是json数据发送方式(小陌):https://www.360docs.net/doc/199648126.html,/?p=241

android访问PHP取回JSON数据:https://www.360docs.net/doc/199648126.html,/post/114/

如何用android JSON对象发送一个请求:

https://www.360docs.net/doc/199648126.html,/question/3027066/如何发送一个请求在与Android-JSON对象面试题:

URL="http://123.57.49.105/index.php/Api/Index/"

传参:

CODE=1006

JSON:page//页码

upDownFlag//刷新、加载;0初始化

lng//经度

lat//纬度

返回:resCode0,失败;1,成功

resData

对象字段:productName//商品名称

productInfo//商品介绍

favorablePrice//销售价格

marketPrice//市场价格

saleNumber//销售量

thumbUrl//商品图片

Android利用Gson实现对象和Json数据的相互转换

Android利用Gson实现对象和Json数据的相互转换 MainActitity如下: package cc.test; import android.app.Activity; import android.os.Bundle; /** * Demo描述: * 利用Gson实现对象和Json数据的相互转换 * * Demo描述: * 通过一个网络请求,获取JSON数据 * * 注意: * 1 网络请求的参数是JSON格式的数据 * 2 请求结果返回的亦是JSON格式的数据 * */ public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(https://www.360docs.net/doc/199648126.html,yout.main); init(); } private void init(){ new Thread(){ public void run(){ GetJsonDataByPost httpJsonPost=new GetJsonDataByPost(); String[] pathArray=httpJsonPost.getPathArray("dev0003"); for(int i=0;i

[Android开发] Json解析工具类,一个类搞定Json的解析

[Android开发] Json解析工具类,一个 类搞定Json的解析 一、简介 利用递归的方式反射解析到bean里面 二、详细代码 1、Json格式 例如服务器指定规定json格式为: { "code": "……" , // 返回代号,预留字段,默认返回null "type":"ERROR", // 返回类型,表示操作是成功或失败 "desc":"……", // 返回描述,描述性文字,主要保存用于弹窗显示的文字 "action":"SHOW", //返回操作,该操作值提供给终端使用,用于决定当前收到返回后的操作 "data": "……" // 返回数据,根据请求上传的参数,返回对应的数据,或返回null } 对应的数据在data里面,data里面的key对应一个bean,例如一个列表数据: { "desc":"查询成功", "data":{ "diseaseList":[ { "xmlName":"精神病评估", "xmlId":"1066", "category":"symptom" }, { "xmlName":"对学习困难和认知延迟的评估", "xmlId":"884", "category":"symptom" }, { "xmlName":"疲乏的评估", "xmlId":"571", "category":"symptom"

}, { "xmlName":"痴呆的评估", "xmlId":"242", "category":"symptom" }, { "xmlName":"非故意性体重减轻评估", "xmlId":"548", "category":"symptom" } ] }, "action":null, "code":"", "type":"SUCCESS" } 2、定义数据Bean类 上面的list的bean定义为DiseaseList.Java public class DiseaseList { /** * xmlName : 分裂情感性障碍 * xmlId : 1199 * category : disease */ private String xmlName; //症状名字 private String xmlId; //症状名字 private String category; //分类的英文名 private String letter = ""; //字母,转为拼音后在这里添加 public String getXmlName() { return xmlName; } public void setXmlName(String xmlName) { this.xmlName = xmlName; }

Android中JSON详细总结

Android中JSON详细总结 1、JSON(JavaScript Object Notation) 定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其 提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。– https://www.360docs.net/doc/199648126.html, 2、JSON的结构: (1) Name/Value Pairs(无序的):类似所熟知的Keyed list、 Hash table、Disctionary和Associative array。在Android平台中同时存在另外一个类 "Bundle",某种程度上具有相似的行为。 (2) Array(有序的):一组有序的数据列表。 对象 对象是一个无序的Name/Value Pairs集合。{name:value , name:value , name:value .... } 例子:{ "name":"小猪","age":20 } Array Array是值(value)的有序集合。[ value , value , value ...... ] 值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。 字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。例如:\ + " \ / b f n r t u 进行转义。

android程序经典架构

Android 程序框架设计 1、主要说明 框架说明: 1 基于HTTP 协议进行通信 2 利用json 格式传输数据。 客户端以POST 方式用UTF-8编码提交网络请求,主要模块有通用framework,view 视图,业务逻辑(系统调度)模块,本地数据处理模块,http 模块,工具类。http 请求解析,传输到业务处理模块,然后本地处理数据模块进行文件保存,若展示则 通过业务处理模块,最终在view 视图上显示。 2、设计细项 2.1 共通类的设计 概念完整性: 1 2 3 4 5 - 开发过程中,需求、设计、编码的一致性 - 整个程序具有统一的风格,比如对话框样式,按钮风格,色调等UI 元素 - 整个程序具体统一的结构,比如不同模块访问网络,它们的调用方式一致,例如异步访问都用回调方式通知结果,相同的功能应该提取成共通模块。 - 开发人员能很好的执行需求人员和设计人员的意图。 - 有完整的文档,需求文档,设计文档,测试文档,处理流程的文档等。 2.1.1 Widget 设计 尽量在style 文件中定义样式。 TextView EditText Button Title bar Tool bar … ### 为什么要提供这些共通控件? ### 统一字体大小,如App 字体不随系统字体变化而变化 统一UI 式样,如Button , EditText 具有相同的背景等 复用代码

2.1.2 Adapter Items 根据式样,提取需要在AdapterView 中显示的Item 简单的复合布局 自绘制,从而提高滑动性能 - ListView 中放Gallery 时,提高上下滑动性能 - 尽量优化绘制 ### 数据驱动 ### Adapter Items 提供核心的方法 - setData(Object data) - getData(); Adapter#getView 实现更加简单 - 实现简单 - 不会因为UI 变化而变化 下面代码示例了Adapter#getView()方法的实现,它返回BookView ,BookView 提供方法来接收数据,至于BookView 的显示,则根据设置的数据来显示,这就是数据驱动UI 。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 @Override public View getView(int position, View convertView, ViewGroup parent) { if (null == convertView) { convertView = new BookView(getContext()); convertView.setLayoutParameter(new https://www.360docs.net/doc/199648126.html,youtParameter(150, 150)); } Book book = m_bookList.get(position); BookView bookView = (BookView)convertView; bookView.setBook(book); return convertView; } 2.1.3 Dialog 扩展于Dialog 类 提供Dialog 关闭的事件 Dialog 的高度随内容的变化而变化 可以设置按钮的文字,可见性,字体等方法

Android手机客户端和服务器交互开发实例

本文介绍了如何使用Android搭建客户端,实现手机和服务器的交互。让我们了解如何采用SSH框架,把服务器端的信息用JSON的形式发送到手机端。 AD:笔者以前是学的Java EE,由于项目需要要开发Android,所以临时补了一个多星期,主要是手机端和服务器端交互,双向开发的。 首先在服务器端,我采用的是SSH框架,struts 2集合了JSON插件,服务器和客户端的信息交互采用的JSON来传输,由于在服务器端用了Struts 2,所以我就用装了一个JSON插件。这样,很轻易的就把服务器端的信息用JSON的形式发送到了手机端。以下是代码: 首先,在服务器端搭建好SSH框架,具体细节就不在陈述。struts.xml配置如下: 1. 2. 3.result 4. 5. 6. 7. 8. 9. result 10. 11. 手机端的代码如下: 首先,手机端有一个缓存类,主要用于缓存一些手机端需要访问的数据,这样的好处是可以达达节省手机和服务器的交互,用单例实现的: 1.packagecom.jclick.cache; 2. https://www.360docs.net/doc/199648126.html,er; 4. 5.publicclassCache{ 6. 7.privateUserUser; 8. 9.privateCache(){ 10. 11.} 12./**构造单例*/ 13.Private static class CacheHolder{ 14.Private static final CacheINSTANCE=newCache(); 15.} 16.Public Cache getInstance(){ 17.returnCacheHolder.INSTANCE; 18.} 19.publicUsergetUser(){

Android课件

Android 讲义 第一章:初识Android 1:Android发展史 Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2:Android系统架构 Android的系统架构和其操作系统一样,采用了分层的架构。Android结构从架构图看,Android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。 2-1:应用程序 Android会同一系列核心应用程序包一起发布,该应用程序包包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。 2-2:应用程序框架 开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。 隐藏在每个应用后面的是一系列的服务和系统, 其中包括;丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(Lists),网格(Grids),文本框(Text boxes),按钮(Buttons),甚至可嵌入的web浏览器。内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件(Layout files )。通知管理器(Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。活动管理器(Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。 2-3:系统运行库 Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android 应用程序框架为开发者提供服务。以下是一些核心库: * 系统C 库- 一个从BSD继承来的标准C系统函数库Libc ),它是专门为基于Embedded linux 的设备定制的。 * 媒体库- 基于PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。 * Surface Manager - 对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。

androidjson解析及简单例子(转载).

JSON 的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持,从而可以在不同平台间进行数据交换。 JSON 采用兼容性很高的文本格式,同时也具备类似于 C 语言体系的行为。– https://www.360docs.net/doc/199648126.html, JSON Vs XML 1.JSON 和 XML 的数据可读性基本相同 2.JSON 和 XML 同样拥有丰富的解析手段 3.JSON 相对于 XML 来讲,数据的体积小 4.JSON 与 JavaScript 的交互更加方便 5.JSON 对数据的描述性比 XML 较差 6.JSON 的速度要远远快于 XML android2.3提供的 json 解析类 android 的 json 解析部分都在包 org.json 下,主要有以下几个类: JSONObject :可以看作是一个 json 对象 , 这是系统中有关 JSON 定义的基本单元, 其包含一对儿 (Key/Value数值。它对外部 (External:应用 toString(方法输出的数值调用的响应体现为一个标准的字符串(例如:{"JSON": "Hello, World"},最外被大括号包裹,其中的 Key 和 Value 被冒号 ":"分隔。其对于内部 (Internal行为的操作格式略微,例如:初始化一个 JSONObject 实例,引用内部的 put(方法添加数值:new JSONObject(.put("JSON", "Hello, World!", 在 Key 和 Value 之间是以逗号 "," 分隔。Value 的类型包括:Boolean 、 JSONArray 、 JSONObject 、 Number 、 String 或者默认值 JSONObject.NULL object 。

Android网络开发中如何使用JSON进行网络通信---Android JSON数据通讯方法解析

Android网络开发中如何使用JSON进行网络通信---Android JSON数据通讯方法解析 Android网络开发中如何使用JSON进行网络通信---Android JSON数据通讯方法解析 在开发客户端与服务端的应用当中,数据交换接口通常都是通过XML格式来进行数据交换的。近年来,随着AJAX技术的兴起,JSON作为一种轻量级的数据交换格式,以其易于阅读和编写的优点,也越来越多的被使用到各个项目中。在OPhone SDK中,也提供了JSON 的类库方便对JSON格式的数据进行处理。本文将快速讲解JSON 格式,并通过代码示例演示如何分别在客户端和服务器端进行JSON 格式数据的处理。 什么是JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成,非常适合于服务器与客户端的交互。JSON采用与编程语言无关的文本格式,但是也使用了类C语言的习惯,这些特性使JSON成为理想的数据交换格式。 和XML 一样,JSON 也是基于纯文本的数据格式。由于JSON 天生是为JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用JSON 传输一个简单的String,Number,Boolean,也可以传输一个数组,或者一个复杂的Object 对象。 String,Number 和Boolean 用JSON 表示非常简单。例如,用JSON 表示一个简单的字符串“ abc ”,其格式为:"abc"。 除了字符",\,/ 和一些控制符(\b,\f,\n,\r,\t)需要编码外,其他Unicode 字符可以直接输出。下图是一个String 的完整表示结构: 图1.String的完整表示结构 一个Number 可以根据整型或浮点数表示如下: 图2.Number 的表示结构 这与绝大多数编程语言的表示方法一致,例如: 12345(整数) -3.9e10(浮点数)

Android移动终端开发大作业

Android移动终端开发大作业 一、作业要求 ●1人一组,独立完成。 ●按照个人兴趣方向,自选题目,完成系统。 ●在规定的时间里完成系统主体功能,程序比较稳定的运行。 ●手机界面要求简洁、美观,功能不能过于简单,应具备一定的实用性。 ●至少要3个Activity以上。 ●必须使用自定义Listview,要使用Sqlite数据库或API调用与数据解析(API 可使用聚合数据(https://https://www.360docs.net/doc/199648126.html,/)、API Store(https://www.360docs.net/doc/199648126.html,/)或apix(https://www.360docs.net/doc/199648126.html,/)提供的API,如有能力也可自行开发服务器端)。 ●欢迎好的创意作品、实用作品,评分时会适当加分。 ●需提交设计报告,设计报告格式见附件,按附件顺序装订(包括评分表) ●大作业成绩从工作量、功能点、创新性、实用性、报告的字数、质量及规范 度等方面的成绩构成 二、注意事项 ●压缩包内作业内容包括两部分: ①作业项目文件夹,项目必须能够调试通过,android平台选择选择2.2或是2.3.3。 ②作业设计说明,word文件。 ●可以借鉴网络上的代码,但不可全部照搬。 不许相互抄袭,一旦发现成绩为零。 Android平台移动应用开发 大作业 基于Android的新闻浏览软件的设计与 题目 实现

学院信息工程学院 专业信息工程 班级信息1303 姓名杏允升 指导教师秦珀石 2015 年12 月10 日 一、 ................................................................................................................. 错误!未定义书签。 二、概述 (3) 三、关键技术 (4) 四、概要设计 (8) 五、系统实现 (9) 六、心得体会.................................................................................................. 错误!未定义书签。

android使用JSON进行网络数据交换

使用JSON进行网络数据交换 网络编程, 2009-12-18 17:29:44 标签: 在开发客户端与服务端的应用当中,数据交换接口通常都是通过XML格式来进行数据交换的。近年来,随着AJAX技术的兴起,JSON作为一种轻量级的数据交换格式,以其易于阅读和编写的优点,也越来越多的被使用到各个项目中。在Android SDK中,也提供了JSON的类库方便对JSON格式的数据进行处理。本文将快速讲解JSON 格式,并通过代码示例演示如何分别在客户端和服务器端进行JSON 格式数据的处理。 什么是JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成,非常适合于服务器与客户端的交互。JSON采用与编程语言无关的文本格式,但是也使用了类C语言的习惯,这些特性使JSON成为理想的数据交换格式。 和XML 一样,JSON 也是基于纯文本的数据格式。由于JSON 天生是为JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用JSON 传输一个简单的String,Number,Boolean,也可以传输一个数组,或者一个复杂的Object 对象。 String,Number 和Boolean 用JSON 表示非常简单。例如,用JSON 表示一个简单的字符串“ abc ”,其格式为:"abc"。 除了字符",\,/ 和一些控制符(\b,\f,\n,\r,\t)需要编码外,其他Unicode 字符可以直接输出。下图是一个String 的完整表示结构:

图1.String的完整表示结构一个Number 可以根据整型或浮点数表示如下:

不错的 [置顶]Android中的JSON详细总结

[置顶]Android中的JSON详细总结 分类:Android数据解析2011-04-04 14:43 701人阅读评论(1) 收藏举报1、JSON(JavaScript Object Notation) 定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。– https://www.360docs.net/doc/199648126.html, 2、JSON的结构: (1) Name/Value Pairs(无序的):类似所熟知的Keyed list、Hash table、Disctionary和Associative array。 在Android平台中同时存在另外一个类"Bundle",某种程度上具有相似的行为。 (2) Array(有序的):一组有序的数据列表。 对象 对象是一个无序的Name/Value Pairs集合。{ name:value , name:value , name:value .... } 例子:{ "name":"小猪","age":20 } Array Array是值(value)的有序集合。[ value , value , value ...... ] 值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、null、对象(object)或者数组(array)。这些结构可以嵌套。 字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。例如:/ + " / / b f n r t u 进行转义。

android和服务器的代码+步骤详细

Android JSON网络数据交换 2011-10-30 13:33:33 我来说两句 收藏我要投稿 [字体:小大] 什么是JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成,非常适合于服务器与客户端的交互。JSON采用与编程语言无关的文本格式,但是也使用了类C语言的习惯,这些特性使JSON成为理想的数据交换格式。 和XML 一样,JSON 也是基于纯文本的数据格式。由于JSON 天生是为JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用JSON 传输一个简单的String,Number,Boolean,也可以传输一个数组,或者一个复杂的Object 对象。 首先创建一个Web项目ServletTest 1:我们创建一个名为User的JavaBean作为用户对象类,用来保存演示数据 2:我们创建一个ServletDemo的Servlet类作为服务器的接口程序

3:把该Servlet部署到Tomcat下,发布项目需要修改web.xml 4:发布成功后,在浏览器输入地址http://localhost:8080/ServletTest/Test,输出如下结果: 5:准备好服务器的接口后,我们准备写客户端的程序,创建一个android项目 我们创建一个名为JSONActivity的Activity类 首先我们修改UI布局layout/main.xml 6:实现客户端获取网络数据的核心代码:

因为要访问外部网络,所以要子啊AndroidManifest.xml文件里增加一行安全许可:

Android中的JSON详细总结1

1、JSON(JavaScript Object Notation) 定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。– https://www.360docs.net/doc/199648126.html, 2、JSON的结构: (1) Name/Value Pairs(无序的):类似所熟知的Keyed list、 Hash table、Disctionary和Associative array。在Android平台中同时存在另外一个类 "Bundle",某种程度上具有相似的行为。 (2) Array(有序的):一组有序的数据列表。 对象 对象是一个无序的Name/Value Pairs集合。{name:value , name:value , name:value .... } 例子:{ "name":"小猪","age":20 } Array Array是值(value)的有序集合。[ value , value , value ...... ]

值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。 字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。例如:\ + " \ / b f n r t u 进行转义。 例子1: Array里面包含对象(object) [ {"id":1,"name":"小猪" ,"age”:22} , {"id":2,"name":"小猫","age”:23} , .......] 例子2:同样对象(object)中可以包含Array (1)一个对象包含1个数组,2个子对象 {"root":[{"id":"001","name":"小猪"},{"id":"002","name":"小猫"},{"id":"003","name":"小狗"}], "total":3, "success":true } (2)也可以对象嵌套子对象,子对象再嵌套数组 {"calendar": {"calendarlist": [ {"id":"001","name":"小猪"}, {"id":"002","name":"小猫"} ] } }

使用JSON进行网络数据交换传输 详细

使用JSON进行网络数据交换- Android 2011年05月11日星期三15:04 在开发客户端与服务端的应用当中,数据交换接口通常都是通过XML格式来进行数据交换的。近年来,随着AJAX技术的兴起,JSON作为一种轻量级的数据交换格式,以其易于阅读和编写的优点,也越来越多的被使用到各个项目中。在OPhoneSDK中,也提供了JSON 的类库方便对JSON格式的数据进行处理。本文将快速讲解JSON格式,并通过代码示例演示如何分别在客户端和服务器端进行JSON 格式数据的处理。 什么是JSON JSON(JavaScript ObjectNotation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成,非常适合于服务器与客户端的交互。JSON采用与编程语言无关的文本格式,但是也使用了类C语言的习惯,这些特性使JSON成为理想的数据交换格式。和XML 一样,JSON 也是基于纯文本的数据格式。由于JSON 天生是为JavaScript 准备的,因此,JSON的数据格式非常简单,您可以用JSON 传输一个简单的String,Number,Boolean,也可以传输一个数组,或者一个复杂的Object 对象。 String,Number 和Boolean 用JSON 表示非常简单。例如,用JSON 表示一个简单的字符串“ abc ”,其格式为:"abc"。 除了字符",\,/ 和一些控制符(\b,\f,\n,\r,\t)需要编码外,其他Unicode 字符可以直接输出。下图是一个String 的完整表示结构: 图1.String的完整表示结构 一个Number 可以根据整型或浮点数表示如下:

Android下使用JSON实现HTTP请求

Android下使用JSON实现HTTP请求最近在用Android调用Web服务,开始准备用WebService来调用,用jws的WebService方式写好后发现Android调用的时候很多问题不知道咋解决了,后来 发现有一个更好的办法,就是采用HttpPost来与后台交互。 下面就说一下相关的JSON的操作: 不得不说,JSON 格式的确是非常美妙的,速度快而且简化了很多操作在Android 下,Android SDK 已经为我们封装好了整个与 JSON 有关的操作,使用非常方便 以下就是一个标准的 JSON 请求的实现过程: HttpPost request = newHttpPost(url); // 先封装一个 JSON 对象 JSONObject param = newJSONObject(); param.put("name", "rarnu"); param.put("password", "123456"); // 绑定到请求 Entry StringEntity se = newStringEntity(param.toString()); request.setEntity(se); // 发送请求 HttpResponse httpResponse = newDefaultHttpClient().execute(request); // 得到应答的字符串,这也是一个 JSON 格式保存的数据 String retSrc = EntityUtils.toString(httpResponse.getEntity()); // 生成 JSON 对象 JSONObject result = newJSONObject( retSrc);

安卓与web服务端数据交互的接口定义文档

Table of Contents 目录 1简介 (3) 2终端与系统平台接口简略图 (3) 2.1终端与系统平台接口描述图 (3) 3WEBServer与DBDao接口(API-2接口) (3) 4PAD与WEB Server平台接口(API-1接口) (3) 4.1API-1接口描述 (3) 4.2用户登录 (4) 4.3首页------获得推荐的模块图片 (5) 4.4物业---公告板---分页获得(大家/个人)公告 (5) 4.5物业---公告板---获得一个公告 (6) 4.6物业---公告板---发布公告 (6) 4.7物业---公告板---编辑公告 (7) 4.8物业---通知—分页获得新通知 (7) 4.9物业---通知—获得一条通知 (8) 4.10物业---账单—获得某年某月的账单 (8) 4.11商城---商品中心--获得商品类别(大类别/子类别) (9) 4.12商城---商品中心--获得商品列表 (10) 4.13商城---商品中心--获得多个/单个推荐商品 (11) 4.14商城---商品中心--获得单个商品详细 (12) 4.15商城---商品中心--添加订单 (13) 4.16商城---我的账户—获得最近的一条账单和账单详情 (13) 4.17商城---我的账户—获得消费信息 (14) 4.18商城---我的账户- -生成商品类型的报表 (14) 4.19商城---我的账户- -生成年度每个月消费情况的报表 (15)

1 简介 本文档旨在对终端与系统平台接口技术规范进行说明,用于指导开发人员进行相关业务的开发。 2 终端与系统平台接口简略图 2.1 终端与系统平台接口描述图 PAD(Terminal)与系统平台有以下接口: ●与Web平台的接口(API-1) WEB(Server)与系统平台有以下接口: ●与DBDao的接口(API-2) 3 WEBServer与DBDao接口(API-2接口) 通过DBDao接口对DB进行操作 4 PAD与WEB Server平台接口(API-1接口) 4.1 API-1接口描述 PAD与WEB Server平台之间具有以下接口模块: (1).用户登录接口 (2).首页信息实时更新接口 (3).物业-公告板接口 (4).物业-通知接口 (5).物业-管家接口 (6).物业-账单接口 (7).用户登出接口 (8).商城-主页接口 (9).商城-推荐商品接口 (10).商城-添加订单接口 (11).商城-支付接口 (12).娱乐-推荐电影海报接口 . . . . . .

Android100道选择题

Android 四大组件选择题 选择题 1.下面不是Android四大组件之一的(B ) A. Activity B.Intent C. Service D. ContentProvider 2. 下面关于广播叙述错误的是(A) A. 广播是Android四大组件之一 B. BroadcastReceiver有两种注册方式,静态注册和动态注册 C. 静态注册需要在Mainfest.xml中配置 D. 动态注册需要在应用退出时候接触广播的注册。 3. 下面关于BroadcastReceiver错误的是(B): A. BroadcastReceiver有两种注册方式,静态注册和动态注册。 B. BroadcastReceiver必须在AndroidMainfest文件中声明 C. BroadcastReceiver的使用,一定有一方发送广播,有一方监听注册广播,onReceive方法才会被调用。 D. 广播发送的Intent都是隐式启动。 4. 下面关于谁先接收广播顺序错误的是(B) A. 有序广播,优先级高的先接收 B. 有序广播,同优先级的动静态广播接收器,静态优先于动态。 C. 有序广播,同优先级的动态广播接收器,先注册的大于后注册的。 D. 普通广播时,无视优先级,动态广播接收器优先于静态广播接收器 5. 下面关于广播说法错误的是(B) A. 广播分为有序广播和无序广播 B. 使用abortBroadcast方法可以中断所有广播的传递。 C. 广播注册方式分为动态和静态 D. sendOrderBroadcast用来向系统广播有序事件,send Broadcast()是用来广播无序事件。 6.下列关于Intent启动组件说法错误的是(C) A.startActivity( ) B. startService( ) C. startBroadcastReceiver() D.startActivityForResult() 7.对于广播的发送,Intent的启动方式是(B ) A.显式启动 B. 隐式启动 C. A和B都可以 D. 以上说法都不正确。 8. 下面关于Notification的说法正确的是(D ): A. NotificationManager man = new NotificationManager(); B. PendingIntent contentIntent= new PendingIntent(); C. RemoteViews contentView = new RemoteViews(); D. Notification notification = new Notification(); 9. 关于ContenValues类说法正确的是( A ) A、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的 名是String类型,而值都是基本类型 B、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的 名是任意类型,而值都是基本类型 C、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的 名,可以为空,而值都是String类型 D、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是String类型,而值也是String类型

Android利用Gson解析实现天气预报

用Android Studio新建一个默认工程后,将第一张图片红色标记文件修改到相应代码即可

package com.example.rui.weatherforecast; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.EditText; import android.widget.Toast; import com.google.gson.Gson; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import https://www.360docs.net/doc/199648126.html,.HttpURLConnection; import https://www.360docs.net/doc/199648126.html,.MalformedURLException; import https://www.360docs.net/doc/199648126.html,.ProtocolException; import https://www.360docs.net/doc/199648126.html,.URL; public class MainActivity extends AppCompatActivity { EditText et_city, et_weather, et_highTemp, et_lowTemp; Weatherinfo weatherinfo; Weatherinfo.Weather weather;

Android中使用Gson解析JSON数据

Android中使用Gson解析JSON数据 本文由包小卷发表于3年前| Android | 暂无评论| 被围观25,355 views+ 在Android中可以使用Gson解析JSON数据 首先,从 https://www.360docs.net/doc/199648126.html,/p/google-gson/downloads/list下载GsonAPI: google-gson-1.7.1-release.zip 把gson-1.7.jar copy到libs(项目根目录新建一个libs文件夹)中。 可以使用以下两种方法解析JSON数据: 通过获取JsonReader对象解析JSON数据: String jsonData = "[{\"username\":\"arthinking\",\"userId\":001},{\"usernam e\":\"Jason\",\"userId\":002}]"; try{ JsonReader reader = new JsonReader(new StringReader(jsonData)); reader.beginArray(); while(reader.hasNext()){ reader.beginObject(); while(reader.hasNext()){ String tagName = reader.nextName(); if(tagName.equals("username")){ System.out.println(reader.nextString()); } else if(tagName.equals("userId")){

System.out.println(reader.nextString()); } } reader.endObject(); } reader.endArray(); } catch(Exception e){ e.printStackTrace(); } 通过把JSON数据映射成一个对象,使用Gson对象的fromJson()方法获取一个对象数组进行操作:创建JSON数据对应的一个POJO 对象User.java: public class User { private String username ; private int userId ; public String getUsername() { return username; } public void setUsername(String username) { https://www.360docs.net/doc/199648126.html,ername = username; } public int getUserId() { return userId; } public void setUserId(int userId) { https://www.360docs.net/doc/199648126.html,erId = userId; } } 使用Gson对象获取User对象数据进行相应的操作: Type listType = new TypeToken>(){}.getType(); Gson gson = new Gson(); LinkedList users = gson.fromJson(jsonData, listType); for (Iterator iterator = users.iterator(); iterator.hasNext();) { User user = (User) iterator.next(); System.out.println(user.getUsername()); System.out.println(user.getUserId()); }

相关文档
最新文档