基于ios系统的娱乐资讯网的开发与实现大学论文.docx

上传人:b****0 文档编号:10115731 上传时间:2023-05-23 格式:DOCX 页数:30 大小:1.47MB
下载 相关 举报
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第1页
第1页 / 共30页
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第2页
第2页 / 共30页
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第3页
第3页 / 共30页
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第4页
第4页 / 共30页
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第5页
第5页 / 共30页
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第6页
第6页 / 共30页
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第7页
第7页 / 共30页
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第8页
第8页 / 共30页
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第9页
第9页 / 共30页
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第10页
第10页 / 共30页
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第11页
第11页 / 共30页
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第12页
第12页 / 共30页
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第13页
第13页 / 共30页
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第14页
第14页 / 共30页
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第15页
第15页 / 共30页
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第16页
第16页 / 共30页
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第17页
第17页 / 共30页
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第18页
第18页 / 共30页
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第19页
第19页 / 共30页
基于ios系统的娱乐资讯网的开发与实现大学论文.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于ios系统的娱乐资讯网的开发与实现大学论文.docx

《基于ios系统的娱乐资讯网的开发与实现大学论文.docx》由会员分享,可在线阅读,更多相关《基于ios系统的娱乐资讯网的开发与实现大学论文.docx(30页珍藏版)》请在冰点文库上搜索。

基于ios系统的娱乐资讯网的开发与实现大学论文.docx

基于ios系统的娱乐资讯网的开发与实现大学论文

河北农业大学

本科毕业论文(设计)

题目:

基于IOS系统的娱乐资讯网的开发与实现

摘要

随着时代的发展,社会越来越需要高效,人们物质生活得到满足,而对于精神上的需求远远不能满足人们的需要。

娱乐新闻则是根据现代人的需要生产出来供一部分人消费的信息产品。

而娱乐新闻大行其道与中国的各种文化,社会因素存在千丝万缕的联系。

本文介绍了娱乐资讯网的开发过程。

论文遵循软件工程的方法,详尽论述了从需求分析、系统分析、概要设计、详细设计、以及测试与调试的整个开发过程,总结了开发过程中的经验及本系统今后的改进方向。

本系统开发成功后可以实现对最新娱乐新闻的查看和关注,提供对电影、电视剧、音乐、综艺等方面的了解。

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

关键词:

娱乐资讯、功能、Xcode5.0、Sqlite3

Abstract

随着时代的发展,社会越来越需要高效,人们物质生活得到满足,而对于精神上的需求远远不能满足人们的需要。

娱乐新闻则是根据现代人的需要生产出来供一部分人消费的信息产品。

而娱乐新闻大行其道与中国的各种文化,社会因素存在千丝万缕的联系。

Withthedevelopmentofthetimes,thesocietyneedsmoreandmoreefficient,thepeoplemateriallifesatisfaction,butforthespiritualneedsarefarunabletomeettheneedsofpeople.Entertainmentnewsisaccordingtotheneedsofmodernpeopleisproducedforapartoftheinformationproductconsumption.ThepopularentertainmentnewscultureandChinese,socialfactorshaveallkindsofconnectionswithcontact.

本文介绍了娱乐资讯网的开发过程。

论文遵循软件工程的方法,详尽论述了从需求分析、系统分析、概要设计、详细设计、以及测试与调试的整个开发过程,总结了开发过程中的经验及本系统今后的改进方向。

Thispaperintroducesthedevelopmentprocessoftheentertainmentinformationnetwork.Methodsaccordingtothesoftwareengineering,discussedindetailfromthedemandanalysis,systemanalysis,outlinedesign,detaileddesign,andtestanddebugtheentiredevelopmentprocess,summeduptheimprovementdirectionoftheexperienceofthedevelopmentprocessofthesystemandfuture.

本系统开发成功后可以实现对最新娱乐新闻的查看和关注,提供对电影、电视剧、音乐、综艺等方面的了解。

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

Afterthesuccessofthesystemdevelopmentcanbeachievedonthelatestentertainmentnewsviewandattention,onfilm,TV,music,entertainmentandotheraspectsoftheunderstanding.Xcode5developmenttools,theuseofmaturesoftwaredevelopmenttechnology,back-enddatabaseusingSqlite3.

关键词:

娱乐资讯、功能、Xcode5.0、Sqlite3

Keywords:

entertainmentinformation,function,Xcode5,Sqlite3

