基于iOS的KTV服务终端的设计与开发

来源 :数字化用户 | 被引量 : 0次 | 上传用户:ssdmin
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】3G的生活时代已经到来!当今社会的生活节奏越来越快,人们选择KTV作为一种娱乐放松的休闲方式。希望能随时找到自己周围的KTV信息并且有哪些优惠活动及预订情况。从以前的追求技术到现在的追求视觉,追求完美,因此也逐步的提高了对系统和应用程序的要求。IPhone使用苹果公司开发的ios操作系统,利用objective-c语言和x-code编辑工具对该应用程序进行编写。本文主要是介绍了在iPhone手机上的一款酒吧服务终端的设计与实现。
  【关键词】IPhone ios KTV 服务终端
  当今社会的生活节奏越来越快,同时由于现在的快节奏生活,人们在工作之余喜欢去KTV释放压力,但是往往好不容易查找到地址却没了包厢,失望之余,很多人希望能通过自己手机方便的查询到自己附近KTV以及预定情况。
  一、选择iOS操作系统的原因
  由于手机市场发展迅速,使得手机操作系统也出现了不同种类,对于智能手机而言,操作系统已经成为了决定其市场影响力的关键因素。也正是因此,在2010年的手机市场,有关智能手机操作系统的市场大战也频繁上演。苹果iOS是由苹果公司开发的手持设备操作系统,陆续套用到iPod touch、iPad以及Apple TV等苹果产品上,iOS已经占据了全球智能手机系统市场份额的30%,在美国的市场占有率为43%。
  其次,Google的Android过度的开放导致硬件平台水平贫富悬殊较大,CPU频率、屏幕尺寸、按键设计都花样百出,直接一句话概况:简直就是灾难,WP7在这方面表现得就比较好,CPU频率 屏幕尺寸 按鍵设计都有严格规定,能给用户一致而且友好的体验;苹果不用多说,硬件设计水平是次世代的,用户体验那是一直被模仿,从未被超越,其他厂商和Mac都有 10-20年的差距。
  二、开发环境搭建
  如欲创建一个新的iOS应用程序,您需先在Xcode中创建一个新的工程。所有和应用程序相关的信息,包括源文件、链编设置以及将所有这些事物集成在一起的规则都由该工程管理。
  通过Xcode链编应用程序的时候,您可将其链编至iPhone模拟器或设备。模拟器为应用程序测试提供本地环境,您可以通过它测试应用程序是否具有正确行为。当应用程序的基本行为符合预期后,再通过Xcode将其链编到设备上,然后在已连接至计算机的iOS设备上运行程序。在设备运行应用程序是最终测试环境。在这一测试过程中,Xcode允许您将内建调试器绑定至设备上运行的代码,直接在设备上进行调试。
  (一)使用Interface Builder构建界面
  Interface Builder 以所见即所得方式组装用户界面。通过Interface Builder, 您可以把事先配置好的组件拖拽到应用程序窗口,并最终组装出应用程序的用户界面。
  (二)Instruments的使用
  为确保软件具有最佳的用户体验,在iOS应用程序运行于模拟器或设备上时,您可以利用Instruments环境分析其性能。Instruments会收集运行程序的数据,并以时间线方式展现数据。
  (三)构建MyNotification应用程序
  Settings views文件夹主要放用户设置的界面代码文件,sdwebdata文件夹放的是第三方的用于获取网络图片的文件。Uploadfile主要放的是上传文件的代码文件。Model放的是一些基本的数据结构bean。
  三、项目需求分析
  在用户的iPhone手机上安装了该终端后,用户能获取服务器上的KTV的信息。并且用户能在地图上找到自己附近的KTV。用户只要登录之后,就能随时接收KTV发送的一些消息,比如何时有活动,何时有降价。用户能对自己附近的KTV进行评价,或者拍些有关这个KTV的图片或者视频,上传到服务器。上传到服务器后,用户可以获得相应的分数。随后用户可以使用这些分数去换取该KTV的优惠服务。其他客户也能看见,其他人对这个KTV的评价等。用户能够对KTV发的消息选择是否添加为喜欢,添加喜欢之后,能在一个界面中,显示出那些信息。(见图1)
  四、服务终端的详细设计
  (一)程序逻辑的跳转
  图2 程序逻辑
  (二)用UINavigationController搭建程序框架
  在iPhone开发中UINavigationController通常来管理界面间的跳转。当你的程序具有层次化的工作流时,就比较适合使用UINavigationController来管理UIViewController,即用户可以从上一层界面进入下一层界面,在下一层界面处理完以后又可以简单地返回到上一层界面,UINavigationController使用堆栈的方式来管理UIViewController。
  进入下一层界面的代码如下。
  [self.navigationController pushViewController:nextController animated:YES];
  (三)MapKit的使用
  有了iPhone,意味着我们不会再迷路了。有了iPhone内建的全球定位系统(Global Positioning System,GPS)硬件,以及一些创新的位置和地图软件,iPhone不仅随时知道你位于何处,而且还能显示给你看。
  Map Kit是基于Google Maps引擎的地图框架,允许我们能够向应用程序中添加交互式的地图。地图可以滚动或缩放到地球上的任何区域,并且可以有标签或注释,以便向地图添加需要额外显示的信息。
  你可以通过设置map view的scrollEnabled 和 zoomEnabled属性来设置是否允许滚动地图和放大缩小地图。   当MapKit检测到用户位置移动时。会调用
  - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation 函数。可以在这个函数里进行界面的更新。
  - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id )annotation 用于在地图上添加类似小图钉的按钮。
  例如:在地图上蓝点表示当前位置,紫色的表示自己周围的KTV。在地图下方有个slider。可以给用户选择搜索自己周围指定半径的KTV。
  (四)通过URL下载数据和web service
  本客户端由于数据量较小,出于便利的考虑,采用Http-Get的方法和服务器端通信。将值通过写在url里的方法,并且下载这条Url里返回的信息。例如:http://184.168.89.199/iphone/messages.php?userid=%@ 将用户登录后返回的id写入url,然后通过下载的类来下载这条Url返回的信息,然后解析,就可以显示出所有KTV发出的信息。返回信息的方式有两种,xml格式和json格式。出于解析便利的原因。采用json格式返回数据。
  下载完成后在自定义的委托函数
  - (void)downloader:(Downloader*)downloader completeWithNSData:(NSData*)data 中解析数据。将Data转换为字符串,再通过JSON解析成自定义的数据结构。
  (五)APNS推送通知服务
  获取deviceToken
  第一步:获取认证书Certificates.p12 [注释:.p12 文件,文件名可以随便取]该Certificates.p12 认证书是用于服务器与APNs服务器SSL 连接时的认证,而获取p12的前提是获取APNs Assistant
  第二步:iPhone 端
  iPhone provisioning 以开启了PUSH功能App ID 生成相应的provisioning。
  如果那些KTV在服务器端发送了一条消息,通过APNS服务传递给客户端上,用户可以选择查看或者忽略。
  (六)iPhone 的UITableView
  UITableView也是iPhone开发中经常使用到的界面,它可以呈现给用户一个表格视图,同时,要调用UITableView来显示界面很方便,只需要把要显示的数据放入数组中,然后调用一些委托函数,UITableView有一些委托方法,至于什么是委托,将在下一节介绍。
  (七)iPhone开发的委托方法的定义
  委托是iPhone开发中最简单、最灵活的模式之一。委托是指给一个对象提供机会对另一个对象中的变化做出反应或者影响另一个对象的行为。其基本思想是:两个对象协同解决问题。一个对象非常普通,并且打算在广泛的情形中重用。它存储指向另一个对象(即它的委托)的引用,并在关键时刻给委托发消息。消息可能只是通知委托发生了某件事情,给委托提供机会执行额外的处理,或者消息可能要求委托提供一些关键的信息以控制所发生的事情。
  采用委托模式的好处在于:1.避免子类化带来的过多的子类以及子类与父类的耦合。2.通过委托传递消息机制实现分层解耦。
  所以,我们可以利用委托模式完成很多工作。
  到这里,基于iPhone的KTV信息服务终端的功能设计和实现讨论就基本结束了。
  五、KTV服务终端效果图
  图3 主界面 图4 KTV信息界面
  参考文献:
  [1]陆颖;《30天精通iPhone手机编程》;清华大学出版社;第一版(2011年5月1日)。
  [2]金斯伯格(Suzanne Ginsburg);《iPhone应用用户体验设计实践与案例》;机械工业出版社;第一版(2011年6月1日)
  [3]丹皮洛内;《深入浅出iPhone开发》;人民郵电出版社;第一版(2011年5月1日)
  [4]John Ray;《iPhone开发入门经典》;人民邮电出版社;第一版(2011年11月1日)
  作者简介:
  杜梓平(1980- ),男,汉族,硕士,讲师,工程师,苏州工业园区服务外包职业学院信息技术系教师,研究方向:软件开发与应用。
