基于IOS开发的装修家居APP的设计与实现.docx

上传人:b****6 文档编号:6205677 上传时间:2023-01-04 格式:DOCX 页数:30 大小:2.03MB
下载 相关 举报
基于IOS开发的装修家居APP的设计与实现.docx_第1页
第1页 / 共30页
基于IOS开发的装修家居APP的设计与实现.docx_第2页
第2页 / 共30页
基于IOS开发的装修家居APP的设计与实现.docx_第3页
第3页 / 共30页
基于IOS开发的装修家居APP的设计与实现.docx_第4页
第4页 / 共30页
基于IOS开发的装修家居APP的设计与实现.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

基于IOS开发的装修家居APP的设计与实现.docx

《基于IOS开发的装修家居APP的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于IOS开发的装修家居APP的设计与实现.docx(30页珍藏版)》请在冰豆网上搜索。

基于IOS开发的装修家居APP的设计与实现.docx

基于IOS开发的装修家居APP的设计与实现

河南科技学院

2015届本科毕业设计

 

基于IOS开发的装修家居APP的设计与实现

学生姓名:

所在系别:

信息工程

所学专业:

信息工程

导师姓名:

完成时间:

2015-5–10

基于IOS开发的装修家居APP的设计与实现

摘要

 

随着科技的发展,移动智能终端人们的日常生活中扮演着越来越重要的角色。

基于iOS系统的iPhone手机因其独特的设计和极佳的体验深受用户欢迎。

作为当前最流行的操作平台,自然也存在着大量的应用服务需求。

本课题是为一家装修公司设计的一款帮助人们可以随心所欲选择家居装修样式的移动应用。

该APP以Object-C语言编写,以Xcode为开发工具实现的。

主要有五大界面:

首页,分类图片,灵感,关注及设置界面。

首页展示了设计师设计的当今流行的一些装修样板;分类界面以空间、风格、局部三种分类方式向用户详细介绍各种各样的装修方法;灵感界面就是用户记录自己的装修方法,以备以后装修时使用的界面;关注界面则是自己关注的设计师的最新动态;设置界面可以清空缓存,意见反馈,及APP介绍。

精致优秀的设计风格,有多样化的选择,使用户可以更加赏心悦目地体验本软件的服务。

关键词:

Objective_c、HTTP、MySQL、家居

 

DESIGNANDIMPLEMENTATIONOF

INFORMATIONMANAGEMENTSYSTEMSGRADUATES

Abstract

Withthedevelopmentofscienceandtechnology,mobileintelligentterminalplaysanincreasinglyimportantroleindailylife.. IPhonemobilephonebasedontheiOSsystembecauseofitsuniquedesignandexcellentexperiencebyusers. Asthemostpopularoperatingplatform,thereisalsoalotofnaturalapplicationserviceneeds. Thistopicisforadecorationcompanydesignofahelppeoplecanchoosehomedecorationstylemobileapplication. TheAPPiswritteninObject-Clanguage,andimplementedbyXcodeasthedevelopmenttool.. Therearefivemajorinterfaces:

home,classificationpictures,inspiration,attentionandsettheinterface. Homepageshowsthedesigneroftoday'spopularsomedecorationmodel;interfaceclassificationtospace,style,localthreeclassificationtouserswiththevariousdecorationmethod;interfaceinspiredisuserstorecordtheirowndecorationmethod,topreparationaftertherenovationoftheuseofinterface;interfaceisdesignersconcernthemselveswiththelatestdevelopments;settinginterfacecanemptythecache,feedback,andapp. Exquisiteandexcellentdesignstyle,avarietyofchoices,userscanexperiencemorebegoodtohearorseetheserviceofthissoftware.

Keywords:

Objective_c,HTTP,MySQL,Household

 

目录

 

1.绪论1

2.iOS系统、环境以及所用技术介绍2

2.1iOS系统简介2

2.3开发环境3

2.4应用程序框架3

2.5设计模式4

2.6第三方库5

3.功能模块的设计6

3.1首页界面的设计6

3.2分类界面7

3.3灵感界面7

3.4关注界面8

3.5设置界面8

4.功能模块的具体实现9