目录

1绪论1

1.1娱乐资讯系统的意义1

1.2娱乐资讯系统的研究现状1

2相关技术的选用与介绍1

2.1IOS开发技术1

2.2Xcode开发工具介绍1

2.3面向对象理论的介绍3

2.4IOS网络通信技术4

3系统分析与总体设计4

3.1系统功能描述4

3.2系统功能模块划分4

3.3系统流程分析5

3.3.1推荐模块流程分析5

3.3.2资讯流程分析6

3.3.3图片流程分析7

4系统界面实现7

4.1设计界面7

4.2一级界面展示8

4.3二级界面及二级界面放大展示9

4.4瀑布流界面展示11

4.5图片界面及图片预览展示12

4.6下载界面展示13

5程序的设计模式和核心代码实现14

5.1IOS开发中的MVC模式14

5.2IOS开发中的代理模式15

5.3IOS开发中的观察者模式15

5.4ASIHttpRequest 请求数据15

5.5抽屉式界面的实现代码16

5.6列表视图的实现主要代码17

6结束语18

参考文献19

致谢20

1绪论

1.1娱乐资讯系统的意义

随着人们生活水平的提高,人们对于精神上的需求要求也越来越高。

人们对于互联网的认识逐渐加深,如今存在很多互联网网站可供人们查阅信息。

娱乐资讯系统应运而生,娱乐资讯系统就是其中一个关于电影演员、电影、电视节目、电影明星以及各种综艺信息和音乐的大型资料库。

娱乐新闻是根据现代人的某种精神需要而生产出来供一部分人消费的信息产品。

新闻的娱乐化在内容上偏重于软新闻,减少严肃新闻的比例,从严肃的政治、经济变动中挖掘其娱乐价值。

在表现形式上,强调故事性、情节性、适度加入人情味因素,强化事件的戏剧悬念或煽情、刺激的方面,走新闻故事化、新闻文学化道路。

与社会文化紧密相连,娱乐新闻生存的土壤也是它生存的土壤,并且在这个土壤里扎根更深。

娱乐新闻包含在新闻的娱乐化大潮中,并且是主力军。

1.2娱乐资讯系统的研究现状

娱乐新闻从广义上说,就是能使人轻松、快乐,供人休闲、消遣的新闻报道。

简单地说,娱乐新闻就是所有能够使人轻松、供人消遣的新闻。

而狭义的娱乐新闻,一般是指,关于影、视、歌等大众文化的娱乐作品或明星人物的、新近发生或正在发生的、对公众具有娱乐意义的事实的报道。

在这里,娱乐新闻报道涉及的领域属于娱乐业的基本构成内容。

因此,从狭义上说,娱乐新闻就是报道娱乐业的新闻。

新中国成立之后的几十年中,没有将“娱乐新闻”作为新闻中的一个类别。

媒体对文化生活方面的报道基本上都和政治挂钩,以政治的角度来解读,所谓“唱一首革命歌曲就等于上一堂政治课”。

随着改革开放的发展,市场经济的推动,同时也在外来文化的不断影响下,“娱乐新闻”在20世纪80年代后逐渐出现在报纸的文化新闻中。

到90年代,娱乐新闻逐渐从文化新闻中脱离,并不断发展,最终形成了涵盖文化新闻的,与政治、社会、经济、体育等新闻种类地位相等的新闻新类别。

到21世纪初,娱乐成为人们生活中不可或缺的一部分,娱乐新闻也随之迅速发展。

与此相应,学术界关于娱乐新闻的研究也迅速起步并取得了长足发展。

本娱乐资讯系统基于以上现状,研究开发了关于娱乐新闻的详细内容,提供关于电影、电视剧、综艺、音乐以及最新新闻的信息。

让你在第一时间浏览各种娱乐新闻。

2相关技术的选用与介绍

2.1IOS开发技术

IOS是iPhone,iPodtouch以及iPad等设备的核心操作系统。

IOS平台使用了构建MacOSX时积累的知识,IOSSDK提供了创建IOS应用程序所需要的环境和工具,利用IOSSDK开发应用时所用的编程语言是Objective-C。

IOS平台开发工具和开发技术源于MacOSX,都是以UNIX为基础。

IOS应用程序开发依赖于iPhone软件开发包(SDK),其中SDK继承与Xcode中。

从整体上看,IOS扮演底层硬件和应用程序的中介。