其他文献
【摘 要】当今高职院校电教设备管理存在着很多困难和问题,本文根据电教设备管理的实际情况,设计并实现了电教设备管理信息系统。文中介绍了本系统后台数据库的设计与实现,以及前台控软件的用户登录、设备信息查询、登记和注销等各功能模块的设计。  【关键词】电教设备 信息化管理 数据库  近年来,随着现代化教学方式的普及,多媒体技术已经成为教学过程中不可或缺的一部分,在教学中起到了十分重要的作用。有鉴于此,为
目的 构建细胞核增殖抗原(Ki-67)启动子调控表达Ki-67基因和人端粒酶逆转录酶(hTERT)基因小干扰RNA(siRNA)的条件增殖腺病毒.方法 (1)合成hTERT-siRNA插入pSilencer3.1,构建pShTERTsiRNA质粒.(2)分别酶切Ki-67启动子质粒pZKi-67、Ki-67-siRNA质粒pZD55-Ki-67-siRNA,获得Ki-67启动子片段和Ki-67-s
目的研究二线方案治疗复发或难治性弥漫大B细胞淋巴瘤(DLBCL)的有效性及相关预后因素。方法回顾性2004年7月至2016年6月收治的98例复发难治性DLBCL患者的临床资料,评估化疗结束后缓解率,采用Kaplan-Meier方法计算总生存期(OS),并采用Cox回归法进行多因素分析,寻找影响患者OS的独立预后因素。结果98例患者中男60例,女38例,中位年龄55.5(15~77)岁。48例(49
目的探索成人低危组急性髓系白血病(AML)完全缓解(CR)后不同巩固治疗方式对AML预后的影响。方法回顾性分析2010年1月至2015年6月诊治的107例非难治性成人低危组AML患者病例资料,以大剂量阿糖胞苷(HD-Ara-C)为主的巩固化疗方案为对照(化疗组,38例),探索不同巩固治疗方式(微移植16例、自体移植14例及异基因移植39例)对患者预后的影响。结果107例患者中,男59例,女48例,
目的探讨来那度胺(商品名瑞复美)为基础的化疗方案在复发或难治性多发性骨髓瘤(MM)患者中的疗效及安全性。方法回顾性分析2013年6月至2016年2月收治的57例应用来那度胺为基础的方案治疗的复发或难治性MM患者资料。结果①国际分期系统(ISS)Ⅲ期患者比例为60.4%,修改的国际分期系统(R-ISS)Ⅲ期患者比例为37.9%,53.3%的患者存在高危遗传学异常。②患者应用来那度胺中位疗程为6(1~
十六大报告,全国总结了过去5年的工作和13年的基本经验.提出了“与时俱进,全面建设小康社会,开创中国特色社会主义事业新局面”的奋斗目标.rn
【摘 要】根据我国电子行业的发展历程来看,随着科学技术的逐渐发展,微电子技术也逐步进入了电子行业发展当中,并且在不断的更新开发中微电子技术逐步成熟占领着电子行业。本文通过对电子行业的微电子技术目前所面临的各种限制进行分析,着重提出了微电子技术未来的发展以及微电子技术的应用。  【关键词】微电子技术 电路芯片 发展前进  一、引言  微电子学是研究微型电路、系统的电子学的分支,其主要研究方向是离子或
【摘 要】在新的历史背景下,随着经济全球化和信息化时代的快速到来,知识和信息正在成为许多新的服务和产品的基础。在这样的发展状况下,医院作为特殊的为群众提供医疗保健服务的组织,必然要选择引用信息化管理,顺应时代,满足服务对象日益提升的服务需求,体现医院的价值。本文旨在通过对某市级公立医院信息化管理产生背景、发展现状、经验、不足及改进意见等问题进行探讨,对管理伦理学进行初步探讨。  【关键词】医院 信
期刊
目的 观察硒代胱氨酸(SeC)对三阴性乳腺癌(TNBC)的细胞毒效应,探讨其对TNBC的作用机制.方法 选取3种TNBC细胞株,根据不同的实验条件,通过细胞计数试剂盒(CCK-8)法检测SeC对TNBC的抑制作用,通过膜联蛋白V-异硫氰酸荧光素(Annexin V-FITC)法检测SeC对TNBC诱导凋亡的作用,通过碘化丙锭(PI)染色法检测SeC对TNBC细胞周期的影响.结果 SeC对TNBC增