基于IOS平台美食应用软件毕业设计.docx

上传人:b****7 文档编号:9794603 上传时间:2023-02-06 格式:DOCX 页数:47 大小:1.81MB
下载 相关 举报
基于IOS平台美食应用软件毕业设计.docx_第1页
第1页 / 共47页
基于IOS平台美食应用软件毕业设计.docx_第2页
第2页 / 共47页
基于IOS平台美食应用软件毕业设计.docx_第3页
第3页 / 共47页
基于IOS平台美食应用软件毕业设计.docx_第4页
第4页 / 共47页
基于IOS平台美食应用软件毕业设计.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

基于IOS平台美食应用软件毕业设计.docx

《基于IOS平台美食应用软件毕业设计.docx》由会员分享,可在线阅读,更多相关《基于IOS平台美食应用软件毕业设计.docx(47页珍藏版)》请在冰豆网上搜索。

基于IOS平台美食应用软件毕业设计.docx

基于IOS平台美食应用软件毕业设计

摘要

随着运算机网络通信技术和Internet的飞速进展,基于因特网的电话移动应用已经开始成为一种全新的功能需求,而且愈来愈受到人们的关注。

由于移动应用具有简单性,随时随地性等诸多特点,因此它有着传统运算机所无法比拟的优势。

如此一来,电话移动应用的开发工作就显得尤其重要。

而且随着生活水平的提高,人们关于吃的要求也是愈来愈高,因此一款关于美食应用软件的开发也会符合人们的需求。

本文要紧介绍了iOS平台和基于该平台的美食教程应用软件的开发进程,详尽论述了从需求分析、系统分析、概要设计、详细设计、和测试与调试的整个开发进程,总结了开发进程中的体会及本系统尔后的改良方向。

Xcode5.0开发工具,采纳成熟的软件研制技术,后台数据库采纳SQLite3。

关键字:

iOS开发美食应用软件XcodeSQLite3

Abstract

WiththerapiddevelopmentofcomputernetworkcommunicationtechnologyandInternet,mobileapplicationbasedonInternethasbeguntobecomeakindofnewfunctionalrequirements,andmoreandmoregettheattentionofpeople.Becausethemobileapplicationshassimplicity,sexanytimeandanywhere,andmanyotherfeatures,soithastheadvantagesoftraditionalcomputer.Asaresult,mobileapplicationdevelopmentworkisparticularlyimportant.Andwiththeimprovementoflivingstandards,peoplealsomoreandmorehightotherequirementofeating,soaaboutfoodapplicationsoftwaredevelopmentalsowillmeetthedemandofpeople.

IOSismainlyintroducedinthispaper,andbasedontheplatformoffoodtutorialapplicationsoftwaredevelopmentprocess,detaileddiscussedfromtherequirementanalysis,systemanalysis,generaldesign,detaileddesign,andtestinganddebuggingofthewholedevelopmentprocess,summeduptheexperienceintheprocessofdevelopmentandtheimprovementdirectionofthesysteminthefuture.Xcode5.0developmenttools,USESthematuresoftwaredevelopmenttechnology,backgrounddatabaseusingSQLite3.

KeyWords:

IOSDevelopFoodapplicationsXcodeSQLite3。

1引言

1.1掌厨应用的意义

一款美食教程应用软件,精选万道家常菜高清“同步视频”,轻松一点,即可随意阅读,拥有上万道家常菜、上万个同步视频,如此卓越非凡,将全面颠覆您对美食软件的熟悉。

规模较大,菜谱数量近万道,同步视频数量近万个,视频品质好,清楚度、流畅度好,为您带来极致的视觉体验。

在掌厨客户端,你能够体会到:

万道美食任您选,展现高清菜谱图片,无穷滑动带来无穷惊喜。

万个同步视频边看边做,每道家常菜都配有“材料预备”与“制作进程”两段视频,两段视频与现实烹饪完全同步。

提供多种检索方式,包括智能选菜、菜系搜索、口味搜索等47种快速搜索功能,还有随机的摇一摇选菜功能……不管您带着哪一种目的搜索,都会有所收成。

