软件开发(游戏方向) 毕业实训报告-Super Group_第1页
软件开发(游戏方向) 毕业实训报告-Super Group_第2页
软件开发(游戏方向) 毕业实训报告-Super Group_第3页
软件开发(游戏方向) 毕业实训报告-Super Group_第4页
软件开发(游戏方向) 毕业实训报告-Super Group_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要二十一世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。而如何从海量的信息中筛选出我们所想要的信息,就是我们面临的一个较大的考验。SuperGroup就是在这种背景下产生。SuperGroup可以使用户从海量的信息中,快速的找到想要的信息,用户可以通过查找功能进行找美食,住酒店,买团购等功能进行快速的筛选。使用户、聚餐、娱乐、找美食、购买不再犯难;旅游出行,团购酒店为您省钱!随时随地找商户,享受优惠!GPS定位自动搜索周边商户、酒店、团购优惠;并且提供商家电话,地址地图、客观点评等信息。SuperGroup为用户提供了团购、商家、优惠券以及用户等一系列功能。并且可以随时随地的分享给好友,让好友关注你的快乐幸福时光。SuperGroup开发内容主要包括网络请求数据并对数据的解析,以及对前段应用程序的开发两个方面。利用X_Code,Object_C、UI及其提供的各种面向对象的开发工具,建立了完整的数据请求以及刷新加载特性,开发出完整、易于使用的应用程序,经过调试、编译与实现,该程序界面友好、程序设计风格朴素,使用起来美观大方、方便易用。尤其是应用的“团购”的功能极大的减轻工作人员的工作量,并以快速、准确等优点取代人工操作,提高了SuperGroup效率。关键词:X_Code;网络请求数据;Object_C;UI;SuperGroup目录TOC\o"1-3"\h\z第1章SuperGroup概述 11.1项目概述 11.2团购市场的良好发展 21.3用户需求场景描述 31.4产品定位 41.5信息架构 5第2章项目分析 62.1需求分析 62.2技术可行性分析 62.2.1市场需求简述 62.2.2竞争对手 72.3开发环境 7第三章团功购能实现 83.1团购全部区域功能 83.1.1功能说明 83.1.2界面 83.1.2主要代码 93.2团购分类功能 113.2.1功能说明 113.2.2界面 113.2.3主要代码 113.3团购默认排序功能 133.3.1功能说明 133.3.2界面 133.3.3主要代码 14第四章优惠券功能实现 164.1优惠券全部分区功能 164.1.1功能说明 164.1.2界面 164.1.3主要代码 174.2优惠券全部分类功能 194.2.1功能说明 194.2.2界面 194.2.3主要代码 194.3优惠券默认排序功能 214.3.1功能说明 214.3.2界面 214.3.3代码 21第五章用户功能 235.1登录功能 235.1.1功能说明 235.1.2界面 235.1.3主要代码 245.2收藏功能 265.2.1功能说明 265.2.2界面 265.2.3主要代码 265.3清除缓存功能 285.3.1功能说明 285.3.2界面 295.3.3主要代码 29第六章结束语 31附录:主要源程序 33姓名:论文题目PAGE1姓名:滑现伟论文题目:SuperGroupPAGE22第1章SuperGroup概述1.1项目概述二十一世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。而如何从海量的信息中筛选出我们所想要的信息,就是我们面临的一个较大的考验。SuperGroup就是在这种背景下产生。SuperGroup可以使用户从海量的信息中,快速的找到想要的信息,用户可以通过查找功能进行找美食,住酒店,买团购等功能进行快速的筛选。使用户聚餐、娱乐、找美食不再犯难;旅游出行,团购酒店为您省钱!随时随地找商户,享受优惠!GPS定位自动搜索周边商户、酒店、团购优惠;并且提供商家电话,地址地图、客观点评等信息。为什么要做手机客户端(客户价值)原因有二:一是移动互联网革命改变了团购的玩法,谁都不愿错过这个千载难逢的机会,二是团购市场依然保持着良好快速发展的态势)。(一)移动互联网带来的机会中国互联网络信息中心发布的第31次中国互联网络发展状况统计报告显示,截止2012年12月,我国手机网民规模达4.2亿,网民中手机上网的比例保持较快增速,从69.3%上升到74.5%。友盟移动互联网2013年上半年报告显示,2013年第二季度,中国活跃智能设备超过5亿。从2012年第四季度至2013年第二季度,中国的活跃设备数量翻了一番。从以上两篇报告的信息中可以看出,未来是智能手机和移动互联网的时代。移动互联网时代的智能手机、平板与传统设备的本质区别是,物理距离与心理距离更近,从而使得人们普遍不会将它当作一个简单物体对待,会产生更多心理联系,赋予它情感化与社会化的诸多特征。我们可以认为智能手机是人类器官的延伸,人们越来越离不开智能手机。作为一个团购互联网公司,美团就必须顺应科技的发展,提供一款好用的应用,方便用户通过智能手机、平板进行团购。手机团购打破了传统团购需要通过PC的限制,让交易可以随时随地发生,美团也有更多的机会收集用户信息,如LBS位置信息。在用户通过智能手机下单团购时,美团可以更详细地记录用户的团购过程并推送更合适的信息,如团购时间与消费时间间隔、通过定位推荐附近的团购信息。增大用户进行团购消费的机会,增加公司的销售收入。手机团购依然是中国互联网商务活动领域中的重要增长领域,2012年手机团购用户增长88.8%,用户规模为1947万。手机团购使用率增长了1.7个百分点,用户规模增速超过80%。(二)团购市场的良好发展团购作为一种新兴的电子商务模式,通过消费者自行组团、专业团购网站、商家组织团购等形式,提升用户与商家的议价能力,并极大程度地获得商品让利。中国互联网络信息中心发布的第31次中国互联网络发展状况统计报告显示,截止2012年12月,我国团购用户数为8327万,使用率提升至14.8%,较2011年底上升2.2个百分点。团购用户全年增长28.8%,保持相对较高的用户增长率。团购市场并没有缩小,千团大战后,随着一批批中小团购企业的倒闭,更多的消费者和商户都会使用如美团这样的排名前列的团购网站的服务,从这个角度说,这些优质团购网站的业绩会越来越好,那么就更有能力做好手机客户端,为用户提供更好的团购体验。1.2团购市场的良好发展客户为什么需要这样一款产品(信息收集、信息处理、信息匹配)与之前在PC上进行的团购活动相比,在手机客户端上团购有诸多优势,它不仅能包含PC上可以进行的所有团购操作,更重要的是可以通过用户所处的位置提供更精准的团购信息。唯一不足就是手机的屏幕较小,用户在进行筛选的时候比较费劲,这也对产品设计者提出了更高的要求。(一) 发现团购信息PC相较手机,笨重而且不便携,普通人出门时不可能都带着PC,并且有网络可以使用。但手机不同,只要有手机流量和信号,都可以打开客户端,发现最新的团购信息。(二) 接收团购信息用户在手机定位后,可以直接看到距离自己位置较近的团购商户的信息。而在PC上必须要自己选择地区才能找到那附近的团购信息。(三) 筛选团购信息,发现所需用户在室外活动时,一般都随身带着手机,想找一些团购信息可以很方便地拿出手机,按地点远近、是否需要预约、节假日是否可用等条件进行筛选,方便地发现自己所需要的团购信息。(四) 购买团购服务选择了自己想购买的团购服务,接下来就是准备付款,最近几年随着手机支付的完善(第三方支付、网银支付、信用卡支付),使得手机端购物操作体验逐渐提高,已经可以在手机上完成购买团购服务的所有流程,而不是必须再移至电脑端支付,极大地方便了用户购买团购服务。(五)对团购商家进行评价团购消费后,不管满意或不满意,用户都可以马上通过手机客户端对商家进行评价,而不必在PC上进行。1.3用户需求场景描述一般来说,好的产品方案,是来自于应用场景的。一个典型的应用场景,会自然的讲述一个用户需求。而所要做的产品,就是去帮用户解决这个问题的。下面描述的是用户使用这个产品的典型环境。使用场景描述的结构是“在某某时间(when),某某地点(where),周围出现了某些事物时(withwhat),特点类型的用户(who)萌发了某种欲望(desire),会想到通过某种手段(method)来满足欲望。”对SuperGroup手机客户端来说,典型需求场景是有一定团购经验或对团购流程比较了解,渴望以较低价格获得娱乐休闲服务的用户,在准备进行各种消费行为之前,在室内或室外通过手机连接网络,在SuperGroup寻找自己中意或地理位置较近的商户,在观看团购商户服务的详细信息后产生购买欲望,进而下单购买相应服务,到商户进行消费。最后,再通过手机客户端对该团购进行评价。其中,有很大一部分会是临时需求,比如和朋友逛街,突然想吃饭,这时一般不会随时带电脑,但会随时带着手机。这时候,用户就会需要SuperGroup手机客户端。1.4产品定位飞移动互联网使用情景更加随意,使用情景和环境决定了,移动互联网应用更加碎片化,接入速度较慢,接入不稳定。(一)目标用户SuperGroup手机客户端目标用户的典型需求或特征不完全例举如下:• 稳定而客观的在线时间,互联网是他们生活的重要组成;• 追求生活品质,对价格部分敏感,渴望以较低价格或缺超预期服务;• 热衷于在线购物,对团购(SuperGroup)有了解,不同程度使用过团购服务;• 具有相当的可支配时间和一定的经济来源;(二)解决的需求:解决用户的临时性团购需求。在移动互联状态下,任何时间、任何地点进行团购下单、支付、退货等之前只能在PC上完成的操作。(三)与同类产品相比的优劣势:依托国内第一团购网站大众点评,拥有丰富资源注重产品体验,界面简洁明了,交互考虑周全,下单团购流程没有拖沓和干扰与同类产品比较,有很多功能创新,如地图团购界面、银行卡直接付款(无需网银),自定义筛选功能。技术和产品团队工作出色,客户端每一版本都有创新改进,客户端在快速迭代中更便于用户使用。1.5信息架构SuperGroup手机客户端主要采用了是标签式交互框架(tabmenu),辅以列表式(listmenu)和跳板式(Springboard)框架。标签式框架可以清楚显示当前所在的入口位置,可以轻松在各入口间频繁跳转且不会迷失方向,还可以直接展示最重要的入口内容信息。SuperGroup客户端只有4个底部标签(团购、商家、优惠券、用户),避免了该模式在功能入口过多时显得笨重不实用的弊端。列表式框架主要应用在“团购”标签中,用于展示团购信息。显得层次展示清晰,可以显示内容较长的标题和次级信息,很好的呈现团购服务的内容信息。跳板式框架主要应用在“周边”标签下,显示周边的分类团购信息。这种方式可以清晰展现各个入口,美团给各个入口都配上了简洁、素雅、简单明了的图片,而且用户还可以通过编辑功能自行添加、删除、调整顺序,可以帮助用户记住各入口位置,方便用户快速找到入口,