创建的应用程序不能直接访问硬件,而需要和系统接口进行交互。

IOS实现可以看作多个层的集合,底层为所有程序提供基础服务,高层则包含一些复杂的服务和技术。

Cocoatouch层提供了基本的系统行为支持,当需要实现更为复杂的行为和界面时,才考虑向下层探寻技术支持。

UIKit框架:

提供程序运行必须得关键对象,使APP能够捕获用户输入和在屏幕上显示内容。

MapKit框架:

IOS3.0引入该框架,可被嵌入到应用程序的地图界面,该框架包含一个可以滚动的地图视图。

AddressBookUI框架:

IOS3.0引入该框架,用于撰写电子邮件,并将其放入到用户的发件箱排队等候发送。

MessageUI框架:

显示创建或者编辑联系人的标准系统界面。

Media层包含图形、音频、视频等技术。

AVFoundation框架:

用于播放和编辑复杂的音频和视频。

CoreImage框架:

包含高级图像和视频处理功能。

如人脸识别和图像过滤功能。

CoreGraphics框架:

包含2D绘画和合成功能。

MediaPlayer框架:

提供典型的屏幕控件用于播放电影。

QuartzCore框架:

包含CoreAnimation接口。

用于实现复杂的动画和视觉效果。

Coreservice层用于访问较多低级的操作系统服务,如文件存取,联网和常见的数据对象类型。

Foundation框架:

为CoreFoundation框架的许多功能提供Objective-C封装。

CoreFoundation框架:

一组C语言的接口,为IOS应用程序提供基本数据管理和服务功能。

CoreLocation框架:

用于定位设备当前经纬度。

SystemConfiguration:

用于确定设备网络配置的当前状态。

IOS开发限制介绍

(1)平台间差异:

iPhoneOS设备和台式机或笔记本电脑的开发的不同,也和桌面应用程序不同,需要意识到终端开发的特殊性。

(2)屏幕大小的限制:

由于iPhoneOS设备具有高分辨率的小型屏幕,在iPhone5之前设备都是3.5in,iPhone5以及iPhone5c,iPhone5s都是4.0in,在设计应用时需要注意不要放置非必要的元素。

(3)内存限制:

IOS的内存非常有限,避免分配超出设备的可用内存,不然应用程序将终止。

当发生内存过低时,IOS系统将发出警告,需要进行及时清理内存。

同时需要注意避免内存泄露。

(4)窗口显示限制:

在IOS环境上,用户每次只能看到单个窗口。

多个窗口只能顺序访问和查看。

(5)电量限制:

iPhoneOS设备是通过电池供电,而高速运转的系统,大屏幕,上网或看电子书都会消耗电量。

2.2Xcode开发工具介绍

Xcode:

IOS集成开发环境,也是编译器,负责管理应用程序工程。

InterfaceBuilder:

快速原型开发工具,可视化的组装用户UI接口的工具,集成在Xcode中。

Instruments:

功能强大的性能调试工具,以及内存分析工具。

iPhoneSimulator:

MacOSX平台应用程序,它是模拟应用程序,但不能完全模拟所有功能。

IOSSDK:

ISO软件开发工具包。

2.3面向对象理论的介绍

从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统)。

这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。

对象是要研究的任何事物。

从一本书到一家图书馆,单的整数到整数列庞大的数据库、极其复杂的自动化工厂、航天飞机都可看作对象,它不仅能表示有形的实体,也能表示无形的(抽象的)规则、计划或事件。

对象由数据(描述事物的属性)和作用于数据的操作(体现事物的行为)构成一独立整体。

从程序设计者来看,对象是一个程序模块,从用户来看,对象为他们提供所希望的行为。

在对内的操作通常称为方法。

类是对象的模板。

即类是对一组有相同数据和相同操作的对象的定义,一个类所包含的方法和数据描述一组对象的共同属性和行为。

类是在对象之上的抽象,对象则是类的具体化,是类的实例。

类可有其子类,也可有其它类,形成类层次结构。

消息是对象之间进行通信的一种规格说明。

一般它由三部分组成:

接收消息的对象、消息名及实际变元。

三大特性:

封装性:

封装是一种信息隐藏技术,它体现于类的说明,是对象的重要特性。

封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使得用户只能看见到对象的外特性(对象能接受哪些消息,具有哪些处理能力),而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。