点击轻松注册,万道美食任您收藏。

点击“我的”实现注册,注册成功,点击每道菜上的红心按钮即可实现收藏,菜例即归入收藏夹,以后即可随查随看。

1.2IOS开发的研究现状

世界在进展,社会在进步,在信息化时期的今天,人们关于电话有了进一步的了解与应用。

随着科技的进展,智能电话已经成了今天电话市场的主流产品,此刻大部份的人都在用智能电话。

智能电话的进展势不可挡。

此刻经常使用的智能电话系统有:

苹果ios智能系统、安卓智能系统、塞班智能系统、软智能电话系统、黑莓智能系统等等。

毫无疑问,电话的智能化是电话的一场革命。

互联网应用的进展和3G网络的成熟,3G智能电话成为最重要的终端载体,吸引了愈来愈多消费者利用智能电话网上冲浪、收发电子邮件、看电影、打游戏、视频对话等。

智能电话让人们的生活变得愈来愈便利,这就使得智能电话成了消费者追捧的对象。

 

此刻,消费者已经能够用具有支付、认证功能的电话来购买车票和电影票、打开大门、借书、充当会员卡,能够实现移动通信与金融效劳的完美结合和有线通信和无线通信的无缝过渡,让消费者享受到方便平安的金融生活效劳。

第二,电话搜索将超过运算机搜索。

再次,电话内容共享。

电话图片、音频、视频共享被以为是3G电话业务的重要应用。

 

中国拥有者世界上最大规模的潜在移动互联网市场,而且由于文化等缘故,中国移动互联网市场有着自身较为特殊的需求。

这使得生硬地照搬国外作品不必然能在国内有较好的反应。

事实上,若是国内企业能针对国内需开发软件,或对借鉴来的国外体会加以调

整,反而能达到更好的经济效益。

例如"酒店达人"软件关于国内宾馆移动预定业务进行针对性的开发运作,在短时刻内就开始了盈利。

 

苹果ios系统作为高端机的智能系统截止至2020年11月,依照Canalys的数据显示,iOS已经占据了全世界智能电话系统市场份额的30%,在美国的市场占有率为43%,并在慢慢的增加总之,在移动互联网时期,传统的信息产业运作模式正在被打破,新的运作模式正在形成。

关于电话厂商、互联网公司、消费电子公司和网络运营商来讲,这既是机缘,也是挑战,他们踊跃参与到移动互联网市场的市场竞争中。

  

技术基础

移动app顾名思义确实是电话软件app,也叫移动终端,电话客户终端,移动软件,电话应用软件等,属于移动设备上面运行的一款终端软件。

在移动互联网风生水起的时期,移动app已经愈来愈深切人心,app应用开发市场突飞猛进,成了移动互联网的主流。

掌厨是基于app的开发理论基础而实现的,第一是基于移动终端上的随身性,互动性通过新技术和数据分析,实现了精准定位企业目标用户。

第二软件开发是一个复杂的进程,软件进程能够通过软件进程模型来表示。

概念模式是超级重要的,它是指人们在熟悉事物的进程中,关于某一事物或系统形成的抽象的一样化的框架,是在人们长期的实践活动中实现的,概念模式简单明了,易于明白得。

概念模式具有相对性,面对不同的用途会有不同形式的概念模型,各有各的用途。

软件开发中有常见的其中概念模式,结构图,数据流程图,实体关系图等等,这些概念模式都是为了实现软件的易于明白得性。

iOS简介:

iOS最初是设计在iPhone上的操作系统,苹果公司于2007年1月9日的Macworld大会上发布了那个系统,并命名为iPhone OS,但随着此系统在iPod touch、iPad和Apple TV等苹果产品上的普遍应用,苹果公司于2020年6月7日WWDC大会上将其更名为IOS。

据Canalys的数据显示, 截止到2020年11月,iOS占据了全世界智能电话系统市场份额的30%,在美国的市场占有率更是达到了43%。

随着Andriod开源操作系统的异军突起和Windows Phone的发力,iOS市场份额正被一点点的蚕食,可是iOS设备的利润率高的惊人,以智能电话为例,iphone的利润额占到整个智能电话利润额的80%,受益于此,苹果的市值也达到了5000亿美元。