4.1各个界面之间的切换9

4.2首页界面的具体实现逻辑及代码10

4.3分类界面13

4.4灵感界面15

4.5关注界面18

4.6设置界面20

5.系统测试21

5.1测试目的21

5.2测试方法21

小结23

参考文献23

致谢24

1.绪论

随着IOS的在当今社会流行,人们愈发体验到了其所带来的科技魅力,给我们的生活带来了越来越多的帮助,让我们的生活更加的简单。

本课题研究的是设计一款APP,人们通过这个手机APP就能找到自己理想的家居装修方法,让自己的居住环境更加的舒适。

如今的移动应用开发产业让人眼花缭乱,主要的移动平台有:

IOS、Android、NokiaSymbian、blackberry、JavaME、windowsphone、mobileweb。

Android以其开放性,多任务,大功能。

画面流畅,硬件设备优良多样等各种优点,占只能机一大部分,然而它也存在着明显的不足,如:

兼容性差,各种机型的配置不一样,以至于开发的时候出现各种版本。

有些产品华而不实,用户体验差。

Symbian主要基于C语言的应用开发,支持多线程运行模式,但是开发代码量过大给开发人员造成很大的不便。

就目前而言,三大平台(Android、Symbian、blackberry)的市场占有率也在逐渐下降,IOS呈现平稳上升趋势。

(1)APPstore的支付模式成熟。

不仅仅是这一模式的创新,更重要的人们用苹果手机只能从苹果商店下载应用,经过长时间的运营,APPstore已经形成完备的支付模式,被大部分用户接受。

(2)IOS是用object-C这门语言开发。

从全球的编程语言排行榜来看,虽然object-C只有苹果一家公司使用,但是已经排名已经非常靠前了,可见IOS开发的普及性和欢迎程度,另外,基于C语言,运行效率更高

计算机网络通信技术和Internet在最近几年来飞速发展,基于因特网的手机移动应用逐渐开始成为一种全新的功能需求,并且越来越收到人们的关注。

由于移动应用具有简单性,随时随地等诸多优点,人们通过一部手机就可以操控一切,它有着传统计算机无法比拟的优点。

而人们也在越来越追求更高的物质生活,因此,开发一个关于装修家居的移动应用就有必要了,你只需要通过一部手机,就可以看见多种多样的装修方式,多样化的选择,让你找到自己心怡的装修方法。

并且你还可以将方法分享给你的朋友,让更多的人感受到移动应用,这个APP给人们带来的简便。

基于IOS平台的装修软件已经有很多,经过分析,用户第一眼往往是一个软件的外观,一个好看的界面才能让用户以一种爱美之心去尝试,才能进一步了解一个软件的好坏,所以吸引眼球的界面是争取用户的第一步。

因此,界面设计工作对应用程序来说非常重要,在界面上吸引了用户,才能进一步让用户体验应用程序中的功能,使用这个软件。

因此,开发一种界面美观,用起来舒适,并且能给人们带来巨大作用的软件非常有必要。

房屋装修设计是个系统工程,并非想像的那么简单。

一般来说,每个人想法都有所不同,对家居的要求不尽相同。

但真正能将自己的想法表达到位的,却少之又少。

一个专业的房屋设计师,首先会充分了解装修业主的个性化需求,结合自己的专业知识、生活阅历,将装修业主理想中的家居通过设计图纸表现出来。

其次,专业的设计师会利用自己对建材材料的了解,在设计时进行合理搭配,施工时推荐最佳材质。

说简单些,就是利用设计元素,突出家居中的某几个亮点即可达到装修最佳效果,而不必堆砌过多的装修材料,可以为装修业主节省许多不必要的花费。

第三,专业的设计师可以利用自己所累积的社会资源,为装修业主拿到单个消费者所拿不到材料价格,从而为业主节省许多金钱。

随着苹果产品的不断推陈出新,相应的各类应用开发也越来越火爆。

目前,IOS在智能手机应用下载量中占比33%,IOS平板电脑应用下载量占比75%,由此可见,IOS相关应用软件有着庞大的消费众群。

而产品的升级换代,新产品的开发,都离不开手机软件开发团队强有力的支持。