封装的目的在于把对象的设计者和对象者的使用分开,使用者不必知晓行为实现的细节,只须用设计者提供的消息来访问该对象。

继承性:

“继承”是面向对象软件技术当中的一个概念。

如果一个类A继承自另一个类B,就把这个A称为“B的子类”,而把B称为“A的父类”。

继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。

在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。

另外,为子类追加新的属性和方法也是常见的做法。

多态性:

对象根据所接收的消息而做出动作。

同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。

利用多态性用户可发送一个通用的消息,而将所有的实现细节现受到继承性的支持,利用类继承的层次关系,把具有通用功能的协议存放在类层次中尽可能高的地方,而将实现这一功能的不同方法置于较低层次,这样,在这些低层次上生成的对象就能给通用消息以不同的响应。

类的多态性提供类方法的多样性,多态性有两种表示方式:

重载和覆盖。

都留给接受消息的对象自行决定,如是,同一消息即可调用不同的方法。

多态的实

2.4IOS网络通信技术

IOS设备的网络通信的方法,有两个大类:

1、使用socket的方式进行通信。

2、使用asynsocket类库进行通信。

使用socket的方式。

以TCP为例,对于TCP来说,是要区分服务端和客户端的。

服务端:

通常的方法是服务端启动后监听,是否有客户端连接,如果有连接,则建立与客户端的通信。

客户端的方法通常是连接服务端,当连接成功之后,就希望发送数据了。

3系统分析与总体设计

娱乐资讯系统是一个非常实用的信息查看系统,提供了各种电影、电视剧、综艺、音乐信息等资讯。

可以使你在第一时间了解娱乐动态。

3.1系统功能描述

在中心视图控制器中是最新的娱乐动态。

本系统分为三个大得模块:

推荐、资讯类、图片类

推荐模块中是推荐你查看的最近的娱乐新闻,采用的瀑布流界面。

资讯类包括:

最新、电视剧、综艺、电影、音乐等。

最新是最近发生的娱乐新闻,电视剧是关于电视剧介绍的一些娱乐新闻。

综艺是一些综艺和电影明星的娱乐新闻。

电影是最新上映的电影介绍。

音乐是音乐名人的一些娱乐新闻。

图片是提供了图片预览。

并带有图片下载功能。

3.2系统功能模块划分

从功能描述的内容可以看到,本实例可以实现3个完整的功能。

我们根据这些功能,设计出系统的功能模块,如图1所示。

图3_1娱乐资讯系统功能模块示意图

3.3系统流程分析

在上一节中,我们已经了解了系统的功能模块划分。

这是系统总体设计的重要组成部分。

如果要对系统形成一个完整而全面的认识,还需要进行系统流程分析。

所谓系统流程就是用户在使用系统时的工作过程。

3.3.1推荐模块流程分析

推荐模块是采用瀑布流的界面展示,有图片和描述该图片的标题两部分组成,瀑布流界面是一种比较流行的网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。

有效的降低了界面复杂度,节省了空间;对触控设备来说,交互方式更符合直觉;在移动应用的交互环境当中,通过向上滑动进行滚屏的操作已经成为最基本的用户习惯。

 

图3_2推荐流程图

3.3.2资讯流程分析

 

图3_3资讯最新流程图图3_4电视剧流程图图3_5综艺流程图

 

图3_6电影流程图图3_7音乐流程图

以上流程图是资讯中的不同部分,分为最新、电视剧、综艺、电影、音乐几部分点击各个部分进入不同的界面,每个界面显示图片和标题,再次点击进入下一个界面是该新闻的标题和详情描述,每个界面都有图片放大功能和下载功能。

3.3.3图片流程分析

 

图3_8图片流程图

图片部分是显示了图片的标题和图片,点击进入图片浏览界面,该界面可以滑动实现图片的浏览功能,同时具有图片下载功能。

4系统界面实现

4.1设计界面

本系统采用抽屉式界面风格,从国外的Facebook、Path、Gmail到国内的人人、WeicoPro、网易新闻、XX百科等客户端,都采用了抽屉式导航作为app内部进行内容切换的导航方式,其优点在于界面简介、友好,页面间跳转逻辑清晰。

图4_1抽屉式风格界面

4.2一级界面展示

一级界面展示了娱乐资讯的图片和标题,如图所示:

图4_2一级界面展示

4.3二级界面及二级界面放大展示

二级界面展示了娱乐资讯的标题和图片以及资讯的详情。

图4_3二级界面展示