Objective-c简介:

Objective-C是超级“实际”的语言。

它利用一个用C写成的运行库,只会令应用程序的大小增加很小。

Objective-C写成的程序通常可不能比其源代码大很多。

而其函数库(通常附在软件发行本)亦和Smalltalk系统要利用极大的内存来开启一个窗口的情形相反。

 Objective-C的最第一版本并非支持垃圾回收。

在那时这是争辩的核心之一,很多人考虑到Smalltalk回收时有漫长的“死亡时刻”,令整个系统失去功用。

Objective-C为幸免此问题才不拥有那个功能。

尽管某些第三方版本已经加入那个功能(尤其是GNUstep),再起Mac OS X 10.3中仍未引入那个功能。

只是令人欣慰的是在Apple发布的XCode4中已经支持自动释放,在xCode4中的自动释放,也确实是ARC(Automatic Reference Counting)机制,是不需要用户手动去Release一个对象,而是在编译期间,编译器会自动帮你添加那些以前你常常写的[NSObject release]。

另一个问题是ObjC不包括命名空间机制(namespace mechanism)。

取而代之的是程序设计师必需在其类别名称加上前缀,时常引致冲突。

在2004年,在Cocoa编程环境中,所有Mac OS X类别和函式均有“NS”作为前缀,例如NSObject或NSButton来清楚别离它们属于Mac OS X核心;利用“NS”是由于这些类别的名称在NeXTSTEP开发时定下。

尽管Objective-C是C的母集,但它也不视C的大体型别为第一级的对象。

和C++不同,Objective-C不支援运算子多载(它不支持ad-hoc多型)。

亦与C++不同,但和Java相同,Objective-C只允许对象继承一个类别(不设多重继承)。

Categories和protocols

不但能够提供很多多重继承的益处,而且没有很多缺点,例如额外执行时刻过重和二进制不兼容。

由于Obj-C利用动态运行时类型,而且所有的方式都是函数挪用(有时乃至连系统挪用(syscalls)也如此),很多常见的编译时性能优化方式都不能应用于Obj-C(例如:

内联函数、常数传播、交互式优化、纯量取代与聚集等)。

这使得Obj-C性能劣于类似的对象抽象语言(如C++)。

只是Obj-C拥护者以为既然Obj-C运行时消耗较大,Obj-C本来就不该应用于C++或Java常见的底层抽象

ios系统框架:

iOS的系统架构和其操作系统一样,采纳了分层的架构。

iOS分为四层,别离为核心操作系统(the Core OS layer),核心效劳层(the Core Services layer),媒体层(the Media layer),Cocoa触摸架构层(the Cocoa Touch layer)。

SQLite数据库介绍:

SQLite, 是一款轻型的数据库,是遵守ACID的关联式数据库治理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中利用了它,它占用资源超级的低,在嵌入式设备中,可能只需要几百K的内存就够了。

它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,一样比起Mysql、PostgreSQL这两款开源世界闻名的数据库治理系统来讲,它的处置速度比他们都快。

SQLite第一个Alpha版本诞生于2000年5月. 至今已经有10个年头,SQLite也迎来了一个版本 SQLite 3已经发布。

Xcode 整合的 Apple Reference Library 为所有的Apple开发者文件提供一个单独的搜索和显示界面,这些文件包括来自苹果电脑公司网站的在线文件,和寄存在你电脑上的文件。

新的参考资料库乃至能够帮你将按期更新资料下载到你的电脑,维持文件的最新状态。

Xcode 将帮你快速找到最新的答案。

Xcode 将给予你创建诸如计算和渲染引擎应用程序的能力,这些应用程序利用64位内存定址。

这超级适合数据集中的应用程序,其通过访问内存中的数据运行速度更快,远胜于磁盘访问。

Xcode 将为你提供工具来成立并调试适合 Intel Core i5, i7 和 Mac OS X Lion 的 32 或 64 位应用程序,还能够让你创建包括32位和64位执行能力的 Fat Binaries。

  