现在各大企业都在积极扩充研发队伍,像是游戏软件开发的岗位缺口就非常大。

其8-10万的年薪,让很多年轻人加入到学习IOS开发的队伍中。

 

    据对在读学习人群统计,目前大部分学员来自应届的大学生。

众所周知,现在大学生就业难,薪水低。

而学习IOS开发,不但可以掌握最新的技术,还可以找到薪水福利不错的工作,未来也有很大的发挥空间。

另一部分人群,则是IOS相关从业人员,随着技术的日新月异,希望能通过短时间集中培训,使技能得到提升,更好的应用到实际工作中。

而目前关于装修的App少之又少,而人们又迫切需要这样一款软件,所以这样的软件具有很大的前景。

 

    

2.iOS系统、环境以及所用技术介绍

iOS开发是以xcode为开发工具,OC为编程语言开发的,是开发苹果移动设备应用的简称。

2.1iOS系统简介

iOS是iPad、iPhone、iPod touch和Apple TV的操作系统。

是由苹果公司开发的移动操作系统 。

苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等产品上。

iOS与苹果的Mac OS X操作系统一样,它也是以Darwin为基础的,因此属于类Unix的商业操作系统。

原本这个系统名为iPhone OS,因为iPad,iPhone,iPod touch都使用iPhone OS,所以2010WWDC大会上宣布改名为iOS。

iOS 具有简单的界面、令人惊叹的功能,以及超强的稳定性,已经成为iPhone、iPad 和iPod touch 的强大基础。

尽管其他竞争对手一直努力地追赶, iOS 内置的众多技术和功能让设备始终保持着遥遥领先的地位。

Objective-C,通常写作ObjC和较少用的ObjectiveC或Obj-C,是扩充C

的面向对象编程语言。

Objective-C是非常实际的语言。

它是一个用C写成、很小的运行库,只会令应用程序的尺寸增加很小,和大部分OO系统使用极大的VM执行时间会取代了整个系统的运作相反。

Objective-C写成的程序通常不会比其原始码大很多。

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

因此,Objective-C它完全兼容标准C语言(C++对C语言的兼容仅在于大部分语法上,而在ABI(ApplicationBinaryInterface)上,还需要使用extern"C"这种显式声明来与C函数进行兼容),而在此基础上增加了面向对象编程语言特性以及Smalltalk消息机制。

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

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

Categories和protocols不但可以提供很多多重继承的好处,而且没有很多缺点,例如额外执行时间过重和二进制不兼容。

2.3开发环境

(1).Xcode开发工具

我们要掌握一门编程语言的话,都必须使用相应的开发工具进行学习和调试,比如用eclipse学习Java。

至于Objective-C,我们可以使用苹果公司提供的开发工具---Xcode

(2)MacOSX

Xcode没有Windows版本的,只有Mac版本的,也就是只能跑在MacOSX系统上。

因此,你要先拥有MacOSX系统才能使用Xcode进行Objective-C的学习和iOS开发。

MacOSX是苹果公司为Mac系列产品开发的专属操作系统,目前搭载这款操作系统的设备有:

MacBook、iMac、Macmini。

大概有3种途径可以获取MacOSX系统:

虚拟机、黑苹果、购买苹果设备。

(3)调试设备

Xcode自带了iOS模拟器功能,因此我们可以将开发好的应用程序,运行到模拟器上进行测试,不一定要买iPhone\iPad进行调试。

当然,真机和模拟器肯定是区别的,因此在发布应用程序之前肯定要进行真机测试。

(4)开发者证书

如果你是想把开发好的iOS程序发布到AppStore上去卖,或者把程序运行到真机(iPhone\iPad)上,那么就必须有iOS个人开发者证书。

这个需要向苹果买,一年99$。

如果纯粹是学习,不用买这个证书,一切开发都是免费的。

2.4应用程序框架

应用程序主要包括以下几大框架:

Foundation、UIKit、CoreData、CoreGraphics、CoreAnimation等几大框架。

在你开发程序时,主要使用框架就是Foundation和UIKit,因为它们包你

需要的大部分东西,你的应用程序,UIKit和其它的框架都是建立在Foundation框架上