第2章项目分析2.1需求分析所谓手机团购就是团购的网络组织平台,就是互不认识的消费者,借助互相汪的“网巨人的力量”来聚集资金,加大与商家的谈判能力,以求得最优的价格。根据薄利多销、量大价优的原理,商家可以给出低于零售价格的团购折扣和单独购买不到的优质服务。满足于消费者的需求如下:1、省钱。凭借网络,将有相同购买意向的会员组织起来,用大订单的方式减少购销环节,厂商将节约的销售成本直接让利,消费者可以享受到让利后的最优惠价格。搬新家者参加全屋家居团购可直接省下几千元乃至数万元!2、省时。团购网所提供的团购商家均是其领域的知名品牌,且所有供货商均为厂家或本地的总代理商,通过本应用指引“一站式”最低购物,避免自己东奔西跑选购、砍价,节约时间,节约经历。3、省心。通过团购,不但省钱和省时,而且消费者在购买和服务过程中占据的是一个相对主动的地位,享受到更好的服务。同时,在出现质量和服务纠纷时,更可以采用集体维权的形式,使问题以更有利于消费者的方式解决。4、另外,因为是团体购买,常还可以在网上网下通过购物会友,交流消费信息和购物心得,增益生活情趣,提高生活品质。

2.2技术可行性分析2.2.1市场需求简述手机团购目前仅在发达城市流行,未被广大网民接受,可团购享受的价格优惠,吸引更多用户尝试购买。团结就是力量,团购中还可以结交有相同消费爱好、志同道合的朋友,彼此交流经验。商家行业竞争激励,价格战硝烟四起,退出各种活动却不赚钱,商家愿意把价格降下来,前提就是要有一定的购买数量才能薄利多销。而有同一购买需求的用户聚集在一起,与商家讨价还价团体购买,能得到低于市场的价格的实惠。手机团购的特点就满足了这一需求,把用户和商家聚集在一起,分门别类的按行业划分,根据市场需求开展专业的团购活动。2.2.2竞争对手手机团购之间的竞争问题在于主要集中在:团购营销渠道与传统渠道之间“激烈冲撞”矛盾重重因散客形式的团购活动给供应商带来了更多的订单,令供应商的出货数量比传统渠道猛增数倍,长生规模销售效益,为供应商带来了客观的利润,因此,许多供应商尤其是生产厂家或厂家的地区总代理被吸引主动参与到专业团购网站组织的活动中来,成为他们的合作商家,但是他们的这种渠道销售必然损害到了传统渠道中的各级经销商、二级批发商等得利益,扰乱了商家原有的商家价格体系。某知名团购网站就曾经发生过瘾厂家各级经销商自身利益受损而强烈反对厂家与团购网站合作,最终迫使厂家不得不与图昂够网接触之间合作关系的先例。网上商品团购并非万能网上团购使得消费者从价格低得折扣中获得了相对较大的收益,但是这不意味所有的商品均能如消费者所愿,如意获得较多优惠。有些市场化程度很高的商品,由于竞争等多方面原因,已使他们产品的利润很低了,所以在团购这些商品时,商家没有太多的兴趣,当然在价格上的优惠幅度也是很小的,这对于单个的普通团购成员来讲,就已经失去团购的意义了。再者,如果当所要团购商品在某一段时期为紧缺品时,也不易团购成功,这个道理是显而易见的。有些团购参与者泄露团购折扣机密,令商家颇感头疼因个别团购成员素质问题,在得到商品团购折扣后,任意泄露给非团购成员,今儿引发非团购人员与相关商家之间的矛盾,同时也使团购网站陷入尴尬境地。团购网站发展同质化严重低进门槛、运营成本、搞盈利期待导致国内网站盲目跟风,然而接下来遭遇到得是残酷的竞争,面临发展的最大瓶颈:同质化。许多团购网站都是通过简单的复制粘贴就开始上马应用,从长相、结构、模式甚至产品都是如出一辙。2.3开发环境该应用适用于iPhone4s以后设备,同时利用X-Code开发工具来开发。数据来源于大众点评网站。