众所周知,在构建中引进多重处置器能够提高速度,Xcode 能帮你实现那个明显的结论。

利用支持 Rendezvous 的散布式构建功能,能够轻易地把编译工作量分散到闲置的电脑上来寄放构建,或更好是在单独的电脑上开发一个专门的 Xserve 构建寄放区,快速处置那些耗时的任务。

系统分析与设计

1.1需求分析

3.1.1编写目的

“养生之道,莫先于食。

”利用食物的营养来防治疾病,可增进健康长寿。

通过调整饮食来补养脏腑功能,增进躯体健康和疾病的康。

  

俗语说:

“药补不如食补。

”所谓食补,确实是食补能起到药物所无法起到的作用。

在我国,利用调整饮食作为一种养生健身手腕有着悠长的历史,比如唐朝名医孙思邈对饮食养生作了重大奉献,他以为,老年人疾病的医治,第一要注重饮食。

因为“食能排邪而安脏腑悦神爽志以资气血,而药性烈,犹假设御兵,药势有所偏助,令人脏气不平,易受外祸,因此假设能用食平疴,适性遣疾,最易收养生之效益”。

  

饮食是人类维持生命的大体条件,而要令人活得健康愉快、充满活力和聪慧,那么不单单知足于吃饱肚子,还必需考虑饮食的合理调配,保证人体所需的各类营养素的摄入平稳且充沛,而且能被人体充分吸收利用。

掌厨给了人们更多的选择,上万道菜品展现,上万道美食制作视频,让人们轻松拥有精湛的厨艺,及合理的搭配,让你做出来的饭菜不在单调,而且加倍有营养。

这确实是编写掌厨的目的。

3.1.2开发的软件硬件要求

硬件:

主流配置pc机(装黑苹果,大多数主流硬件的驱动都能找到,但仍是推荐虚拟),iMac或MacbookAir或MacbookPro

软件:

虚拟机VM+MacOS系统镜像,X-Code在虚拟Mac中安装,苹果免费提供),MacOS,X-Code

iOS设备:

iPhone、iPad、iPod

1.2整体设计

1.2.1要紧功能

a.万道美食任你选:

展现高清菜谱图片,无穷滑动带来无穷惊喜。

b.提供多种检索方式:

包括智能选菜、菜系搜索、口味搜索和摇一摇选菜。

c.菜品制作视频及四大相关信息板块,迅速成为掌厨达人。

d.轻松注册登录,美食任你收藏。

e.对症食疗,健康美食生活

1.2.2软件结构示用意

1.3

详细设计

1.3.1主界面设计

1.3.2对症医治界面设计

点击主界面上对症医治进入相应界面显现多种类别点击类别显现多种相应病状

1.3.3热点推荐界面设计

点击主界面上热点推荐显现多种菜品

1.3.4摇一摇界面设计

点击主界面上摇一摇进入摇一摇界面摇晃电话后随机显现一款美食

1.3.5万道菜界面设计

点击主界面上万道美食进入万道菜界面

1.3.6菜品详情界面设计

点击菜品后显现相应菜品的材料,相关常识,相宜相克,做法

1.3.7二维码界面设计

点击主界面上二维码进入到二维码界面

1.3.8登录与注册界面设计

点击主界面上“我的”自动进入到登岸注册界面

1.3.9“我的”界面设计

点击主界面上的我的进入到我的界面

3.3.10收藏界面设计

点击我的界面中的我的收藏后显现我的收藏界面

点击菜品下的红心,能够收藏该菜品,收藏后弹出收藏成功对话框,点击确信后能够在我的收藏界面中查看该菜品

3.3.11五层搜索界面设计

 

系统实现

1.4各界面的实现

1.4.1主界面的实现

点击主界面上的相应功能进入到相应的功能模块

1.4.2对症食疗界面的实现

点击科目显现具体病状点击具体病状显现病状详情

点击详情显现病状的详情及相关的饮食保健点击相应菜品可看菜品详情

4.1.3热点推荐界面的实现

点击主界面上的热点推荐进入到热点推荐界面,点击相应菜品,可看菜品详情

 