Foundation框架是用Object-C对CoreFoundation框架里许多特性的封装。

使用Foundation可以:

•创建和管理集合,比如数组和字典

•访问存储在应用程序里的图片和其它资源

•创建和管理字符串

•提交和接收通知

•创建日期和时间对象

•自动发现IP网络上的设备

•操作URL流

所有的iOS应用程序都基于UIKit,你不能是应用程序脱离这个框架。

UIKit提供了在屏幕上绘制的机制,捕获事件,和创建通用用户界面元素。

UIKit也通过管理显示在屏幕上的组件来组织复杂的项目。

   使用UIKit可以:

•构建和管理你的用户界面

•捕获触摸和基于移动的事件

•呈现文字和web内容

•优化你的多任务程序

•创建定制的用户界面元素

CoreData,CoreGraphics,CoreAnimation,和OpenGLES框架都是高级的

技术。

所以这些框架对于你开发应用程序也是很重要的,它们都需要时间去学习和掌握。

CoreData框架管着理应用程序数据模型,提供的内建SQLlite技术可以高效的管理数据。

CoreGraphics框架帮助你创建图形

CoreAnimation允许你创建高级的动画和虚拟效果

OpenGLES框架提供2D和3D绘图工具

2.5设计模式

(一)代理模式

应用场景:

当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。

优势:

解耦合

敏捷原则:

开放-封闭原则

实例:

tableview的数据源delegate,通过和protocol的配合,完成委托诉求。

列表row个数delegate

自定义的delegate

(二)观察者模式

应用场景:

一般为model层对,controller和view进行的通知方式,不关心谁去接收,只负责发布信息。

优势:

解耦合

敏捷原则:

接口隔离原则,开放-封闭原则

实例:

Notification通知中心,注册通知中心,任何位置可以发送消息,注册观察者的对象可以接收。

kvo,键值对改变通知的观察者,平时基本没用过。

(三)MVC模式

应用场景:

是一中非常古老的设计模式,通过数据模型,控制器逻辑,视图展示将应用程序进行逻辑划分。

优势:

使系统,层次清晰,职责分明,易于维护

敏捷原则:

对扩展开放-对修改封闭

实例:

model-即数据模型,view-视图展示,controller进行UI展现和数据交互的逻辑控制。

(四)单例模式

应用场景:

确保程序运行期某个类,只有一份实例,用于进行资源共享控制。

优势:

使用简单,延时求值,易于跨模块

敏捷原则:

单一职责原则

实例:

[UIApplicationsharedApplication]。

注意事项:

确保使用者只能通过getInstance方法才能获得,单例类的唯一实例。

java,C++中使其没有公有构造函数,私有化并覆盖其构造函数。

objectc中,重写allocWithZone方法,保证即使用户用alloc方法直接创建单例类的实例,

返回的也只是此单例类的唯一静态变量。

(五)策略模式

应用场景:

定义算法族,封装起来,使他们之间可以相互替换。

优势:

使算法的变化独立于使用算法的用户

敏捷原则:

接口隔离原则;多用组合,少用继承;针对接口编程,而非实现。

实例:

排序算法,NSArray的sortedArrayUsingSelector;经典的鸭子会叫,会飞案例。

注意事项:

1,剥离类中易于变化的行为,通过组合的方式嵌入抽象基类

2,变化的行为抽象基类为,所有可变变化的父类

3,用户类的最终实例,通过注入行为实例的方式,设定易变行为

防止了继承行为方式,导致无关行为污染子类。

完成了策略封装和可替换性。

 

(六)工厂模式

应用场景:

工厂方式创建类的实例,多与proxy模式配合,创建可替换代理类。

优势:

易于替换,面向抽象编程,application只与抽象工厂和易变类的共性抽象类发生调用关系。

敏捷原则:

DIP依赖倒置原则

实例:

项目部署环境中依赖多个不同类型的数据库时,需要使用工厂配合proxy完成易用性替换

注意事项:

项目初期,软件结构和需求都没有稳定下来时,不建议使用此模式,因为其劣势也很明显,

增加了代码的复杂度,增加了调用层次,增加了内存负担。