第三章团功购能实现3.1团购全部区域功能3.1.1功能说明该功能是按照支持团购城市的行政区域来来进行具体划分的,这样做的好处是方便用户快速找到目的地商区所支持的全部团购信息。3.1.2界面图3.1团购主页面图3.2团购详情页面图3.3团购分区页面3.1.2主要代码-(void)allRegionsWithCity:(UIButton*)secder{_soreFication.frame=CGRectMake(0,0,0,0);_soreFication.aTableView.frame=CGRectMake(0,0,0,0);_fication.frame=CGRectMake(0,0,0,0);_fication.aTableView.frame=CGRectMake(0,0,0,0);if(_regionsView==nil){_regionsView=[[RegionsViewalloc]initWithFrame:CGRectMake(self.view.bounds.origin.x,self.view.bounds.origin.y+36,self.view.bounds.size.width,self.view.bounds.size.height)];_regionsView.backgroundColor=[UIColorgrayColor];[_regionsViewcreateRegionsTableView];[self.viewaddSubview:_regionsView];}else{_regionsView.frame=CGRectMake(self.view.bounds.origin.x,self.view.bounds.origin.y+36,self.view.bounds.size.width,self.view.bounds.size.height);_regionsView.aTableView.frame=CGRectMake(_regionsView.bounds.origin.x,_regionsView.bounds.origin.y,_regionsView.bounds.size.width/2,_regionsView.bounds.size.height);}[CouponsHandlequeryAllRegionsCouponsWithCity:_aCity];}#pragmamark-Tableviewdatasource-(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView{return1;}-(NSInteger)tableView:(UITableView*)tableViewnumberOfRowsInSection:(NSInteger)section{NSLog(@"控制器上显示的%d",[_allCouponsArrayNewcount]);return[_allCouponsArrayNewcount];;}-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath{staticNSString*reuser=@"reuse";CouponCell*cell=[tableViewdequeueReusableCellWithIdentifier:reuser];if(cell==nil){cell=[[[CouponCellalloc]initWithStyle:UITableViewCellStyleValue1reuseIdentifier:reuser]autorelease];}Coupons*coupons=[_allCouponsArrayNewobjectAtIndex:indexPath.row];[cellqueryCoupon:coupons];returncell;}-(CGFloat)tableView:(UITableView*)tableViewheightForRowAtIndexPath:(NSIndexPath*)indexPath{return100;}-(void)tableView:(UITableView*)tableViewdidSelectRowAtIndexPath:(NSIndexPath*)indexPath{DetailedCoupons*detailed=[[DetailedCouponsalloc]init];[self.navigationControllerpushViewController:detailedanimated:NO];Coupons*tempCoupons=[_allCouponsArrayNewobjectAtIndex:indexPath.row];[CouponsHandlequeryAShopWithBussesID:[[[tempCoupons.businessesobjectAtIndex:0]objectForKey:@"id"]integerValue]];detailed.coupon=tempCoupons;[detailedrelease];}3.2团购分类功能3.2.1功能说明该功能是按照团购分类来实现的,当用户点击全部分类按钮时,首先出现的是一级下拉列表,显示团购的大类,当用户想在某个大类里面选择具体应用时,用户可以根据一开始选择的大类,来进行详细的筛选,从而达到快速检索出所需要的所有信息。3.2.2界面图3.4团购分类页面3.2.3主要代码UIButton*classBtn=[UIButtonbuttonWithType:UIButtonTypeSystem];classBtn.frame=CGRectMake(107,0,107,44);[classBtnsetTitle:@"分类"forState:UIControlStateNormal];[classBtnsetTitleColor:[UIColorblackColor]forState:UIControlStateNormal];classBtn.backgroundColor=[UIColorclearColor];[classBtnaddTarget:selfaction:@selector(click2:)forControlEvents:UIControlEventTouchUpInside];[viewaddSubview:classBtn];-(void)click2:(UIButton*)btn{if(_dropDown2==nil){if(_dropDown!=nil){[selfdropDownRelease];}if(_dropDown3!=nil){[selfdropDown3Release];}[btn.superview.superviewaddSubview:_shadeView];_dropDown2=[[DropDownalloc]initWithButton:btnarray:_categoryArrheight:250];_dropDown2.delegate=self;_dropDown2.dic=_categoryDic;}else{[selfdropDown2Release];}}#pragmamark下拉列表对象-(void)dropDownDelegateWithDropDown:(DropDown*)dropDown;{if(dropDown==_dropDown){[selfdropDownRelease];}elseif(dropDown==_dropDown2){[selfdropDown2Release];}elseif(dropDown==_dropDown3){[selfdropDown3Release];}}-(void)dropDownRelease{_dropDown.hidden=YES;_dropDown.theNewDropDown.hidden=YES;_dropDown.delegate=nil;[_dropDownrelease];_dropDown=nil;[_shadeViewremoveFromSuperview];}-(void)dropDown2Release{_dropDown2.hidden=YES;_dropDown2.theNewDropDown.hidden=YES;_dropDown2.delegate=nil;[_dropDown2release];_dropDown2=nil;[_shadeViewremoveFromSuperview];}-(void)dropDown3Release{_dropDown3.hidden=YES;_dropDown3.theNewDropDown.hidden=YES;_dropDown3.delegate=nil;[_dropDown3release];_dropDown3=nil;[_shadeViewremoveFromSuperview];}3.3团购默认排序功能3.3.1功能说明团购排序功能是一个方便用户按照价格高低、购买人数、最新发布等方式来对团购信息进行相应的排序,可以使用户更方便的进行选择出所需要的信息。3.3.2界面图3.5团购排序页面3.3.3主要代码-(void)click3:(UIButton*)btn{//1:默认,2:星级高优先,3:产品评价高优先,4:环境评价高优先,5:服务评价高优先,6:点评数量多优先,7:离传入经纬度坐标距离近优先,8:人均价格低优先,9:人均价格高优先NSArray*array=[NSArrayarrayWithObjects:@"默认排序",@"星级高优先",@"产品评价高优先",@"环境评价高优先",@"服务评价高优先",@"点评数量多优先",@"坐标距离近优先",@"人均价格低优先",@"人均价格高优先",nil];if(_dropDown3==nil){if(_dropDown2!=nil){[selfdropDown2Release];}if(_dropDown!=nil){[selfdropDownRelease];}[btn.superview.superviewaddSubview:_shadeView];_dropDown3=[[DropDownalloc]initWithButton:btnarray:arrayheight:250];_dropDown3.delegate=self;_dropDown3.dropDown_Flag=1;}else{[selfdropDown3Release];}}-(void)observeValueForKeyPath:(NSString*)keyPathofObject:(id)objectchange:(NSDictionary*)changecontext:(void*)context{if(object==_sortBtn){_sortNum=[[_sortDicobjectForKey:[changeobjectForKey:@"new"]]intValue];_page=1;[selfloadData];[self.tableViewreloadData];}elseif(object==_areaBtn){[_regionrelease];_region=[[changeobjectForKey:@"new"]retain];_page=1;[selfloadData];[self.tableViewreloadData];}elseif(object==_classBtn){_category=[[changeobjectForKey:@"new"]retain];_page=1;[selfloadData];[self.tableViewreloadData];}}_sortBtn=[[UIButtonbuttonWithType:UIButtonTypeSystem]retain];_sortBtn.frame=CGRectMake(214,0,106,44);_sortBtn.backgroundColor=[UIColorclearColor];[_sortBtn.layersetBorderWidth:1.0];[_sortBtnsetTitle:@"默认排序"forState:UIControlStateNormal];[_sortBtnsetTitleColor:[UIColorblackColor]forState:UIControlStateNormal];[_sortBtnaddTarget:selfaction:@selector(click3:)forControlEvents:UIControlEventTouchUpInside];_sortBtn.titleLabel.font=[UIFontsystemFontOfSize:12.0];[_sortBtnaddObserver:selfforKeyPath:@"titleLabel.text"options:NSKeyValueObservingOptionNewcontext:0];[viewaddSubview:_sortBtn];

