下载

1下载券

加入VIP
  • 专属下载券
  • 上传内容扩展
  • 资料优先审核
  • 免费资料无限下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 基于iOS端电影资讯类APP的设计与实现-计算机毕业论文

基于iOS端电影资讯类APP的设计与实现-计算机毕业论文.doc

基于iOS端电影资讯类APP的设计与实现-计算机毕业论文

碎心沙漠sV
2018-03-23 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《基于iOS端电影资讯类APP的设计与实现-计算机毕业论文doc》,可适用于领域

基于iOS端电影资讯类APP的设计与实现计算机毕业论文河南师范大学学号:本科毕业论文基于iOS端电影资讯类APP的设计与实现学院名称:软件学院专业名称:计算机科学与技术年级班别:级班姓名:张琛指导教师:赵永进年月河南师范大学本科毕业论文基于iOS端电影资讯类APP的设计与实现摘要社会近年来迅猛的发展使得我国人民的生活质量飞速提高去电影院看电影成了很多大众消费人群的习惯本文所论述的就是一个基于iOS移动客户端设计的影视信息类APP可以借助iPhone、iPad、iTouch等移动终端实现一个可以再手机端任意查看你想看到的电影讯息的功能它查看关于电影类咨询新闻还可以随时随地了解在各大院线正在上映的电影信息与排片时间还可以查看即将上映的电影日期另有多种电影排行与分类并且可以进行电影分类搜索关键字检索可以找到任意一部电影观看预告片浏览剧照更有演员详情浏览网友评论等功能。本设计采用XCode作为开发工具以ObjectiveC作为开发语言基于UIKitUIFoundation等基本iOS框架采用MVC模式JSON数据交互和SQLite数据库实现了娱乐性手机APP的基本功能关键词iPhone电影ObjectiveCJSONMVCThedesignandimplementationofiOSinformationbasedonAPPfilmAbstractOverthepastelevenyearsRapiddevelopmentofsociety,thequalityoflifeofourpeopleincreasedrapidly,toimprovethequalitylifeofourpersoncontinuetogototheMovieTheatre,alotofmassconsumergroupslivinghabitsthisdesignisbasedonAPPiOSplatformandmobileterminalinformation,canuseiPhone,iPad,iTouchandothermobileterminalstoachieveathenthemobileterminaltoseeanymovieyouwanttoseethemessagefunction,itsviewonfilmconsultingnewsshowingintheatersandmovieinformationsheet,Youcanalsochecktheupdatebythefilmsofaranothervarietyofmovierankingandclassificationandthefilmclassificationsearchkeywordsearch,canfindanymovie,watchthetrailer,browsemoreactorsstills,details,visittheusercommentsandotherfunctionsThisdesignusesXCodeAsonetechnologyprogressofthetool,usingObjectiveCasDevelopmentofthedevelopmentoflanguage,basedonUIKit,UIFoundationandotherbasiciOSframework,usingMVCmodel,JSONdataandSQLitedatabase,toachievethebasicfunctionsofmobileentertainmentAPPKeywordsiPhoneFilmObjectiveCJSONMVC河南师范大学本科毕业论文前言中国电影市场近几年呈现井喷式发展票房和观影人数连年快速增长伴随着市场的发展也出现诸多问题雷片、烂片的横行给观众的观影体验带来不小的困扰。怎样才能选择一部自己喜欢的电影从而避免花冤枉钱看烂片呢,这时候就需要一个专业的影视信息软件在这里你可以轻松浏览到正在上映的各大影片的详细信息从剧情简介到演员介绍还有精彩剧照和电影预告片更有广大网友对影片的评价与打分。应有尽有让您从容选择快乐观影同样它还包含即将上映的电影信息让您足不出户便可对以后的观影行程做出计划并且当您再家中想在网上观看电影又不知道那些电影好看的时候这里更有海量影片分类信息有TOP、北美票房榜与口碑榜还有电影标签分类喜剧、战争、恐怖、魔幻、爱情、动作想看什么就有什么。本设计正是这样一个手机应用来看电影。系统分析可行性分析如今移动互联网的飞速发展使人民的生活节奏也变得快了起来越来越多人选择从手机中获取信息而移动应用开发产业也愈来愈明朗起来占目前市场份额最大的移当数苹果的iOS和谷歌的安卓安卓以其开源性、多任务、移动设备多种多动操作平台样等各种优点占据智能手机的一大部分然而它同样有着很明显的不足如:多任务导致系统流畅性降低各种机型的配置不一样以至于开发过程中难免顾此失彼开源也导致了各种应用优劣参差不齐崩溃闪退现象时有发生。而iOS则一直以它流畅的操作体验而著称闭源和iOS的审核机制也能保证引用的安全和稳定性众多的系统进程都在苹果的掌握之中同一时间只运行一个应用程序最大程度地保证系统内存的充分利用相比安卓节能且流畅。苹果的MACOSX操作系统和iOS操作系统属于类UNIX商业级系统。iOS系统所使用的最基本框架为Foundation框架它是一个非常灵活和强大的实用性的框架可以建立基于Web的应用系统。提供多种多样WebUI组件如表格按钮标签等。借鉴响应式Web设计的思路和方法。NSObject类是所有类的根类它定义了对象的属性和行为。另外还有一些代表基本数据类型的类如NSString类、NSArray类、NSDictroy类一些代表系统信息的类如NSDate类等等。由以上可行性分析可得不论是在社会环境上还是在技术上基iOS平台的来看电影APP的设计与开发都是可行的。河南师范大学本科毕业论文需求分析通过对市面上已经上线的影视类APP的考察、分析以及对网民的调查需要本设计实现以下功能:()美观易用的操作界面清晰的流程能够保证操作的便易性()正确规范的信息源保证内容真实可靠()可以浏览影视讯息类新闻()可以查看各大院线正在上映与即将上映的电影()可以对自己喜欢的电影或新闻进行收藏供以后查看()可以观看电影的预告片()有关于电影的排行榜与分类标签()可通过关键字搜索电影概要设计系统设计思想iOS开发有很多设计模式如MVP、MVC、MVVM等等本次设计采用的是最经典的MVC模式其结构如图所示:图MVC结构的关系和功能MVC全称是ModelViewController它是把一个应用程序从思想上分成三个部分:模型、视图和控制器是一种经典软件设计模型这个模型代表应用程序的数据逻辑运算和数据处理视图代表着用户可以看到的对象视图对象可以进行绘制并可以相应用户的操作控制器作为应用程序之间的媒介模型和视图之间的通信管理。它充分降低了程序的耦合性保证应用程序各个部分的独立性对以后的修改和版本迭代打造了一个良河南师范大学本科毕业论文好的基础用。MVC在iOS中的基本工作内容iOS所有窗口和控件从UIView类和他的子类来继承它代表着MVC中的V不同的视图和模型和视图之间不同的对应处理不能互相交流只能发送消息的控制器控制器可以通过通知和KVO与模型进行简介通讯同样控制器和视图直接也可以通过delegate和datasoure进行通讯。系统功能设计用户进入程序后的基本视图逻辑如图所示:用户进入影讯搜索榜单标签正在即将上映我的新闻详情电影详情收收设猜置藏藏你电电喜新电新电电影影欢闻影闻影影评图视简剧频论集介照图用户功能用户可以查看请问详情浏览图片新闻观看新闻里附带的视频可以查看正在上映的电影与即将上映的电影查看电影详情、电影剧照图集、演员详情、电影评论与观看预告片还可以根据关键字搜索电影、查看电影分类标签和各大电影榜单并且可以对喜欢的新闻与电影进行收藏等操作。详细设计程序主要文件程序的主要文件如图所示:河南师范大学本科毕业论文图程序文件结构Application是程序入口文件Base文件夹主要存放自定义封装的类文件DataBase主要存放数据库工具文件Handler用于存放头文件和自定义的宏文件NetWork是网络请求类文件Resource存放程序所有图片Util存放第三方类库第三方类库开发过程中需要用到很多实用的开源类库本程序主要用了以下几种:SDWebImage()SDWebImage是一个非常经典的iOS第三方库加载网络图片他放在设备箱的位置通过各种各样的方式保存图像高速缓存,并且在其中做好的对缓存的管理并且在最近的版本中也开放了一些让用户可以管理cache的接口这样使得用户操作起来更加灵活可以满足自己app的不同需求。()MJRefreshMJRefresh是国内知名的第三方类库他可以实现的程序是最常用的对表单进行下拉刷新和上拉加载的功能而且易于使用易于集成。可以自定义上下拉刷新的文字说明。并且在最近的版本中还可以自定义上拉下拉显示动态图片。主要界面设置()程序主界面用户进入应用时可以看到如图所示界面主界面主要包含三大模块影讯、上河南师范大学本科毕业论文映和我的界面切换默认显示影讯页面左上角按钮点击可弹出搜索界面如图所示:图进入主界面图弹出搜索界面主界面部分主要代码如下:创建分段选择HYSegmentedControl*segmentedControl=HYSegmentedControlallocinitWithOriginY:Titles:"影讯","上映","我的"delegate:selfselfsegmentedControl=segmentedControlselfviewaddSubview:segmentedControlsegmentedControlrelease创建视图父viewControllerUIViewController*currentViewController=UIViewControllerallocinitselfcurrentViewController=currentViewController显示使用的viewUIView*contentView=UIViewallocinitWithFrame:ROOTCONTENTVIEWFRAMEselfviewaddSubview:contentView创建searchBar的viewselfbaseSearchBarcreatSearchViewFinishBack:^(UIView*searchView){selfviewaddSubview:searchView}电影上映列表页面BSMViewController*bsmVC=BSMViewControllerallocinitselfbsmVC=bsmVC河南师范大学本科毕业论文bsmVCviewframe=ROOTVIEWFRAMEselfaddChildViewController:bsmVCbsmVCrelease电影影讯页面MovieNewsTableController*movieNewsVC=MovieNewsTableControllerallocinitselfmovieNewsVC=movieNewsVCmovieNewsVCviewframe=ROOTVIEWFRAMEselfaddChildViewController:movieNewsVCmovieNewsVCrelease我的信息页面MyTableViewController*myInfoVC=MyTableViewControllerallocinitselfmyInfoVC=myInfoVCmyInfoVCviewframe=ROOTVIEWFRAMEselfaddChildViewController:myInfoVCmyInfoVCrelease设置初始视图contentViewaddSubview:movieNewsVCviewselfcurrentViewController=movieNewsVCcontentViewreleasecurrentViewControllerrelease三个界面之间的切换可通过点击上方选择框进行基于这个目标我们能找到的有效可行的方法就是创立三个窗口属性和一个老的OLDviewcontroller属性当点击某一个模块时把这个UIViewcontroller与OLDviewcontroller进行比较如果相同则不作处理如果差异是跳点击窗口并且把这个UIViewcontroller设置成原有的OLDviewcontroller其代码如下:if((selfcurrentViewController==selfbsmVCindex==)||(selfcurrentViewController==selfmovieNewsVCindex==)||(selfcurrentViewController==selfmyInfoVCindex==)){return}UIViewController*oldViewController=selfcurrentViewControllerswitch(index){case:{NSLog("影讯")selftransitionFromViewController:selfcurrentViewControllertoViewController:selfmovieNewsVCduration:options:UIViewAnimationOptionTransitionCrossDissolveanimations:^{}completion:^(BOOLfinished){if(finished){selfcurrentViewController=selfmovieNewsVC}else{河南师范大学本科毕业论文selfcurrentViewController=oldViewController}}}breakcase:{NSLog("上映")selftransitionFromViewController:selfcurrentViewControllertoViewController:selfbsmVCduration:options:UIViewAnimationOptionTransitionCrossDissolveanimations:^{}completion:^(BOOLfinished){if(finished){selfcurrentViewController=selfbsmVC}else{selfcurrentViewController=oldViewController}}}breakcase:{NSLog("我的信息")selftransitionFromViewController:selfcurrentViewControllertoViewController:selfmyInfoVCduration:options:UIViewAnimationOptionTransitionCrossDissolveanimations:^{}completion:^(BOOLfinished){if(finished){selfcurrentViewController=selfmyInfoVC}else{selfcurrentViewController=oldViewController}}}breakdefault:break}()新闻详情点击新闻列表中的任意一个新闻进入新闻详情页如图所示点击右上方星标可对这个新闻进行收藏收藏功能可以用数据库来实现iOS最常用的是SQLite数据库它可以分别对新闻的标题内容图片等进行本地存储读取时再用数据库进行加载显示。河南师范大学本科毕业论文如果新闻列表中某个新闻标题下有播放图标则表示这则新闻内有视频可播放视频播放用的是iOS程序内自带的视频播放控件通过传入视频url地址进行加载播放还可以对视频进行快进快退等操作。图新闻详情页图新闻详情(图集)视频播放代码如下所示:判断是否有视频if(newvideoCover!=nilnewimgUrl!=nil){有则加载NSString*urlStr=newvideoCoverNSURL*url=NSURLURLWithString:urlStrMPMoviePlayerController*movie=MPMoviePlayerControllerallocinitWithContentURL:urlmovieviewframe=CGRectMake(,selfdigestLabelmoviecontrolStyle=MPMovieControlStyleDefaultselfmoviePlayer=moviemovieshouldAutoplay=NOmovieprepareToPlayselfaddSubview:movieviewmovierelease如果该新闻有图片集合会在详情页图片的右下角标注图集如图所示点击进入浏览图集页面如图所示:河南师范大学本科毕业论文图图集浏览图集界面用的是uitableview上放入uiscrollview进行滚动加载根据获取的图片的url地址动态对图片进行缓存加载下方还有弹出的透明框设置uiview的alpha值显示图片的基本信息可通过uiview的点击事件设置点击可消失具体代码如下所示:UITableViewCell*cell=tableViewdequeueReusableCellWithIdentifier:"still"if(!cell){cell=UITableViewCellallocinitWithStyle:UITableViewCellStyleDefaultreuseIdentifier:"still"autorelease}cellselectionStyle=UITableViewCellSelectionStyleNoneUIScrollView*bigScr=UIScrollViewallocinitWithFrame:CGRectMake(,,UIScreenmainScreenboundssizewidth,UIScreenmainScreenboundssizeheight)selftableViewaddSubview:bigScrbigScrpagingEnabled=YESbigScrbounces=NObigScrdelegate=selfbigScrcontentSize=CGSizeMake(UIScreenmainScreenboundssizewidth*selfimageArraycount,UIScreenmainScreenUIView*view=UIViewallocinitWithFrame:CGRectMake(,UIScreenmainScreenqdssqzehqeif(selftaeearViewframeoeeiginght,UIScreenmainScreenbondsizewqdth,)河南师范大学本科毕业论文selfstillView=viewselfviewaddSubview:viewif(selfimageArraycount!=){Image*image=selfimageArrayobjectAtIndex:UILabel*nameLabel=UILabelallocinitnameLabeltext=imagesetnameselfnameLabel=nameLabelnameLabeltextAlignment=NSTextAlignmentLeftnameLabeltextColor=UIColorwhiteColornameLabelfont=UIFontsystemFontOfSize:nameLabelframe=CGRectMake(,,,)viewaddSubview:nameLabelnameLabelreleaseUILabel*numLabel=UILabelallocinitnumLabeltext=imagesetnameselfnumLabel=numLabelselfnumLabeltext=NSStringstringWithFormat:"d",selfimageArraycountnumLabeltextAlignment=NSTextAlignmentRightnumLabeltextColor=UIColorwhiteColornumLabelfont=UIFontsystemFontOfSize:numLabelframe=CGRectMake(,,,)viewaddSubview:numLabelnumLabelreleaseUILabel*label=UILabelallocinitselftitleLabel=labellabeltextColor=UIColorwhiteColorselftitleLabeltext=imageimagetitlelabeltextAlignment=NSTextAlignmentLeftlabelfont=UIFontsystemFontOfSize:labelframe=CGRectMake(,,,)viewaddSubview:labellabelreleasefor(inti=i<selfimageArraycounti){Image*image=selfimageArrayobjectAtIndex:iUIScrollView*scr=UIScrollViewallocinitWithFrame:CGRectMake(UIScreenmainScreenboundssizewidth*i,,UIScreenmainScreenboundssizewidth,UIScreenmainScreenboundssizeheight)bigScraddSubview:scrscrdelegate=selfscrminimumZoomScale=scrmaximumZoomScale=UIImageView*stillView=UIImageViewallocinitWithFrame:UIScreenmainScreenbounds河南师范大学本科毕业论文stillViewsdsetImageWithURL:NSURLURLWithString:imageurlplaceholderImage:niloptions:SDWebImageRetryFailedcompleted:^(UIImage*image,NSError*error,SDImageCacheTypecacheType,NSURL*imageURL){CGFloathight=(UIScreenmainScreenboundssizewidth*imagesizeheight)imagesizewidthCGRectfram=stillViewframeframsizeheight=hightstillViewframe=framstillViewcenter=CGPointMake(UIScreenmainScreenboundssizewidth,(UIScreenmainScreenboundssizeheight))}selftitleLabeltext=imageimagetitlescraddSubview:stillViewscrreleasestillViewrelease}}selftableViewbackgroundColor=UIColorblackColorcellbackgroundColor=UIColorblackColorviewreleasereturncell()上映界面上映界面显示各大院线正在上映与即将上映的电影如图所示:图上映界面图即将上映即将上映界面默认不显示可点击下方查看看即将上映进行加载如图所示这样可节省系统内存保证程序的流畅性整个界面的搭建用的是UICollectionView每一个cell都有两个控件上方用uiimageview进行电影剧照的加载下方uilabel显示电影名称河南师范大学本科毕业论文与评分设置每一个试图间的间距是整体保持平衡、整齐和美观。具体代码如下所示:#pragmamark即将上映电影(void)onNextMoviesView:(UITapGestureRecognizer*)sender{if(selfflag==YES){return}RequestDatarequestWithUrlStr:ONNEXTMOVIESURLtarget:selfFinishCallbackBlock:^(NSMutableDictionary*result){NSArray*array=resultobjectForKey:"entries"Movie*movie=MovieallocinitautoreleasemoviesetValuesForKeysWithDictionary:dicselfonNextMoviesArrayaddObject:movie}selfcollectionViewreloadData}selfflag=YES}#pragmamark增补视图(UICollectionReusableView*)collectionView:(UICollectionView*)collectionViewviewForSupplementaryElementOfKind:(NSString*)kindatIndexPath:(NSIndexPath*)indexPath{UICollectionReusableView*reusableview=nilif(kind==UICollectionElementKindSectionFooter){BSMFooterView*footerView=collectionViewdequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionFooterwithReuseIdentifier:"BSMFooterView"forIndexPath:indexPathselffooterView=footerViewreusableview=footerViewswitch(indexPathsection){case:{if(selfbSMArraycount!=){footerViewsetHidden:NOif(selfflag==NO){UITapGestureRecognizer*tap=UITapGestureRecognizerallocinitWithTarget:selfaction:selector(onNextMoviesView:)footerViewaddGestureRecognizer:taptaprelease}}else{footerViewsetHidden:YES}break河南师范大学本科毕业论文}case:{footerViewsetHidden:YESbreak}default:break}}returnreusableview}(void)collectionView:(UICollectionView*)collectionViewdidSelectItemAtIndexPath:(NSIndexPath*)indexPath{MovieInfoViewController*movieInfoVC=MovieInfoViewControllerallocinitMovie*movie=nilif(indexPathsection==){movie=selfbSMArrayobjectAtIndex:indexPathrow}else{movie=selfonNextMoviesArrayobjectAtIndex:indexPathrow}movieInfoVCmovie=movieselfviewControllernavigationControllerpushViewController:movieInfoVCanimated:YESmovieInfoVCrelease}}()电影详情界面电影详情分三个模块分别为简介、剧照与评论如图所示点击右上方星标可对此电影进行收藏收藏功能同样用的是数据库点击剧照上的播放按钮可进入预告片界面可播放此电影的各个预告片。这个界面的主要用UITableView控件在视图的最低成创建一个scrollView让其加载此电影剧照的毛玻璃效果然后在UIScrollView添加三个小的UIScrollView分别在这三个小的UIScrollView中添加UITableView并添加滑动手势事件当往上滑的时候剧照消失显示简介两字左右滑时切换界面并且使该界面标题变大加延时动画可是变大的过程流畅。具体代码如下所示:河南师范大学本科毕业论文图电影详情界面UITableViewCell*cell=tableViewdequeueReusableCellWithIdentifier:"movie"if(!cell){cell=UITableViewCellallocinitWithStyle:UITableViewCellStyleDefaultreuseIdentifier:"movie"autorelease}UIScrollView*scrollView=UIScrollViewallocinitWithFrame:CGRectMake(,,FRAMEWIDTH,MOVIESSCROLLVIEWHEIGHT)是否回弹scrollViewbounces=NOscrollViewbackgroundColor=UIColorredColorselfscrollView=scrollViewscrollViewcontentOffset=CGPointMake(FRAMEWIDTH,MOVIESSCROLLVIEWHEIGHT)整屏滚动scrollViewpagingEnabled=YESscrollViewshowsHorizontalScrollIndicator=YESscrollViewshowsVerticalScrollIndicator=YESscrollowViewbackgroundColor=UIColorredColorscrollViewcontentSize=CGSizeMake(FRAMEWIDTH*,MOVIESCELLHEIGHT)scrollViewdelegate=selfcelladdSubview:scrollView顶部BSMInfoTopView*topView=BSMInfoTopViewallocinitWithFrame:CGRectMake(,,FRAMEWIDTH*,)河南师范大学本科毕业论文selftabBarView=topViewtabBarViewscrollViewaddSubview:topViewtopViewrelease底部简介MovieIntroViewController*introductionVC=MovieIntroViewControllerallocinitselfintroductionVC=introductionVCintroductionVCmovie=selfmovieintroductionVCviewframe=CGRectMake(,,FRAMEWIDTH,MOVIESCELLHEIGHT)scrollViewaddSubview:introductionVCviewintroductionVC滑动到顶部时introductionVCscrollViewWillEndDraggingUsingBlock:^{selfdownChangeFrame}introductionVCrelease左部剧照MoviePhotosViewController*photosVC=MoviePhotosViewControllerallocinitselfphotosVC=photosVCphotosVCmovie=selfmoviephotosVCviewframe=CGRectMake(,,FRAMEWIDTH,MOVIESCELLHEIGHT)scrollViewaddSubview:photosVCviewintroductionVC滑动到顶部时photosVCscrollViewWillEndDraggingUsingBlock:^{selfdownChangeFrame}photosVCrelease右部评论MovieCommentViewController*commentVC=MovieCommentViewControllerallocinitselfcommentVC=commentVCcommentVCmovie=selfmoviecommentVCviewframe=CGRectMake(,,FRAMEWIDTH,MOVIESCELLHEIGHT)scrollViewaddSubview:commentVCviewintroductionVC滑动到顶部时commentVCscrollViewWillEndDraggingUsingBlock:^{selfdownChangeFrame}commentVCreleaseUISwipeGestureRecognizer*swip=nil河南师范大学本科毕业论文swip=UISwipeGestureRecognizerallocinitWithTarget:selfaction:selector(swip:)swipdirection=UISwipeGestureRecognizerDirectionUpselfscrollViewaddGestureRecognizer:swipswipreleaseswip=UISwipeGestureRecognizerallocinitWithTarget:selfaction:selector(swip:)swipdirection=UISwipeGestureRecognizerDirectionDownselfscrollViewaddGestureRecognizer:swipswipreleasescrollViewreleasereturncell}#pragmamark向上手势(void)upChangeFrame{selfseleLabelframe=CGRectMake(,,,)UIViewbeginAnimations:"changeCenter"context:nilUIViewsetAnimationDuration:UIViewsetAnimationDelay:UIViewsetAnimationCurve:UIViewAnimationCurveEaseInselfscrollViewframe=CGRectMake(,,FRAMEWIDTH,MOVIESSCROLLVIEWHEIGHT)selfimageViewframe=CGRectMake(selfimageViewframeoriginx,,,)selfintroductionVCviewframe=CGRectMake(,,FRAMEWIDTH,MOVIESCELLHEIGHT)selfphotosVCviewframe=CGRectMake(,,FRAMEWIDTH,MOVIESCELLHEIGHT)selfcommentVCviewframe=CGRectMake(,,FRAMEWIDTH,MOVIESCELLHEIGHT)selfcommentVCtableViewscrollEnabled=YESselfintroductionVCscrollViewscrollEnabled=YESselfphotosVCcollectionViewscrollEnabled=YES开始动画UIViewcommitAnimations}}#pragmamark向下手势(void)downChangeFrame{selfseleLabelframe=CGRectMake(,,,)if(selfimageViewframeoriginy==){UIViewbeginAnimations:"changeCenter"context:nilUIViewsetAnimationDuration:河南师范大学本科毕业论文}点击任一导演或者演员可进入详情界面如图所示详情界面主要展示了演员的基本头像与基本简介点击演员头像可进入演员图集进行浏览所用的也是scrollview进行图片的滚动加载滚动中对视图进行重用节省程序内存是操作更加流畅。演员简介下发是该演员或导演曾经主演或者导演过的电影根据电影的总体评分进行排序点击可再次进入电影详情界面保持用户黏性的同时也使用户更方便的找到想到看的电影或者想要看的人主演的电影。图演员详情图演员图集()搜索标签界面图搜索和标签图关键字搜索图top河南师范大学本科毕业论文在首页点击左上方按钮可弹出搜索和标签界面(如图所示)搜索可输入任一关键字进行影片和演员的查询。查询出的结果如图所示点击结果电影列表可根据电影ID进入电影详情界面同样点击电影的标签也会通过所点击的标签显示出该标签下的电影top界面设计是一大亮点随机抽出部电影中的部展示其电影海报而不展示电影名称保持整个界面的整洁更增强用户的好奇心点击右上方刷新按钮可重新抽取部电影更通过程序中自带的摇一摇功能实现摇一摇刷新电影。()我的界面我的界面如图所示分别代表我收藏的电影、影讯、猜你喜欢与设置界面(如图所示)圆形图标实用uiview切圆角实现猜你喜欢功能采用的是记录用户日常的搜索内容判断用户的喜好传入用户喜好类型对影片进行筛选选出用户所喜欢类型类电影进行展示。设置中可实现程序内图标质量的选择便于用户节省流量主要用通知可以实现注册一则通知如果点击进行切换低质量图片则通知所有图片加载的地方加载小图片地址反之亦然清楚缓存主要用于清楚用户浏览是所产生的图片缓存可读取程序的沙盒文件夹找到缓存目录对里面的文件进行清空操作。主要代码如下所示:图我的界面图设置界面(void)picQuality{createthealertselfalert=MLTableAlerttableAlertWithTitle:"图片质量设置"cancelButtonTitle:"取消"numberOfRows:^NSInteger(NSIntegersection)河南师范大学本科毕业论文{return}andCells:^UITableViewCell*(MLTableAlert*anAlert,NSIndexPath*indexPath){staticNSString*CellIdentifier="CellIdentifier"UITableViewCell*cell=anAlerttabledequeueReusableCellWithIdentifier:CellIdentifierif(cell==nil)cell=UITableViewCellallocinitWithStyle:UITableViewCellStyleDefaultreuseIdentifier:CellIdentifierif(indexPathrow==){celltextLabeltext="高质量"}if(indexPathrow==){celltextLabeltext="低质量"}if(indexPathrow==){celltextLabeltext=""}if(indexPathrow==){celltextLabeltext=""}returncell}Settingcustomalertheightselfalertheight=configureactionstoperformselfalertconfigureSelectionBlock:^(NSIndexPath*selectedIndex){NSUserDefaultsstandardUserDefaultssetObject:"large"forKey:"picQulity"设置修改NSUserDefaultsstandardUserDefaultssynchronizeif(selectedIndexsection==selectedIndexrow==){NSLog("高质量")默认为高质量NSUserDefaultsstandardUserDefaultssetObject:"large"forKey:"picQulity"设置修改NSUserDefaultsstandardUserDefaultssynchronize写会文件NSNotificationCenterdefaultCenterpostNotificationName:"NotiCenterSettingsQuality"object:nilselfresultLabeltext="高质量"}if(selectedIndexsection==selectedIndexrow==){河南师范大学本科毕业论文NSUserDefaultsstandardUserDefaultssetObject:"medium"forKey:"picQulity"设置修改NSUserDefaultsstandardUserDefaultssynchronize写会文件NSNotificationCenterdefaultCenterpostNotificationName:"NotiCenterSettingsQuality"object:nilselfresultLabeltext="低质量"}}andCompletionBlock:^{selfresultLabeltext="CancelButtonPressednNoCellsSelected"}showthealertselfalertshow}结论本文介绍了一个基于iOS端Foundation框架和MVC架构的来看电影手机APP的设计与开发基本实现了一个娱乐性APP的功能它界面简洁流畅结构逻辑清晰操作方便实用性非常强。在用户体验方面由于代码的规范性与多线程异步请求等的操作使软件运行的流畅性得到很大的保障基本没有卡顿、无故闪退等现象。在设计和开发此款应用时我也对一个完整的手机客户端项目有了一个全面的了解培养了自己的综合能力与程序设计的思想我设计的项目基本完成所有影视讯息类移动端应用的特点更重要的是通过这次毕业设计我也做了一些努力学习能力与不断学习的精神和严肃认真地态度这对以后的工作和学习有着很大的好处。参考文献仝戈,张武装基于MVC框架的Web应用程序开发中的应用J科技信息,,():段学东,何九周基于敏捷思想的iOS平台软件的设计与实现J计算机技术与发展,,():覃开贤,卢澔基于MVC模式的在线作业系统的设计J计算机与现代化,():罗仕鉴,龚蓉蓉,朱上上面向用户体验的手持移动设备软件界面设计J计算机辅助设计与图形学学报,():唐巧iOS开发进阶M北京:电子工业出版社,,BigNerdRanciOSProgramming,ndEditionJ(ndEdition,():(JoshClark,Tapworthy:DesigningGreatiPhoneAppsMO'ReillyMedia,Inc,USA,:SuzanneGinsburg,DesigningtheiPhoneUserExperiince:AUserCenteredApproachtoSketchingandPrototypingiPhoneAppsMAddisonWesleyProfessional,:MattNeuburg,ProgrammingiOS:DiveDeepintoViews,ViewControllers,andFrameworksMO'ReillyMedia,:JoeConway,iOSProgramming:TheBigNerdRanchGuideMBigNerdRanchGuides,:河南师范大学本科毕业论文致谢首先最主要感谢的就是赵永进老师在论文的准备与写作过程中我得到了赵永进老师的悉心指导和热情帮助从而保障了我的毕业设计能够按时按质的完成并是我的专业技能与职业素养得到了进一步的提升特此对赵永进老师表示真诚的感谢。今后工作过程中我会牢记老师们的谆谆教诲更加努力的学习专业技能提高自己的职业素养。另外也感谢这四年来一直陪伴着我的同学们是你们让我有了一个愉快而难忘的大学生涯愿我们以后都能有个圆满的人生。张琛年月与河南师范大学

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/39

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利