已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
题 目 基于iOS的医生小助手APP的设计与开发指导老师 * 专业班级 姓 名 * 学 号 * 年 月*日第28页摘要:传统的临床护理的模式已经没有办法满足日渐增加的护理要求,一方面工作流程较为复杂,另外各类文档资料庞杂,而通过移动端进行工作流程和资料维护能有效提高工作效率。本文介绍了基于iOS的医生小助手APP的开发过程,首先论述了构建移动护理的背景意义以及技术支持介绍,然后对系统进行了需求分析,描述了系统的几大构成部分以及划分了主要的功能模块,包括添加病人模块、添加诊断模块、检查单模块、处方单模块、护理单模块,接着,对各功能模块进行了设计与实现,最后完成了系统测试。本系统主要使用了面向对象的Object-c语言, APP端需要通过向数据接口层的API服务端发送HTTP请求,从而调用业务逻辑层的API来实现业务功能。本系统构建了一个灵活的、易用的、轻便的移动APP系统,可以优化医生的工作,减轻医生工作负担,让医生可以随时随地进行诊治;并且让护理、治疗的管理更加高效简洁、一目了然。关键词:iOS;Xcode;医生小助手;移动;HTTP请求(五个,需要从摘要中找出)目 录1绪论 11.1 背景意义11.2 发展趋势11.3 系统开发目标22系统开发技术介绍22.1 iOS系统22.1.1 iOS系统概述22.1.2 iOS SDK简介32.2 AFNetworking框架42.2.1 HTTP 请求52.2.2基于REST的网络服务62.3 Json序列化与反序列化62.4 系统开发与运行环境设计62.4.1 软件环境62.4.2 运行环境63 系统需求分析73.1 系统功能需求分析73.2功能描述和用例分析73.2.1功能描述73.2.2 系统用例图84 系统设计84.1概要设计84.2详细设计104.2.1添加病人模块设计104.2.2添加诊断模块设计104.2.3检查单模块设计114.2.4处方单模块设计124.2.5护理单模块设计145系统实现145.1添加病人模块实现145.2添加诊断模块实现165.3添加检查单模块实现195.4添加处方单模块实现205.5添加护理单模块实现245.6数据交互Http请求实现266 系统测试286.1测试中出现的问题286.2测试总结28总结29参考文献301绪论随着科技的发展,各类市场上的智能手机的普及,APP也被越来越多的人使用起来,APP能使人们的生活更加便捷、更加高效。无线网络的覆盖率也日渐增加。而且目前我国的临床护理、诊治行业越来越重视信息化建设,这个行业也非常适合和需要移动设备和移动系统的支持和使用。传统的方式的复杂与繁琐已经无法满足现在大量病人的需要与需求。同时移动APP系统的灵活、便捷等等特性,也被大家接受和青睐。1.1 背景意义我国的医疗行业总的来说还处于一个比较初级的阶段。因为行业内大部分的高科技、高技术的设备是由国外生产并且掌握技术。中国的人口基数过大、医疗人员数量不足、技术相对国外来说并不成熟、缺乏专业人才对就医流程进行规范和优化等等的原因,造成了我国整个医疗系统的工作非常繁琐与复杂。为了提高就医的效率、质量。我国的医院开始实施信息化建设。到现在来说,大部分的医院已经有了比较完善的信息化系统。将许多的业务流程与检验数据、检验报告等等联系起来。1.2 发展趋势对于临床医学这个行业来说,机动性和准确性是最重要的一点,所以将移动APP开发引入医学行业可以解决下列问题:(1) 医生、护士只要随身携带一台移动设备就可以进行随时随地的工作,不用携带大量的资料、病例夹。一个角度来说,减少了医生、护士的负重。另外一个方面来说,加快了医生、护士的开方、诊断录入的速度。(2) 优化了医生、护士的工作流程、可以避免一些重复的工作、可以清晰的看到这位病人之前的病史、并且可以查阅之前的开方治疗记录。(3) 对于护士来说,优化了工作的流程。让需要做的工作一目了然。(4) 做到了无纸化作业,使用APP内的电子文字代替。不会丢失、混乱,而且方便查找与搜索。1.3 系统开发目标系统采用ViewModels体系结构,利用ObjectC和Xcode进行开发的,具有简单、易用性、用户界面友好等特点。系统开发的目标 主要是:(1) 界面设计简洁、友好、美观大方;(2) 操作简单、快捷方便;(3) 提升护理、开发管理水平;(4) 保障医疗质量,提高工作效率;2系统开发技术介绍2.1 iOS系统iOS是由美国苹果开发的移动设备操作系统,适用于iPhone,ipad,ipod-touch等苹果公司生产的移动设备目前最高的版本是9.3.1以系统稳定,UI精美,系统操作流畅而闻名于全球,是全世界优秀操作系统之一。2.1.1 iOS系统概述iOS是由苹果公司为iPhone、iPod Touch以及iPad使用而开发的操作系统。与苹果公司Mac OS X操作系统一样,都是基于Unix操作系统的。原本这个系统名为iPhone 0S,直到2010年6月7日苹果电脑全球研发者大会(APPle Worldwide.Developers Conference,简称WWDC)大会上宣布改名为iOS。iOS的系统架构分为4个层次:核也操作系统层(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),可轻触层(the Cocoa Touch layer),系统操作占用大概240MB的存储器空间。与Android系统不同,iOS是封闭的,无法在苹果以外的设备上使用iOS。总体来说,iOS具有从下4点特质:(1)高度的硬件整合性相比于Windows和Android系统,iOS对于硬件的整合度可以用苛刻来形容。iOS只能运行在苹果公司自己的所对应的硬件设备上,严格禁止硬件分化,绝对不随便做出适应性和兼容性的调整,这样做在保证苹果公司自己硬件产品商业价值的同时,也保证了iOS与硬件的完美适配度,做到最大程度的优化和匹配。(2)华丽的UI和良好用户体验iOS的界面完全可称之为精美,苹果的圆角图标设计,早期的拟物化图标设计,在当时很快就成为行业的风向标。到了今年,苹果大刀阔斧的进行界面改革,提出了扁平化设计,同样,很快又成为了行业内的标杆,无数厂家竞相模仿。而由于iOS的深度优化,用户在使用iOS的时候很少会感觉到顿卡感,无论什么操作都是极为流畅,大大的増强了用户的体验。(3)系统稳定性及安全性由于硬件整合度高,所以系统的稳定性相对也就高。iOS系统在运行过程中,很少会出现死机,白屏,崩溃,报错等现象,系统无故障运行时间非常长。同时苹果对于数据安全的要求非常高,所有推送信息必须经过苹果服务器,而且苹果公司对于用户的隐私保护要求非常严格,所以iOS也是一个安全性非常高的操作系统。(4)丰富的应用在APPStore中,有35万以上的海量应用供用户使用,当然,其中部分是需要付费的。但是由此可以看出,用户始终都可在iOS上发现新的惊喜和新的未知,这也是iOS,而APPStore同时也为开发者提供了一个发布和销售软件的理想之地,同时也为用户过滤了恶意软件和垃圾软件,也是iOS的魅力所在。2.1.2 iOS SDK简介2007年10月17日,史蒂夫 乔布斯在一封张贴于苹果公司网页上的公开信上宣布软件开发工具包(SDK),并于2008年3月6日发布,允许开发人员开发iPhone和iPod touch的应用程序,并对其进行测试,名为iPhone手机模拟器,且需要拥有英特尔处理器且运行Mac OS X Leopard系统的Mac机才能使用,截止到现在,最新的版本已经到了SDK9.3iPhone SDK包含了用于开发iPhone和iPod Touch应用程序的一整套开发工具,主要包括:(1)Xcode该集成开发环境(IDE)用于管理、编辑与调试项目。Xcode中的IDE提供了大量的工具与功能,能极大减轻开发工作量,特别是其中一个功能叫做CodeCompletion(代码补全),它会显示一个弹出列表,里面有可用的类与成员(如方法、属性等)。(2)iPhone Simulator这是一个软件模拟器,用于在Mac上模拟使用iPhone,它在Xcode运行(或是调试)应用程序时会自动启动。Xcode会自动将应用程序安装到iPhone Simulator上进行模拟真机运行环境。(3)Interface Builder提供了一个可视化编辑器,用于设计iPhone应用程序的界面。可以在Interface Builder中将视图拖到窗口上并将各种视图连接到变量和动作上,这样它们就能以编程的方式与代码交互。(4)Instruments这是一个分析工具,可实时优化应用程序,用于动态跟踪与分析MacOSX和iPhone应用程序的性能,包括对应用程序进行压力测试,跟踪应用程序的内存泄漏问题,更深入地理解应用程序的执行行为,及跟踪应用程序中难重现的问题等3。2.2 AFNetworking框架在本项目中使用的框架称为AFNetworking框架,AFNetworking是一个为 iOS 和 Mac OSX 制作的令人愉快的网络库,它建立在URL 装载系统框架的顶层,内置在Cocoa里,扩展了强有力的高级网络抽象。它的模块架构被良好的设计,拥有丰富的功能。支持HTTP请求和基于REST的网络服务(包括GET、POST、 PUT、DELETE等)2.2.1 HTTP 请求AFHTTPRequestOperationManager封装的共同模式与web应用程序通过HTTP通信,包括创建请求,响应序列化,网络可达性监控、运营管理和安全,以及请求。(1) HTTP 请求之GET请求,示例代码如下。AFHTTPRequestOperationManager *manager =AFHTTPRequestOperationManager manager;manager GET:/resources.json(/resources.json) parameters:nil success:(AFHTTPRequestOperation *operation, id responseObject) NSLog(JSON: %, responseObject); failure:(AFHTTPRequestOperation *operation, NSError *error) NSLog(Error: %, error); ;(2) HTTP 请求之POST请求,示例代码如下。AFHTTPRequestOperationManager *manager = AFHTTPRequestOperationManager manager;NSDictionary *parameters = foo: bar;manager POST:/resources.json parameters:parameters success:(AFHTTPRequestOperation *operation, id responseObject) NSLog(JSON: %, responseObject); failure:(AFHTTPRequestOperation *operation, NSError *error) NSLog(Error: %, error);2.2.2基于REST的网络服务(范文略)2.3 Json序列化与反序列化在医生小助手中,还用到了一些其他的技术,例如Json、基于AFNetworking框架的图片上传、网络图片解析等。在医生小助手中,移动端的APP数据接口层传输数据统一使用的是Json格式,因此涉及到一些Json序列化与反序列化的技术。Json是一种数据传输格式。例如在SOA架构中,我们以XML作为数据传输格式,但是在其他一整场景中,可能有更加合适的传输格式,Json就是其中一种。Json格式的数据结构非常简单,其解析的难度要远远小于XML。实际上, Json格式就是系列键值对的集合,由于其简单性,甚至可以直接阅读。序列化是将变量转化为可保存或可传输的字符串的过程。无论是哪种平台或者开发语言,在以Json为格式传输数据时,都必须先序列化数据或者数据集。Json序列化的过程实际上就是把数据和数据集变为键值对的字符串,然后将这个字符串返回给请求者。而反序列化正好巧反,请求者在获得这个字符后,将其解析,并转化成数据或者数据集便使用。2.4 系统开发与运行环境设计2.4.1 软件环境(1) 操作系统:Mac OS X EI Capitan 10.11.1或更高版本 (2) 开发工具: Xcode7.3 2.4.2 运行环境(1) 操作系统:iOS7.0或更高版本 (范文略)3 系统需求分析为了改善看病难,医患关系紧张的情况,提高病人看病的效率,我们开发了主要给医生护士使用的专业APP。这款软件是让医生和病人更容易沟通了解,提高病人的看病效率,让医生护士真正的走进病人,服务病人,成为一款类似家庭医院的让医护人员使用的的专业APP。软件分为两个端:移动端,PC端。而PC端又分为总管控和医院后台,这让平台更加方便快捷分类的管理医护人员,具体的管理好对移动端的数据分配及相关的数据统计。移动端的两个软件“医生小助手”和“苏姗护理”分别给医生和护士使用,让医护人员携带着移动设备就能随时随地的办公,方便快捷的沟通对病情进行诊断,开方治疗,让病人在家就能受到医护人员的治疗。以下将对医生端“医生小助手”进行具体的功能及结构的分析。3.1 系统功能需求分析由需求分析可知,医生小助手软件主要用户是医生,供医生录入病人基本资料,医生诊断录入,及相应的开单,跟踪治疗流程及病人的信息管理等等。由此可知,软件包括用户信息板块、病人信息板块、医生开单板块、治疗流程板块、账户板块等五个功能模块。其中用户信息板块包括对登录注册医生的信息的录入登录软件操作软件,基本信息的完善与修改;病人信息板块包括对病人的基本信息的录入已查看已存在的病人的病历;医生开单板块包括开检查化验单、处方单和护理单,所开单子将传给后台工作人员,进行下一步护士上门服务的流程。治疗流程板块是对医生所治疗的病人的资料进度进行跟踪,查看已经反馈;医生提现返现板块包括返现的记录,现有的账户余额(主要是诊费),对账户余额进行提现。3.2功能描述和用例分析3.2.1功能描述 医生小助手的主要使用人群是医生,医生只要随身携带一台移动设备就可以进行随时随地的工作。首先医生需要开通一个账户,后台审核通过成为平台的医生。当有病人看病的情况下,对病人的基本信息及诊断的病情录入设备,保存到PC管理端。在这基础上,对病情需要进行相应的开单,根据医生端的开单PC端分配病人给护士,护士上门服务,医生根据护士反馈的信息再次开单,病情严重的转到相应的医院进行后需要的治疗。医生不断根据跟踪治疗流程,对护士反馈分析诊断知道病情诊治完成,医生可结束治疗。医生端账户上会有相应的诊费的返现,对这些返现的金额可以提现到支付宝或者银行卡。3.2.2 系统用例图医生小助手的总体结构,如下图所示:软件包括用户信息板块、病人信息板块、医生开单板块、治疗流程板块、账户板块等五个功能模块。该系统用例图如图3.2所示。图3.2医生小助手用例图4 系统设计本章详细描述了iOS APP “医生小助手”,数据接口层API和数据同步层的设计与实现。4.1概要设计本系统使用了AFNetworking框架主要用于数据访问,通过一个AFHTTPRequestOperation实例对象,在APP端和服务器之间传递数据。iOS APP “医生小助手”是医生用来对病人信息进行录入,对病人诊断后进行开方的端口,向医生提供了业务操作最直接的交互界面,几乎所有操作都在装有“医生小助手”的iOS设备上完成。数据交互部分主要是通过发生Http请求调用API接口,并将返回的Json字符串反序列化显示在界面,设备首页如下图4-1所示。图4.1首页根据3.1节的系统功能分析可知“医生小助手”包括用户信息板块、病人信息板块、医生开单板块、治疗流程板块、账户板块等五个功能模块,其功能结构图如图4.2所示。图4.2 医生小助手功能结构图4.2详细设计4.2.1添加病人模块设计对于每位第一次来医院的新的病人而言,首先需要对病人的信息进行一个录入操作,方便后续管理与查阅,减轻医生后续操作。它的流程图如图4.3所示。图4.3 添加病人信息4.2.2添加诊断模块设计在添加录入病人信息之后,需要对病人添加医生的诊断信息,用于表示病人的症状和所属的病人病症属于的信息。它的流程图如图4.4所示。图4.4 添加病人诊断4.2.3检查单模块设计在添加完病人诊断之后,需要对病人的病情有一个更为全面的了解,需要对病人做一系列的检查。它的流程图如图4.5所示。图4.5添加检查单4.2.4处方单模块设计在经过详细的检查与化验之后,对病人的病情有了一个详细的了解,之后就需要针对病人的病情进行开处方药操作。它的流程图如图4.6所示。开单(处方单)选择处方药分类是否确认开单约定地点确认开单内容提交开单选择处方药物添加处方成组药填写药品用量与单位填写处方用法与频次图4.6 添加处方单4.2.5护理单模块设计图4.7添加护理单5系统实现在APP的表现层本身并没有进行任何的业务逻辑的功能实现,所以的工作功能都是调用API然后获取Json字符串反序列化得到的结果集,并将结果显示在界面上。5.1添加病人模块实现在添加病人模块中,我们需要录入病人的姓名、联系电话、性别、出生日期、年龄、家庭住址、家庭详细地址、所属医院的信息。年龄是按照出生日期的选择,通过选择的日期到今天的日期来计算得出的。页面及主要实现代码如图5.1所示。图5.1添加病人-(void)initView /创建左视图 for (int i=0; i5; i+) UIView *view=UIView allocinitWithFrame:CGRectMake(0, 0, 30, 30); UIImageView *bg=UIImageView allocinitWithFrame:CGRectMake(0, 5, 20, 20); NSString * bgImageName=_leftViewImageArray objectAtIndex:i; bg.image=UIImage imageNamed:bgImageName; view addSubview:bg; _leftViewArray addObject:view; /创建textView for (int i =0; i5; i+) _textFiled=UITextField allocinitWithFrame:CGRectMake(35, 10+i*50, G_SCREEN_WIDTH-70, 50); UILabel * line=UILabel allocinitWithFrame:CGRectMake(35, 60+i*50, G_SCREEN_WIDTH-70, 1); line.backgroundColor=RGBCOLOR(221, 221, 221); _scrollView addSubview:line; NSString *placeholderStr=_placeholderArray objectAtIndex:i; _textFiled.tag = i + 100; _textFiled.text = placeholderStr; _textFiled.leftView=_leftViewArray objectAtIndex:i; _textFiled.leftViewMode=UITextFieldViewModeAlways; _scrollView addSubview:_textFiled; 5.2添加诊断模块实现在添加病人诊断模块中,我们可以看到之前所填写的病人姓名、性别、电话、详细住址等信息,对病人的情况有一定的了解之后,可以在下方对病人的病况有一个详细的描述,为病人的检查开单做准备。在这个页面我使用了iOS系统自带的类UITableViewCell,使用这个类能够相当方便的生成列表结构,并自动进行内存缓存处理。页面及主要实现代码如图5.2所示。图5.2 添加病人诊断信息-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath NSString *identifer = NSString stringWithFormat:diagnoseCell%ld,(long) indexPath.section; tableView.separatorStyle=UITableViewCellSeparatorStyleNone; UITableViewCell *cell = tableView dequeueReusableCellWithIdentifier:identifer; if (!cell) cell=UITableViewCell allocinitWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifer; cell.selectionStyle = UITableViewCellSelectionStyleNone;/ tableView.separatorStyle=UITableViewCellSeparatorStyleNone; /创建头像空间 (创建一个UIImageView控件用于存放头像的图标) /创建性别的头像 (创建一个UIImageView控件用于存放性别的图标) /创建病人信息显示 UILabel *personLabel=UILabel allocinit; personLabel.tag=300; personLabel.font=NomalFont; cell addSubview:personLabel; UILabel * sexLabel=UILabel allocinit; sexLabel.tag=400; sexLabel.font=NomalFont; cell addSubview:sexLabel; UIImageView *bottomBg=UIImageView allocinit; bottomBg.tag=500; cell addSubview:bottomBg; /创建病况描述输入框 if (indexPath.section = 1 & indexPath.row = 0) GCPlaceholderTextView *txtVContent = GCPlaceholderTextView allocinit; txtVContent.tag = TAG_TXTV_CONTENT; cell addSubview:txtVContent; 5.3添加检查单模块实现在添加了病人详细的病况描述之后,我们为了对病人的病情有一个全面并且清晰的了解或许需要对进行一些检查项目的检查,或者对病人进行开药、做护理等操作。类似的页面我们需要对页面做一些适配操作,对于4、4s和6、6p等不同的屏幕尺寸进行不同的大小展示,方便用户操作,提升页面的美观度。在这里我主要使用了屏幕的宽与长的比例对模块进行等比例放大缩小操作,这也是比较常用的一种适配方法。页面及主要实现代码如图5.3所示。图5.3选择不同开单界面-(void)initView for (int i=0; i3; i+) UIButton * choseBtn=UIButton allocinitWithFrame:CGRectMake(10, 64+i*(SCREEN_WIDTH-20)*0.39+20), SCREEN_WIDTH-20, (SCREEN_WIDTH-20)*0.39); choseBtn.tag=i+1; NSString *imageStr=_btnImageArray objectAtIndex:i; choseBtn setBackgroundImage:UIImage imageNamed:imageStr forState:UIControlStateNormal; choseBtn addTarget:self action:selector(choseBtnClick:) forControlEvents:UIControlEventTouchUpInside; self.view addSubview:choseBtn; 5.4添加处方单模块实现在通过对病人进行一个全面的检查化验之后,我们对病人的病情有了一个完整的了解,需要对病人进行开处方药操作,则我们需要点击图5.3中的处方按钮。需要在医院的药品库中选择相应的治疗药物进行治疗,为选择的处方药物的用法用量进行一个设置,处方单模块页面及主要实现代码如图5.4-5.6所示。图5.4 开处方单-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath NSString *identifer = NSString stringWithFormat:Cell%ld,(long) indexPath.section; UITableViewCell *cell = tableView dequeueReusableCellWithIdentifier:identifer; if (!cell) cell=UITableViewCell allocinitWithStyle:UITableViewCellStyleValue1 reuseIdentifier:Cell; /全部上叉叉(减少button重复初始化) ILButton *btnClose = ILButton alloc initWithFrame:CGRectMake(0, 0, 22, 22); btnClose setImage:UIImage imageNamed:btn_close_normal forState:UIControlStateNormal; btnClose.hidden = YES; btnClose addTarget:self action:selector(btnClose:) forControlEvents:UIControlEventTouchUpInside; btnClose.tag = indexPath.section; cell.accessoryView = btnClose; if (indexPath.row = 0) UILabel *lblLine=UILabel allocinitWithFrame:CGRectMake(2, 0, tableView.width, 1); lblLine.hidden = YES; lblLine.tag = indexPath.section+1; lblLine.backgroundColor=RGBCOLOR(0, 212, 198); cell.contentView addSubview:lblLine; 图5.5 选择处方药物#pragma mark 设置表的内容-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath NSString *rightIdentifer = NSString stringWithFormat:rightIdentifer%ld,(long)indexPath.row; UITableViewCell * cell=tableView dequeueReusableCellWithIdentifier:rightIdentifer; if (!cell) cell=UITableViewCell allocinitWithStyle:UITableViewCellStyleDefault reuseIdentifier:rightIdentifer; cell.selectionStyle=UITableViewCellSelectionStyleNone; cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator; tableView.separatorStyle=UITableViewCellSeparatorStyleNone; CurrencyBean *bean = _marrTemp objectAtIndex:indexPath.row; cell.textLabel.text = bean.strName; cell.textLabel.textColor=RGBCOLOR(133, 133, 133); cell.textLabel.font=UIFont systemFontOfSize:15; cell.imageView sd_setImageWithURL:NSURL URLWithString:bean.strLogo; return cell;图5.6处方药物用法设置- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath NSString *identifier = NSString stringWithFormat:identifer; DetailMedCell *cell = tableView dequeueReusableCellWithIdentifier:identifier; cell = DetailMedCell alloc initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier; MedicModel *model = _marrAll objectAtIndex:indexPath.section; cell.lblMedicName.text = model.strMedicName; cell.txtFNumber.tag = indexPath.section; cell.txtFNumber.delegate = self; cell.txtFNumber.text = model.strUseNumber; cell.btnUnit addTarget:self action:selector(btnClickUnit:) forControlEvents:UIControlEventTouchUpInside; cell.btnUnit.tag = indexPath.section; cell.selectionStyle = UITableViewCellSelectionStyleNone; return cell;5.5添加护理单模块实现在为病人添加完处方药物进行治疗的过程中,我们需要对病人一些护理项目的操作,比如静脉输液、换药等等,界面及主要实现代码如图5.7所示。图5.7选择护理项目-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath static NSString * identifer=tbCell; tableView.separatorStyle=UITableViewCellSeparatorStyleNone; UITableViewCell * cell=tableView dequeueReusableCellWithIdentifier:identifer; if (!cell) cell=UITableViewCell allocinitWithStyle:UITableViewCellStyleValue1 reuseIdentifier:identifer; UIImageView * imgYuanKong=UIImageView allocinit; imgYuanKong.tag=100; cell addSubview:imgYuanKong; UIImageView * imgYuanShi=UIImageView allocinit; imgYuanShi.tag=200; cell addSubview:imgYuanShi; UILabel * nameLb=UILabel allocinit; nameLb.tag=300; cell addSubview:nameLb; UILabel * priceLb=UILabel allocinit; priceLb.tag=400; cell addSubview:priceLb; UIButton * btnComplete=UIButton allocinit; btnComplete.tag=500; cell addSubview:btnComplete; 5.6数据交互Http请求实现在本系统中,数据的传输格式为Json,总体集成思路是,移动端发起一个Http请求,数据接口层接受请求并调用业务逻辑层的逻辑进行处理,最后再将处理完成的数据序列化成Json字符串,数据接口层通过Http返回给APP,APP获得Json字符串后进行反序列化,然后展现在界面上。当APP需要实现某些功能时,首先发起Http Request请求。Http Request主要包含两部分,第一是URL,即请求目标网站地址,在本系统中就是API服务器地址,API的名称就连接在URL后面,例如获取病人列表的API名称为 GetPatient,参数有3个:userid、type、page,分别表示用户的唯一标识ID,病人的类型,page用于控制分页处理。则拼接完成的URL就是1:8009/API/DoctorInterface.aspx?op=GetPatient&userid=7&type=1&page=1。接下来就是简单的Get接口的设置,代码如下NSURLRequest *request = NSURLRequest requestWithURL:NSURL URLWithString: strUrl; AFHTTPRequestOperation *operation = AFHTTPRequestOperation alloc initWithRequest:request; operation setCompletionBlockWithSuccess:(AFHTTPRequestOperation *operation, id responseObject) /成功如果发送的请求是正常且合法的,并且网络连接正常。就会获得API服务器端获得返回结果,返回的结果为Json。在获取结果的时候,先使用AFN框架,从请求中获取结果,再讲Json反序列化为字典:NSLog(%,operation.responseString); NSDict
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJG 2100-2026环境空气二氧化碳高精度监测仪检定系统表
- 安全生产年终检测讲解
- 生物工程专业女生就业指南
- 德国机器人工程师就业前景
- 道路客运调度员岗前工作考核试卷含答案
- 主管护师职业发展规划路径
- 紫胶热滤工岗前技术知识考核试卷含答案
- 瓦斯泵工安全专项模拟考核试卷含答案
- 地震勘探工岗前实操操作考核试卷含答案
- 轧钢成品工岗位晋升测试考核试卷含答案
- 四川能投发展股份有限公司所属公司2026年员工公开招聘考试参考题库及答案详解
- 药品车间质量奖惩制度
- 沪教版(五四学制)2026年数学七年级下册期末测试卷(含答案解析)
- 三级安全教育切割作业测试试题附答案
- 老挝用工合同范本
- 检察院安全生产工作制度
- 2026云南昆明巫家坝建设发展有限责任公司校园招聘15人备考题库及答案详解(网校专用)
- 2026云南曲靖国金资本运营集团有限公司招聘3人笔试历年常考点试题专练附带答案详解
- 《小学数学教学设计》小学教育专业全套教学课件
- 2025-2026学年黑龙江省齐齐哈尔市建华区八年级(上)期末英语试卷(含答案)
- 冠心病诊疗指南(2025版)
评论
0/150
提交评论