第四章优惠券功能实现4.1优惠券全部分区功能4.1.1功能说明该功能主要是方便用户来查找优惠券所支持的所有商区,例如一个用户想在以后某一日在朝阳区进行优惠券消费,用户只需要先点击全部分区,找到朝阳区,在找到具体的位置即可查找到该商区的所有优惠券信息,可使用户节省大量的时间,从而快速找到所想要的目标。4.1.2界面图4.1优惠券主页面图4.2优惠券详情页面图4.3优惠券城市列表页面图4.4优惠券分区页面4.1.3主要代码[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(getCouponsWithCityAndRegion:)name:@"传来的具体分区"object:@"具体分区分区"];-(void)getCouponsWithCityAndRegion:(NSNotification*)notification{NSLog(@"根据排序请配置数据");[CouponsHandlequeryAllCouponsWithACity:_aCitypage:1region:[notification.userInfoobjectForKey:@"1"]];[_pargramDicrelease];_pargramDic=[[NSMutableDictionaryalloc]init];[_pargramDicsetObject:[notification.userInfoobjectForKey:@"1"]forKey:@"region"];}//城市切换模块-(void)selectCity:(UIButton*)secder{[_requestconnectionTerminate];_soreFication.frame=CGRectMake(0,0,0,0);_soreFication.aTableView.frame=CGRectMake(0,0,0,0);_fication.frame=CGRectMake(0,0,0,0);_fication.aTableView.frame=CGRectMake(0,0,0,0);_regionsView.frame=CGRectMake(0,0,0,0);_regionsView.aTableView.frame=CGRectMake(0,0,0,0);_regionsView.secondTableView.frame=CGRectMake(0,0,0,0);CityListVC*cityVC=[[CityListVCalloc]init];UINavigationController*cityNavigation=[[UINavigationControlleralloc]initWithRootViewController:cityVC];cityVC.cityFlag=2;cityVC.delegete=self;[self.navigationControllerpresentViewController:cityNavigationanimated:YEScompletion:nil];[cityVCrelease];[cityNavigationrelease];}-(void)setCityListDelegate:(NSString*)city{[_requestconnectionTerminate];[_pargramDicrelease];_pargramDic=[[NSMutableDictionaryalloc]init];_aCity=nil;_aCity=[cityretain];_aCity=city;[CouponsHandlequeryAllCouponsWithACity:_aCitypage:1];if(_allCouponsArrayNew!=nil){[_allCouponsArrayNewremoveAllObjects];}NSLog(@"%@",_aCity);[_pargramDicsetObject:_aCityforKey:@"city"];}-(void)beginToReloadData:(EGORefreshPos)aRefreshPos{//NSLog(@"[_allCouponsArraycount]=%d",[_allCouponsArrayNewcount]);////上拉刷新if(aRefreshPos==EGORefreshHeader){_page=1;}else{//下拉加载_page++;}[_pargramDicsetObject:_aCityforKey:@"city"];[_pargramDicsetObject:[NSStringstringWithFormat:@"%d",_page]forKey:@"page"];[CouponsHandlequeryDataWithDictionary:_pargramDic];}4.2优惠券全部分类功能4.2.1功能说明该功能是按照优惠券分类来实现的,当用户点击全部分类按钮时,首先出现的是一级下拉列表,显示优惠券的大类,当用户想在某个大类里面选择具体应用时,用户可以根据一开始选择的大类,来进行详细的筛选,从而达到快速检索出所需要的所有信息。4.2.2界面图4.5优惠券分类页面4.2.3主要代码//分类改变广播[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(categoinsChange:)name:@"分类的改变"object:@"分类广播站"];-(void)categoinsChange:(NSNotification*)notification{NSLog(@"分类改变这时未请求数据");[CouponsHandlequeryCouponsWithCity:_aCityAndCategories:[notification.userInfoobjectForKey:@"1"]page:_page];[_pargramDicrelease];_pargramDic=[[NSMutableDictionaryalloc]init];[_pargramDicsetObject:[notification.userInfoobjectForKey:@"1"]forKey:@"category"];}//按区域分类模块(void)allRegionsWithCity:(UIButton*)secder{_soreFication.frame=CGRectMake(0,0,0,0);_soreFication.aTableView.frame=CGRectMake(0,0,0,0);_fication.frame=CGRectMake(0,0,0,0);_fication.aTableView.frame=CGRectMake(0,0,0,0);if(_regionsView==nil){_regionsView=[[RegionsViewalloc]initWithFrame:CGRectMake(self.view.bounds.origin.x,self.view.bounds.origin.y+36,self.view.bounds.size.width,self.view.bounds.size.height)];_regionsView.backgroundColor=[UIColorgrayColor];[_regionsViewcreateRegionsTableView];[self.viewaddSubview:_regionsView];}else{_regionsView.frame=CGRectMake(self.view.bounds.origin.x,self.view.bounds.origin.y+36,self.view.bounds.size.width,self.view.bounds.size.height);_regionsView.aTableView.frame=CGRectMake(_regionsView.bounds.origin.x,_regionsView.bounds.origin.y,_regionsView.bounds.size.width/2,_regionsView.bounds.size.height);}[CouponsHandlequeryAllRegionsCouponsWithCity:_aCity];}//分类模块_________________________________________________________________________-(void)categoriesWithCity:(UIButton*)sender{[_requestconnectionTerminate];_soreFication.frame=CGRectMake(0,0,0,0);_soreFication.aTableView.frame=CGRectMake(0,0,0,0);_regionsView.frame=CGRectMake(0,0,0,0);_regionsView.aTableView.frame=CGRectMake(0,0,0,0);_regionsView.secondTableView.frame=CGRectMake(0,0,0,0);if(_fication==nil){_fication=[[Classificationalloc]initWithFrame:CGRectMake(self.view.bounds.origin.x,self.view.bounds.origin.y+36,self.view.bounds.size.width,self.view.bounds.size.height)];_fication.backgroundColor=[UIColorgrayColor];[_ficationcreateATableView];[self.viewaddSubview:_fication];}else{_fication.frame=CGRectMake(self.view.bounds.origin.x,self.view.bounds.origin.y+36,self.view.bounds.size.width,self.view.bounds.size.height);_fication.aTableView.frame=CGRectMake(_fication.bounds.origin.x,_fication.bounds.origin.y,_fication.bounds.size.width/2,_fication.bounds.size.height);}}4.3优惠券默认排序功能4.3.1功能说明该功能是为了方便客户根据条件快速检索出那些优惠券最为火爆,从而帮助客户准确的筛选出所需要的优惠券。4.3.2界面图4.6优惠券排序页面4.3.3代码//根据排序请求的所有数据[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(upDataWithSort:)name:@"根据排序请求的所有数据"object:@"排序"];-(void)upDataWithSort:(NSNotification*)notification{NSLog(@"根据排序请求的所有数据");[_allCouponsArrayNewremoveAllObjects];[_allCouponsArrayNewaddObjectsFromArray:[notification.userInfoobjectForKey:@"1"]];[selfrefreshTableView];}//排序模块(void)sores:(UIButton*)sender{[_requestconnectionTerminate];_fication.frame=CGRectMake(0,0,0,0);_fication.aTableView.frame=CGRectMake(0,0,0,0);_regionsView.frame=CGRectMake(0,0,0,0);_regionsView.aTableView.frame=CGRectMake(0,0,0,0);_regionsView.secondTableView.frame=CGRectMake(0,0,0,0);if(_soreFication==nil){_soreFication=[[Classificationalloc]initWithFrame:CGRectMake(self.view.bounds.origin.x,self.view.bounds.origin.y+36,self.view.bounds.size.width,self.view.bounds.size.height)];_soreFication.backgroundColor=[UIColorgrayColor];[_soreFicationcreateATableViewUseToSore];[self.viewaddSubview:_soreFication];}else{_soreFication.frame=CGRectMake(self.view.bounds.origin.x,self.view.bounds.origin.y+36,self.view.bounds.size.width,self.view.bounds.size.height);_soreFication.aTableView.frame=CGRectMake(_soreFication.bounds.origin.x,_soreFication.bounds.origin.y,_soreFication.bounds.size.width/2,_soreFication.bounds.size.height);}}

