1、本科毕业论文(20 届)基于 IOS 系统的娱乐资讯网的开发与实现所在学院专业班级 计算机科学与技术学生姓名指导教师完成日期摘 要随着时代的发展,社会越来越需要高效,人们物质生活得到满足,而对于精神上的需求远远不能满足人们的需要。娱乐新闻则是根据现代人的需要生产出来供一部分人消费的信息产品。而娱乐新闻大行其道与中国的各种文化,社会因素存在千丝万缕的联系。本文介绍了娱乐资讯网的开发过程。论文遵循软件工程的方法,详尽论述了从需求分析、系统分析、概要设计、详细设计、以及测试与调试的整个开发过程,总结了开发过程中的经验及本系统今后的改进方向。本系统开发成功后可以实现对最新娱乐新闻的查看和关注,提供对电
2、影、电视剧、音乐、综艺等方面的了解。Xcode 5.0 开发工具,采用成熟的软件研制技术,后台数据库采用 Sqlite3。关键词 : 娱乐资讯、 功能、 Xcode 5.0 、 Sqlite3 AbstractWith the development of the times, the society needs more and more efficient, the people material life satisfaction, but for the spiritual needs are far unable to meet the needs of people. Entert
3、ainment news is according to the needs of modern people is produced for a part of the information product consumption. The popular entertainment news culture and Chinese, social factors have all kinds of connections with contact.This paper introduces the development process of the entertainment info
4、rmation network. Methods according to the software engineering, discussed in detail from the demand analysis, system analysis, outline design, detailed design, and test and debug the entire development process, summed up the improvement direction of the experience of the development process of the s
5、ystem and future.After the success of the system development can be achieved on the latest entertainment news view and attention, on film, TV, music, entertainment and other aspects of the understanding. Xcode 5 development tools, the use of mature software development technology, back-end database
6、using Sqlite3.Keywords: entertainment information, function, Xcode 5, Sqlite3目 录1 绪 论 .11.1 娱乐资讯系统的意义 .11.2 娱乐资讯系统的研究现状 .12 相关技术的选用与介绍 .12.1 IOS 开发技术 .12.2 Xcode 开发工具介绍 .12.3 面向对象理论的介绍 .32.4 IOS 网络通信技术 .43 系统分析与总体设计 .43.1 系统功能描述 .43.2 系统功能模块划分 .43.3 系统流程分析 .53.3.1 推荐模块流程分析 .53.3.2 资讯流程分析 .63.3.3 图片流
7、程分析 .74 系统界面实现 .74.1 设计界面 .74.2 一级界面展示 .84.3 二级界面及二级界面放大展示 .94.4 瀑布流界面展示 .114.5 图片界面及图片预览展示 .124.6 下载界面展示 .135 程序的设计模式和核心代码实现 .145.1 IOS 开发中的 MVC 模式 .145.2 IOS 开发中的代理模式 .155.3 IOS 开发中的观察者模式 .155.4 ASIHttpRequest 请求数据 .155.5 抽屉式界面的实现代码 .165.6 列表视图的实现主要代码 .176 结束语 .18参 考 文 献 .19致谢 .2011 绪 论1.1 娱乐资讯系统的
8、意义随着人们生活水平的提高,人们对于精神上的需求要求也越来越高。人们对于互联网的认识逐渐加深,如今存在很多互联网网站可供人们查阅信息。娱乐资讯系统应运而生,娱乐资讯系统就是其中一个关于电影演员、电影、电视节目、电影明星以及各种综艺信息和音乐的大型资料库。娱乐新闻是根据现代人的某种精神需要而生产出来供一部分人消费的信息产品。新闻的娱乐化在内容上偏重于软新闻,减少严肃新闻的比例,从严肃的政治、经济变动中挖掘其娱乐价值。在表现形式上,强调故事性、情节性、适度加入人情味因素,强化事件的戏剧悬念或煽情、刺激的方面,走新闻故事化、新闻文学化道路。与社会文化紧密相连,娱乐新闻生存的土壤也是它生存的土壤,并且
9、在这个土壤里扎根更深。娱乐新闻包含在新闻的娱乐化大潮中,并且是主力军。1.2 娱乐资讯系统的研究现状娱乐新闻从广义上说,就是能使人轻松、快乐,供人休闲、消遣的新闻报道。简单地说,娱乐新闻就是所有能够使人轻松、供人消遣的新闻。而狭义的娱乐新闻,一般是指,关于影、视、歌等大众文化的娱乐作品或明星人物的、新近发生或正在发生的、对公众具有娱乐意义的事实的报道。在这里,娱乐新闻报道涉及的领域属于娱乐业的基本构成内容。因此,从狭义上说,娱乐新闻就是报道娱乐业的新闻。新中国成立之后的几十年中,没有将“娱乐新闻”作为新闻中的一个类别。媒体对文化生活方面的报道基本上都和政治挂钩,以政治的角度来解读,所谓“唱一首
10、革命歌曲就等于上一堂政治课” 。随着改革开放的发展,市场经济的推动,同时也在外来文化的不断影响下, “娱乐新闻”在 20 世纪 80 年代后逐渐出现在报纸的文化新闻中。到 90 年代,娱乐新闻逐渐从文化新闻中脱离,并不断发展,最终形成了涵盖文化新闻的,与政治、社会、经济、体育等新闻种类地位相等的新闻新类别。到 21 世纪初,娱乐成为人们生活中不可或缺的一部分,娱乐新闻也随之迅速发展。与此相应,学术界关于娱乐新闻的研究也迅速起步并取得了长足发展。本娱乐资讯系统基于以上现状,研究开发了关于娱乐新闻的详细内容,提供关于电影、电视剧、综艺、音乐以及最新新闻的信息。让你在第一时间浏览各种娱乐新闻。2 相
11、关技术的选用与介绍2.1 IOS 开发技术IOS 是 iPhone,iPod touch 以及 iPad 等设备的核心操作系统。IOS 平台使用了构建2Mac OS X 时积累的知识,IOS SDK 提供了创建 IOS 应用程序所需要的环境和工具,利用IOS SDK 开发应用时所用的编程语言是 Objective-C。IOS 平台开发工具和开发技术源于Mac OSX,都是以 UNIX 为基础。IOS 应用程序开发依赖于 iPhone 软件开发包(SDK),其中SDK 继承与 Xcode 中。从整体上看,IOS 扮演底层硬件和应用程序的中介。创建的应用程序不能直接访问硬件,而需要和系统接口进行交
12、互。IOS 实现可以看作多个层的集合,底层为所有程序提供基础服务,高层则包含一些复杂的服务和技术。Cocoa touch 层提供了基本的系统行为支持,当需要实现更为复杂的行为和界面时,才考虑向下层探寻技术支持。UIKit 框架:提供程序运行必须得关键对象,使 APP 能够捕获用户输入和在屏幕上显示内容。MapKit 框架:IOS3.0 引入该框架,可被嵌入到应用程序的地图界面,该框架包含一个可以滚动的地图视图。Address Book UI 框架:IOS3.0 引入该框架,用于撰写电子邮件,并将其放入到用户的发件箱排队等候发送。Message UI 框架: 显示创建或者编辑联系人的标准系统界面
13、。Media 层包含图形、音频、视频等技术。AV Foundation 框架:用于播放和编辑复杂的音频和视频。Core Image 框架:包含高级图像和视频处理功能。如人脸识别和图像过滤功能。Core Graphics 框架:包含 2D 绘画和合成功能。Media Player 框架: 提供典型的屏幕控件用于播放电影。Quartz Core 框架:包含 Core Animation 接口。用于实现复杂的动画和视觉效果。Core service 层用于访问较多低级的操作系统服务,如文件存取,联网和常见的数据对象类型。Foundation 框架: 为 Core Foundation 框架的许多功能
14、提供 Objective-C 封装。Core Foundation 框架:一组 C 语言的接口,为 IOS 应用程序提供基本数据管理和服务功能。Core Location 框架:用于定位设备当前经纬度。System Configuration:用于确定设备网络配置的当前状态。IOS 开发限制介绍(1)平台间差异:iPhone OS 设备和台式机或笔记本电脑的开发的不同,也和桌面应用程序不同,需要意识到终端开发的特殊性。(2)屏幕大小的限制:由于 iPhone OS 设备具有高分辨率的小型屏幕,在 iPhone5之前设备都是 3.5in,iPhone5 以及 iPhone5c,iPhone5s
15、都是 4.0in,在设计应用时需要注意不要放置非必要的元素。(3)内存限制:IOS 的内存非常有限,避免分配超出设备的可用内存,不然应用程序将终止。当发生内存过低时,IOS 系统将发出警告,需要进行及时清理内存。同时需要注意避免内存泄露。(4)窗口显示限制:在 IOS 环境上,用户每次只能看到单个窗口。多个窗口只能顺序访问和查看。3(5)电量限制:iPhone OS 设备是通过电池供电,而高速运转的系统,大屏幕,上网或看电子书都会消耗电量。2.2 Xcode 开发工具介绍Xcode: IOS 集成开发环境,也是编译器,负责管理应用程序工程。Interface Builder:快速原型开发工具,
16、可视化的组装用户 UI 接口的工具,集成在 Xcode 中。Instruments:功能强大的性能调试工具,以及内存分析工具。iPhone Simulator:Mac OS X 平台应用程序,它是模拟应用程序,但不能完全模拟所有功能。IOS SDK:ISO 软件开发工具包。2.3 面向对象理论的介绍从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它
17、概念来构造系统) 。这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。对象是要研究的任何事物。从一本书到一家图书馆,单的整数到整数列庞大的数据库、极其复杂的自动化工厂、航天飞机都可看作对象,它不仅能表示有形的实体,也能表示无形的(抽象的)规则、计划或事件。对象由数据(描述事物的属性)和作用于数据的操作(体现事物的行为)构成一独立整体。从程序设计者来看,对象是一个程序模块,从用户来看,对象为他们提供所希望的行为。在对内的操作通常称为方法。类是对象的模板。即类是对一组有相同数据和相同操作的对象的定义,一个类所包含的方法和数据描述一组对象的共同属性和行为。类是在对象之上的抽象,对
18、象则是类的具体化,是类的实例。类可有其子类,也可有其它类,形成类层次结构。消息是对象之间进行通信的一种规格说明。一般它由三部分组成:接收消息的对象、消息名及实际变元。三大特性:封装性:封装是一种信息隐藏技术,它体现于类的说明,是对象的重要特性。封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使得用户只能看见到对象的外特性(对象能接受哪些消息,具有哪些处理能力) ,而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。封装的目的在于把对象的设计者和对象者的使用分开,使用者不必知晓行为实现的细节,只须用设计者提供的消息来访问该对象。继承性:“继承”
19、是面向对象软件技术当中的一个概念。如果一个类 A 继承自另一个类 B,就把这个 A 称为“B 的子类” ,而把 B 称为“A 的父类” 。继承可以使得子类具有4父类的各种属性和方法,而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。另外,为子类追加新的属性和方法也是常见的做法。多态性: 对象根据所接收的消息而做出动作。同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。利用多态性用户可发送一个通用的消息,而将所有的实现细节现受到继承性的支持,利用类继承的层次关系,把具有通用功能的协议存
20、放在类层次中尽可能高的地方,而将实现这一功能的不同方法置于较低层次,这样,在这些低层次上生成的对象就能给通用消息以不同的响应。类的多态性提供类方法的多样性,多态性有两种表示方式:重载和覆盖。都留给接受消息的对象自行决定,如是,同一消息即可调用不同的方法。多态的实2.4 IOS 网络通信技术IOS 设备的网络通信的方法,有两个大类:1、使用 socket 的方式进行通信。2、使用 asynsocket 类库进行通信。使用 socket 的方式。以 TCP 为例,对于 TCP 来说,是要区分服务端和客户端的。服务端:通常的方法是服务端启动后监听,是否有客户端连接,如果有连接,则建立与客户端的通信。
21、客户端的方法通常是连接服务端,当连接成功之后,就希望发送数据了。3 系统分析与总体设计娱乐资讯系统是一个非常实用的信息查看系统,提供了各种电影、电视剧、综艺、音乐信息等资讯。可以使你在第一时间了解娱乐动态。 3.1 系统功能描述在中心视图控制器中是最新的娱乐动态。本系统分为三个大得模块:推荐、资讯类、图片类推荐模块中是推荐你查看的最近的娱乐新闻,采用的瀑布流界面。资讯类包括:最新、电视剧、综艺、电影、音乐等。最新是最近发生的娱乐新闻,电视剧是关于电视剧介绍的一些娱乐新闻。综艺是一些综艺和电影明星的娱乐新闻。电影是最新上映的电影介绍。音乐是音乐名人的一些娱乐新闻。图片是提供了图片预览。并带有图片
22、下载功能。3.2 系统功能模块划分从功能描述的内容可以看到,本实例可以实现 3 个完整的功能。我们根据这些功能,设计出系统的功能模块,如图 1 所示。5娱乐资讯系统推荐模块学生信息管理 资讯模块家长信息管理最新最新添加家长信息 电视剧点查询家长信息 综艺修改家长信息采用瀑布流界面展示修改学生信息图片模块音乐图片和标题展示修 改 密 码图 3_1 娱乐资讯系统功能模块示意图3.3 系统流程分析在上一节中,我们已经了解了系统的功能模块划分。这是系统总体设计的重要组成部分。如果要对系统形成一个完整而全面的认识,还需要进行系统流程分析。所谓系统流程就是用户在使用系统时的工作过程。 3.3.1 推荐模块
23、流程分析推荐模块是采用瀑布流的界面展示,有图片和描述该图片的标题两部分组成,瀑布流界面是一种比较流行的网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。有效的降低了界面复杂度,节省了空间;对触控设备来说,交互方式更符合直觉;在移动应用的交互环境当中,通过向上滑动进行滚屏的操作已经成为最基本的用户习惯。电影6显示图片和标题标题和详情描述推荐图片放大和下载功能图 3_2 推荐流程图3.3.2 资讯流程分析图 3_3 资讯最新流程图 图 3_4 电视剧流程图 图 3_5 综艺流程图 图 3_6 电影流程图 图 3_7 音乐流程图显示图片和
24、标题标题和详情描述最新图片放大和下载功能显示图片和标题标题和详情描述电视剧图片放大和下载功能显示图片和标题标题和详情描述综艺图片放大和下载功能显示图片和标题标题和详情描述电影图片放大和下载功能显示图片和标题标题和详情描述音乐图片放大和下载功能7以上流程图是资讯中的不同部分,分为最新、电视剧、综艺、电影、音乐几部分点击各个部分进入不同的界面,每个界面显示图片和标题,再次点击进入下一个界面是该新闻的标题和详情描述,每个界面都有图片放大功能和下载功能。3.3.3 图片流程分析图 3_8 图片流程图图片部分是显示了图片的标题和图片,点击进入图片浏览界面,该界面可以滑动实现图片的浏览功能,同时具有图片下载功能。4 系统界面实现4.1 设计界面本系统采用抽屉式界面风格,从国外的 Facebook、Path、Gmail 到国内的人人、WeicoPro、网易新闻、百度百科等客户端,都采用了抽屉式导航作为 app 内部进行内容切换的导航方式,其优点在于界面简介、友好,页面间跳转逻辑清晰。显示图片和标题滑动图片预览 标题和详情描述图片详情和图片下载功能