图4_4二级放大界面展示

4.4瀑布流界面展示

瀑布流界面展示了娱乐新闻的图片和标题,如图所示:

图4_5瀑布流界面展示

4.5图片界面及图片预览展示

显示界面的图片和标题。

如图所示:

图4_6图片界面展示

4.6下载界面展示

展示了要下载的图片及下载进度条、下载、暂停、打开三个按钮。

实现图片的下载功能。

图4_7下载界面展示

 

5程序的设计模式和核心代码实现

5.1IOS开发中的MVC模式

MVC:

模型,视图,控制器,是iOS开发中用到的主要的设计模式。

Model中处理逻辑与数据,View展示应用界面,接收用户的操作,而Controller夹在View和Model中间,当View接收到用户操作,他将通知Controller,Controller会判断采取什么样的措施,Controller也负责将逻辑和数据处理交给Model完成,根据返回结果来更新View。

Controller就像胶水,将两个独立的部分粘合在一起。

Model和Controller之间可以通信,View和Controller之间可以通信,而View和Model之间是禁止通信的。

Controller可以通过直接访问属性、调用方法,来控制Model和View,向他们传递消息,对于Storyboard和XIB文件,上面的控件可以通过生成outlet来调用,如果直接代码生成的话,就调用控件实例。

Controller必须实现View中所定义的target或者delegate方法,来实现View对Controller的回调。

这样,View就可以通知Controller自己的变化,以及用户对View的操作。

View还有datasource方法,用于向Controller请求某些时刻需要显式的数据,比如UITableViewDataSource中,会在tableview生成时,向Controller请求表格的行数和页面上可见的单元格中的内容。

Model可以通过Notification和KVO的方式来通知Controller在Model中数据的改变。

也可以使用delegate或者block来实现,在AFNetworking中的网络状态变化通知,就是使用block来实现的。

把所有的逻辑和数据都放到Model层中,Model就会变得很杂乱,所以我习惯把Model再细分:

Service层,用于为Controller提供一些最直接的逻辑功能、数据封装,并且管理下一层模块,向下一层模块请求数据。

Controller只管理他所拥有的View,以及与他直接相关的Service类。

Manager层,用于管理一大类操作,比如:

数据同步功能,写一个数据同步的类,再类中处理网络状态判断、缓存数据的读写以及缓存数据的发送,错误处理。

Manager层位于Service层之下,接受Service的调度。

Handler层,用于实现具体的操作,如:

FileHandler,用来处理文件存储操作,将字符串或NSData数据转换成文件并存放在指定路径,以及一些多线程处理操作。

Handler层接受Manager调度。

Model还有一些其它的部分:

实现一些公共方法的Utility工具类,以及一些存储数据结构的类。

各个平级的层之间不允许互相调用,调用只能自上而下发生,回调都使用block来实现。

这样实现,项目结构看起来就清晰了许多。

5.2IOS开发中的代理模式

代理是一种简单而功能强大的设计模式,这种模式用于一个对象“代表”另外一个对象和程序中其他的对象进行交互。

主对象(这里指的是delegatingobject)中维护一个代理(delegate)的引用并且在合适的时候向这个代理发送消息。

这个消息通知“代理”主对象即将处理或是已经处理完了某一个事件。

这个代理可以通过更新自己或是其它对象的UI界面或是其它状态来响应主对象所发送过来的这个事件的消息。

或是在某些情况下能返回一个值来影响其它即将发生的事件该如何来处理。

代理的主要价值是它可以让你容易的定制各种对象的行为。

注意这里的代理是个名词,它本身是一个对象,这个对象是专门代表被代理对象来和程序中其他对象打交道的。

5.3IOS开发中的观察者模式

在iOS中观察者模式的实现有三种方法:

Notification、KVO以及标准方法。

1.Notification

Notification-NotificationCenter机制使用了操作系统的功能。

通过NSNotificationCenter可以让对象之间进行进行通讯,这些对象相互间可以不认识。

当你用一个并行的流来推送通知,或者刷新数据库,并希望在界面中能够看到时,这非常有用。

NotificationCenter发布消息的方法如下所示:

1.NSNotification *broadcastMessage=[NSNotification notificationWithName:

AnyNotification object:

Self];
2.NSNotificationCenter *notificationCenter=[NSNotificationCenter defaultCenter];
3.[NotificationCenterpostNotification:

broadCa

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2