所以要注意防止模式的滥用。

2.6第三方库

图片异步加载:

SDWebImage

网络通信库

AFNetworking

MKNetworkKit

ASIHTTPRequest

网络状态检查:

Reachability

JSON:

SBJSON

JSONKit

XML:

TouchXML

SQLite:

FMDB

下拉刷新:

MJRefresh

SVPullToRefresh

提示框:

MBProgressHUD

3.功能模块的设计

这个App由首页,分类图片,灵感,关注,设置,及个人信息六个界面组成,每个界面展示的都有明确的信息,让我们有多样化的选择。

3.1首页界面的设计

首页由两部分组成,上方由是一个滚动视图,能够无限滚动,并且能够用手滑动,下方是一个列表,也能够滑动。

首页展示的是装修后的家居图片,并且每张图片都有相应的文字作简单的介绍。

每张图片都是能点击的,点进去是详情,详细介绍了如何装修,及这样装修的好处,图片也能都标记为喜欢,并收集。

设计流程见图3-1:

 

图3-1首页设计流程

3.2分类界面

这个界面通过分类来快速找到你想要的,房间哪个部分的装修图片。

分为三大类:

空间、局部、风格。

每个大类里面又分为许多小类,客厅、衣帽间,餐厅、厨房、卫生间等等。

点击不同的分类,我们能够进入到不同的装修图片展示界面。

图片展示界面是一个列表,图片能够放大查看,并且也能够进行标记。

设计流程见图3-2:

 

 

图3-2分类界面设计流程

3.3灵感界面

在这个界面上我们可以创建格子,能给格子命名,并给格子配上自己喜欢的图片,能够进行重命名,删除等一些编辑操作。

创建自己喜欢的装修方法,即灵感。

在这个界面我们也能看到自己标注过的喜欢的图片,也能显示有多少人喜欢了这种装修方法,图片点进去是装修方法的详情,并且能够编辑,进行一些删除等操作。

设计流程见图3-3:

 

图3-3灵感界面设计流程

3.4关注界面

每一种装修方法作品都有相应的作者,如果我们关注了这个作者,那么我们在这个界面就能看到这个作者所有的作品,作品点进去也是详情界面,每张图片也能够标记为喜欢。

并且,在这个界面,也能够看见别人使用这个APP的动态,有哪些人喜欢了哪些作品,看别人的装修习惯是什么样的。

设计流程见图3-4:

 

 

图3-4关注界面设计流程

3.5设置界面

这个界面显示自己的头像,昵称。

在这个界面我们可以清空缓存,关于这个APP的介绍,以及意见反馈,退出登录。

设计流程见图3-5:

 

图3-5设置界面设计流程

 

4.功能模块的具体实现

见每个界面的具体实现根据设计图来做,包括各个界面之间的切换和每个界面的具体介绍及代码编写。

4.1各个界面之间的切换

各个界面之间通过侧边栏来进行切换,点击相应的按钮可以进入到相应的界面,上图即为效果图,侧边栏用到了ZYMenuController这个第三方框架,将ZYMenuController的对象作为window的根视图,代码实现为:

ZYFirstViewController*firstViewController=[[[ZYFirstViewControlleralloc]init]autorelease];

UINavigationController*nav=[[[UINavigationControlleralloc]initWithRootViewController:

firstViewController]autorelease];

ZYMenuController*menu=[[ZYMenuControlleralloc]initWithRootViewController:

navleftViewController:

leftViewControllerrightViewController:

nil];

self.window.rootViewController=menu;

[self.windowmakeKeyAndVisible];

视图使用tableView写的,能够滑动,增强了用户的体验

_tableView=[[UITableViewalloc]initWithFrame:

CGRectMake(0,120,self.view.frame.size.width,self.view.frame.size.height-150)];

_tableView.delegate=self;

_tableView.dataSource=self;

_tableView.backgroundColor=[UIColorclearColor];

_tableView.separatorStyle=UITableViewCellSeparatorStyleNone;

[self.viewaddSubview:

_tableView];

[_tableViewrelease];

实际测试效果图见图4-1:

 

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

当前位置:首页 > 表格模板 > 合同协议

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

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