第五章用户功能5.1登录功能5.1.1功能说明只有用户使用了该功能,用户才能进行对商家、团购、优惠券的收藏、使用等操作,也是为了保护用户的个人信息不外泄。5.1.2界面图5.1用户主页面图5.2用户登录页面5.1.3主要代码[superviewDidLoad]; //Doanyadditionalsetupafterloadingtheview.self.view.backgroundColor=[UIColorwhiteColor];intmy_y=0;if(self.view.frame.size.height==568){my_y=105;}else{my_y=Y;}UIScrollView*scrollView=[[UIScrollViewalloc]initWithFrame:self.view.frame];scrollView.contentSize=CGSizeMake(self.view.frame.size.width,self.view.frame.size.height+10);scrollView.showsVerticalScrollIndicator=NO;[self.viewaddSubview:scrollView];UIButton*loginBtn=[UIButtonbuttonWithType:UIButtonTypeSystem];[loginBtnsetTitle:@"登陆"forState:UIControlStateNormal];loginBtn.frame=CGRectMake(X,my_y-20,W,H);loginBtn.layer.cornerRadius=10;[loginBtn.layersetBorderWidth:1.0];//shopCollectionBtn.backgroundColor=[UIColoryellowColor];[loginBtnaddTarget:selfaction:@selector(login:)forControlEvents:UIControlEventTouchUpInside];[scrollViewaddSubview:loginBtn];-(void)login:(UIButton*)btn{UIActionSheet*actionSheet=[[UIActionSheetalloc]initWithTitle:@"请选择登陆方式"delegate:selfcancelButtonTitle:@"取消"destructiveButtonTitle:@"新浪微博登陆"otherButtonTitles:@"人人网登陆",nil];actionSheet.actionSheetStyle=UIActionSheetStyleBlackOpaque;actionSheet.destructiveButtonIndex=2;[actionSheetshowInView:self.view];[actionSheetrelease];}-(void)actionSheet:(UIActionSheet*)actionSheetdidDismissWithButtonIndex:(NSInteger)buttonIndex{if(buttonIndex==0){if([UserInfoHandlesharedHanle].userDic!=nil){UIAlertView*alertView=[[UIAlertViewalloc]initWithTitle:@"提示"message:@"已登陆"delegate:selfcancelButtonTitle:@"取消"otherButtonTitles:@"确定",nil];[alertViewshow];[alertViewrelease];}else{WBAuthorizeRequest*request=[WBAuthorizeRequestrequest];request.redirectURI=kRedirectURI;request.scope=@"all";request.userInfo=@{@"SSO_From":@"UsersVC",@"Other_Info_1":[NSNumbernumberWithInt:123],@"Other_Info_2":@[@"obj1",@"obj2"],@"Other_Info_3":@{@"key1":@"obj1",@"key2":@"obj2"}};[WeiboSDKsendRequest:request];}}elseif(buttonIndex==1){if([UserInfoHandlesharedHanle].userDic!=nil){UIAlertView*alertView=[[UIAlertViewalloc]initWithTitle:@"提示"message:@"已登陆"delegate:selfcancelButtonTitle:@"取消"otherButtonTitles:@"确定",nil];[alertViewshow];[alertViewrelease];}else{if(![RennClientisLogin]){[RennClientloginWithDelegate:self];}}//if(![RennClientisLogin]){//[RennClientloginWithDelegate:self];//}else{//UIAlertView*alertView=[[UIAlertViewalloc]initWithTitle:@"提示"message:@"已登陆"delegate:selfcancelButtonTitle:@"取消"otherButtonTitles:@"确定",nil];//[alertViewshow];//[alertViewrelease];//}}}-(void)requestDataByAccessToken:(NSString*)accessTokenuserID:(NSString*)userID{NSString*urlString=[[NSStringstringWithFormat:@"/v2/user/get?access_token=%@&userId=%@",accessToken,userID]stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];NSURL*url=[NSURLURLWithString:urlString];NSURLRequest*request=[NSURLRequestrequestWithURL:url];[NSURLConnectionconnectionWithRequest:requestdelegate:self];}5.2收藏功能5.2.1功能说明该功能是为了帮助用户来帮助客户查找以前收藏的所有商家,优惠券以及团购信息,使客户直观明了的找到所需要的信息。5.2.2界面图5.3用户收藏页面5.2.3主要代码//我收藏的商家按钮UIButton*shopCollectionBtn=[UIButtonbuttonWithType:UIButtonTypeSystem];[shopCollectionBtnsetTitle:@"收藏的商家"forState:UIControlStateNormal];shopCollectionBtn.frame=CGRectMake(X,my_y+40,W,H);shopCollectionBtn.layer.cornerRadius=10;[shopCollectionBtn.layersetBorderWidth:1.0];[shopCollectionBtnaddTarget:selfaction:@selector(shopCollection:)forControlEvents:UIControlEventTouchUpInside];[scrollViewaddSubview:shopCollectionBtn];//我收藏的团购按钮UIButton*GroupBuyingBtn=[UIButtonbuttonWithType:UIButtonTypeSystem];[GroupBuyingBtnsetTitle:@"收藏的团购"forState:UIControlStateNormal];GroupBuyingBtn.frame=CGRectMake(X,my_y+100,W,H);GroupBuyingBtn.layer.cornerRadius=10;[GroupBuyingBtn.layersetBorderWidth:1.0];[GroupBuyingBtnaddTarget:selfaction:@selector(GroupBuyingCollection:)forControlEvents:UIControlEventTouchUpInside];[scrollViewaddSubview:GroupBuyingBtn];//我收藏的优惠劵按钮UIButton*CouponsCollectionBtn=[UIButtonbuttonWithType:UIButtonTypeSystem];[CouponsCollectionBtnsetTitle:@"收藏的优惠劵"forState:UIControlStateNormal];CouponsCollectionBtn.frame=CGRectMake(X,my_y+160,W,H);CouponsCollectionBtn.layer.cornerRadius=10;[CouponsCollectionBtn.layersetBorderWidth:1.0];[CouponsCollectionBtnaddTarget:selfaction:@selector(CouponsCollection:)forControlEvents:UIControlEventTouchUpInside];[scrollViewaddSubview:CouponsCollectionBtn];-(void)connection:(NSURLConnection*)connectiondidReceiveResponse:(NSURLResponse*)response{self.data=[NSMutableDatadata];}-(void)connection:(NSURLConnection*)connectiondidReceiveData:(NSData*)data{[self.dataappendData:data];}-(void)connectionDidFinishLoading:(NSURLConnection*)connection{NSDictionary*dic=nil;if(self.data!=nil){dic=[NSJSONSerializationJSONObjectWithData:self.dataoptions:0error:nil];[UserInfoHandlesharedHanle].userDic=dic;}NSLog(@"%@",dic);}-(void)connection:(NSURLConnection*)connectiondidFailWithError:(NSError*)error{[self.view.windowshowHUDWithText:@"加载失败"Type:ShowPhotoNoEnabled:YES];}-(void)rennLoginSuccess{NSLog(@"LoginSuccess");RennAccessToken*token=[RennClientaccessToken];NSString*uid=[RennClientuid];NSLog(@"accessToken%@%@",token.accessToken,uid);[selfrequestDataByAccessToken:token.accessTokenuserID:uid];//[selfshowAlertViewWithTitle:@"恭喜"message:@"您登录成功"];}-(void)showAlertViewWithTitle:(NSString*)titlemessage:(NSString*)message{UIAlertView*alertView=[[UIAlertViewalloc]initWithTitle:titlemessage:messagedelegate:nilcancelButtonTitle:@"cancel"otherButtonTitles:@"Done",nil];[alertViewshow];[alertViewrelease];}-(void)shopCollection:(UIButton*)shopCollectionBtn{ShopCollectionVC*shopCollectionVC=[[ShopCollectionVCalloc]init];[self.navigationControllerpushViewController:shopCollectionVCanimated:YES];[shopCollectionVCrelease];}5.3清除缓存功能5.3.1功能说明该功能主要是帮助用户及时清理手机中所占的内存,因为所占的空间越大,手机的运行速度就相应的变慢,所以只有及时清理手机中得垃圾信息所在的内存,才能保证用户的体验效果。5.3.2界面图5.1用户清除缓存页面5.3.3主要代码NSString*imageDir=[NSStringstringWithFormat:@"%@/Library/Caches/%@",NSHomeDirectory(),@"image"];floatimage=[selffolderSizeAtPath:imageDir];_setUpBtn=[[UIButtonbuttonWithType:UIButtonTypeSystem]retain];[_setUpBtnsetTitle:[NSStringstringWithFormat:@"清除图片缓存(%.1fMB)",image]forState:UICont

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论