《android 应用开发》实验课教学实例的设计与探讨

来源 :考试周刊 | 被引量 : 0次 | 上传用户:kamomoo
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要: 文章主要討论手机应用开发实验教学的案例设计, 旨在更充分深入地了解iOS开发和 android 应用开发的不同之处。重视实验教学和实践过程,以学生为主体,培养其主动性、协作精神和创新能力,实实在在地提高实验教学水平。本文介绍了Protocol Buffer技术,并比较了Protocol Buffer和JSON,讨论了两种数据传输格式在网络数据交换中的不同,通过实例说明如何使用Protocol Buffer代替JSON作为iOS应用开发中数据传输格式。
  关键词: Protocol Buffer JSON iOS
  随着苹果iOS系统为越来越多人所使用,iOS应用开发也成为程序员所必须掌握的开发技术之一。在iOS应用开发中,JSON作为网络数据传输格式发挥了较大的作用,但JSON也有很大的局限性。本文通过比较Protocol Buffer和JSON,证明使用Protocol Buffer代替JSON作为iOS网络数据传输中的数据格式的有效性,并以工程应用为背景,进行了设计案例分析。
  一、ProtocolBuffer简介
  Protocol Buffer是google 的一种数据交换的格式,它独立于语言,独立于平台。Google 提供了三种语言的实现:java、c 和 python,每一种实现都包含了相应语言的编译器及库文件。与XML和JSON不同,它是一种二进制的格式,可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。
  二、JSON
  JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于JavaScript的一个子集。JSON建构有两种结构:
  (一)“名称/值”对的集合,对于不同的语言中,它被理解为对象、记录、结构、字典、哈希表、有键列表或者关联数组。
  (二)值的有序列表,可以将其理解为数组(array)。
  下面是一个JSON 格式的数据示例:
  {persons:[
  { "id":"1", "name": "sam", "email": "[email protected]"},
  { "id":"2", "name":"mike", " email ":"[email protected]"}
  ]};
  三、iOS应用开发
  iOS是由苹果公司开发的手持设备操作系统,使用与iPhone/iPad等苹果手持设备。
  iOS应用(iOS APP)开发使用Objective-C作为开发语言,使用xcode作为主要开发环境。iOS应用,开发完成通过审核后在苹果商店(AppStore)公开发布。
  四、使用Protocol Buffer的优势
  Protocol Buffers把对象序列化为二进制格式,比JSON方式占用更少的网络传输字节数。
  JSON需要服务端和客户端分别自行实现序列化Serializer和反序列化Parser,以实现所需要传输对象的编码和解析。例如当前iOS客户端都会有的大量JSON Parser代码,也会有很多JSON解析开源的工程。而Protocol Buffer,服务端和客户端则使用共同的Message定义文件(.proto)和Protocol Buffer编译器,编译出不同语言适用的源代码文件,从而自动实现了Serializer及Parser,我们可以把代码加入工程直接使用。就客户端来讲,相比自行实现解析字符串的JSON Parser,Protocol Buffer提供的针对二进制数据的Parser在执行效率上要高很多,并且不用我们亲自编写实现代码。
  五、Protocol Buffer使用方法,以C 为例
  (一)编写.proto文件,作为Message声明,服务端和客户端共用。
  例如定义一个Person.proto
  message Person {
  required int32 id = 1;
  required string name = 2;
  optional string email = 3;
  }
  (二)使用Protocol Buffers编译器Protoc,编译.proto文件,生成java/c /python代码文件。
  IOS端可以使用的是C 代码,以C 为例,命令行输入:
  Protoc –cpp_out=./ Person.proto。
  在当前目录下生成Person.pb.h以及Person.pb.cc。
  (三)在工程里加入生成的Person.h和Person.cc,即可使用以下代码实现读写。
  定义,使用,以及序列化:
  Person person;
  person.set_id(123);
  person.set_name("Bob");
  person.set_email("[email protected]");
  fstream out("person.pb", ios::out | ios::binary | ios::trunc);
  person.SerializeToOstream(
其他文献
摘 要: 体育理论教学是体育教学内容之一,新颁布的《体育与健康课程标准》对于课程目标第一条就是通过体育与健康课程的学习,学生“增强体能,掌握和应用基本的体育与健康知识和运动技能”,这说明理论知识和运动技能有着同等重要地位。但是,现实中很多体育教师没有很好地执行这一规定,有些是没有保障一学年8课时的最低要求,有的是课时保证了,内容却随意安排,极大地降低了体育理论课的有效性。主要原因是有些教师对
期刊
背景:  慢性肾脏病(chronic kidney disease,CKD)的发病率随着诊疗手段的提高而呈逐年上升趋势,且慢性肾脏病的进展是不可逆的,其逐步已成为危害人类健康的隐形杀手。而肾小管间
摘 要: 据有关资料显示,人们的生活水平是越来越高,而身体素质却越来越低。在校的大、中、小学生的耐力素质、柔韧素质、肺活量正在下降,肥胖型、超体重、近视增多。根据每年的学生身体测试的数据来看,处于正常体重的越来越少了,肥胖、偏瘦的也越来越多,经常会发现有的班级有很多“小土豆”和“豆芽菜”。如何矫正学生的身体素质缺陷,已经成为当今时代所面临的重要课题,也是体育教育工作者急需解决的难题。  关键
摘 要: 体育除了能让学生锻炼身体之外,还可以让学生身心放松。中学体育课教学对于学生德智体美劳的全面发展有着重要的作用,作为学生来说,一定要有一个健壮的体魄,才能够进行很好的学习,而健壮的体魄来自于身体的锻炼。中学的学习是很繁忙的,所以,体育课就成了平时锻炼身体的一个重要的时间段。那么,体育老师如何让自己的学生对体育课感兴趣,在体育课中享受到愉悦的氛围呢?作者结合自己的实际教学经验,对此进行
摘 要: 中长跑训练是中学体育教学中的基础训练,是田径教学的主要内容。由于中长跑运动量大且枯燥无味,学生的畏惧心理比较严重,因此,学生很难较好地掌握中长跑技术,教学目的很难达到。作者结合中长跑运动的特点及学生自身情况,从培养学生意志品质、提高体能和技术、增强体质方面出发,在体育教学中进行了一些尝试。  关键词: 中长跑教学 奋斗精神 意志品质 科学训练 体能恢复  一
摘 要: 师生交流是课堂教学顺利进行的基础,是完成教学目标最重要的激励因素。在初中体育课堂中,必须重视知识和情感的双向交流,采取有效的师生交流方式,促进师生之間愉快交流,奏响初中体育课堂愉快交流的“奏鸣曲”。  关键词: 师生愉快交流 初中体育课堂 “奏鸣曲”  一、课堂师生交流的内涵  课堂师生交流有着独特的内涵,专指在特定的时间、地点、教学环境中产生的信息传递、交流与理解的过
期刊
摘 要: 现代社会,竞争无处不在、无时不有,直面人生、善待成功和失败,在鲜花和掌声中恬淡自然,在坎坷和挫折中坦荡泰然,驾驭自己的聪明才智,付出自己的汗水和努力,学会为自己喝彩。  关键词: 体育与健康教学 健康心理 信心和勇气  现代社会,竞争无处不在、无时不有,对职业学校的学生来说更是如此,给他们造成一定的压力。在这些压力之下,他们不堪重负,会产生各种心理问题,这些问题如果得不