4.1.4摇一摇界面的实现

点击主界面上的摇一摇进入到摇一摇界面摇晃电话后显现相应的菜品

4.1.5万道菜界面的实现

点击主界面上的万道菜进入万道菜界面,点击相应菜品可看菜品详情

4.1.6菜品详情界面的实现

点击菜品后进入菜品详情界面

4.1.7二维码界面的实现

点击主界面上的二维码进入到二维码界面

4.1.8登录与注册界面的实现

4.1.9“我的”界面的实现

点击主界面上的“我的”进入我的界面,点击我的收藏可进入收藏界面

4.1.10收藏界面的实现

点击我的界面中的我的收藏后显现我的收藏界面,点击菜品下的红心,能够收藏该菜品,收藏后弹出收藏成功对话框,点击确信后能够在我的收藏界面中查看该菜品

点击编辑,进入编辑界面可删除菜品

点击完成后日退出编辑界面

4.1.11五层搜索界面的实现

点击主界面上的搜索,进入到搜索界面

1.5实现系统进程中碰到的关键问题

小组件比较多,写成复用,工作量较大

导入第三方库及整合代码

1.6关键代码

-(id)initWithNibName:

(NSString*)nibNameOrNilbundle:

(NSBundle*)nibBundleOrNil

{

self=[superinitWithNibName:

nibNameOrNilbundle:

nibBundleOrNil];

if(self){

[selfinitMember];

}

returnself;

}

-(void)viewDidLoad{

[superviewDidLoad];

[selfuiConfig];

[selfloadData];

}

#pragmamark-QFTableViewDataSource

-(CGFloat)QFTableView:

(QFTableView*)fanView

widthForIndex:

(NSInteger)index{

return320;

}

-(NSInteger)numberOfIndexForQFTableView:

(QFTableView*)fanView{

return_mainArray.count;

}

-(void)QFTableView:

(QFTableView*)fanView

setContentView:

(UIView*)contentView

ForIndex:

(NSInteger)index{

LLCMainModel*model=[_mainArrayobjectAtIndex:

index];

UIImageView*pictureImageView=(UIImageView*)contentView;

[pictureImageViewsetImageWithURL:

[NSURLURLWithString:

model.imagePathLandscape]

placeholderImage:

[UIImageimageNamed:

@"defaultImage.png"]];

}

-(UIView*)QFTableView:

(QFTableView*)fanView

targetRect:

(CGRect)targetRect

ForIndex:

(NSInteger)index{

UIImageView*pictureImageView=[[UIImageViewalloc]initWithFrame:

targetRect];

returnpictureImageView;

}

#pragmamarkQFTableViewDelegate

#pragmamark点选cell,弹入视频界面

-(void)QFTableView:

(QFTableView*)fanViewselectIndex:

(NSInteger)index{

LLCVideoViewController*vVC=[[LLCVideoViewControlleralloc]init];

vVC.dataArray=_mainArray;

vVC.currentIndex=index;

[self.navigationControllerpushViewController:

vVCanimated:

YES];

}

#pragmamark翻页

-(void)QFTableView:

(QFTableView*)fanViewscrollToIndex:

(NSInteger)index{

if(index>_mainArray.count-1){

return;

}

if(_mainArray.count>0&&index>-1){

LLCMainModel*model=[_mainArrayobjectAtIndex:

index];

_dateIntroduce.foodNameLabel.text=model.name;

_dateIntroduce.foodPinYinName.text=model.englishName;

[_pageControllightPointBeforePage:

index];

}

}

#pragmamark读取更多

-(void)llcTableViewLoadMoreData{

if(_isLoading){

return;

}

//加载hud

UIView*oldHud=[self.viewviewWithTag:

kHUD_Tag];

if(oldHud!

=nil){

[oldHudremoveFromSuperview];

}

LLCFacilityHUD*hud=[[LLCFacilityHUDalloc]initWithPosition:

self.view.center];

hud.tag=kHUD_Tag;

[self.viewaddSubview:

hud];

[hudloading];

_isLoading=YES;

_requestModel.page++;

NSSt

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1