1、 基于 iOS 的新闻客户端的设计与实现所学专业: 信 息 工 程摘要I基于 iOS 的新闻客户端的设计与实现摘 要随着时代的发展进步,科学技术特别是信息处理技术和计算机科学的飞速发展及普及,当今世界已经进入了信息时代。人们对于信息的需求与日俱增,面对浩瀚的信息海洋,我们不免会遗漏一些对自己很重要的信息,于是本人针对信息查漏补缺,筛选天下大事要闻,开发一款基于 iOS 系统的新闻客户端,让生活忙碌的人们更好的获取新闻信息,随着人们生活水平的提高,简明扼要的获得信息成为了当今趋势。为了及时准确的得到信息、节约时间、提供更方便的服务,因此新闻客户端成为了人们日常生活必备的 APP,已经越来越流行。
2、新闻客户端可以方便用户对新鲜信息的管理和阅读,给大家带了极大的方便,并且保证无错和高效。人们可以足不出户的了解当今世界的最新消息,不用再每天坐在电视机前收看新闻了,很大程度的节约了大家的时间。这款新闻客户端面向广大的体育爱好者,完美为用户展示 NBA,CBA,国际足球,赛车等体育赛事的新闻最新资讯。新闻界面方便您浏览天下体育要闻;摇一摇操作摇出新鲜资讯,增添无穷乐趣;进入设置界面,用户可以挑选个人偏好,彰显个性。关键词:苹果 iOS 系统,新闻客户端,体育 毕业设计(论文)IIDesign and Implementation Based oniOS News ClientAbstractWi
3、th the era of progress, science and technology, especially the rapid development of information processing technology and computer science and popular in todays world we have entered the information age. The increasing demand for information, Facing the vast sea of information, we can not help but m
4、iss some very important information on their own, so I for information leak filled, screened world affairs news, to develop a system based on iOS news client, make life busy people better access to news and information,With the improvement of peoples living standards, concise access to information h
5、as become todays trend. In order to obtain timely and accurate information, save time and provide more convenient service, so news client became the peoples daily life essential APP, it has become increasingly popular. News clients fresh information users can easily manage and reading for everyone w
6、ith a great convenience, and to ensure error-free and efficient. People can stay at home the latest news in todays world, no longer sitting in front of the TV to watch the news every day, and a large degree of saving everyones time.The news client for the majority of sports fans, perfect for users N
7、ews News NBA, CBA, international football, racing and other sporting events. News interface easy browsing world sports highlights; shake shake out fresh information operations, adding fun; enter the setup interface, the user can select personal preferences, individuality.Keywords: Apple iOS system,
8、news client, Sports毕业设计(论文) 目录III目 录摘 要 .IABSTRACT .II第 1 章 绪 论 .11.1 论文研究的背景意义 .11.2 目前的国内现状 .1第 2 章 关键技术介绍 .22.1 开发的集成环境 XCODE .22.2 开发的辅助工具 LEARNCLOUD .22.3 系统框架 .22.3.1Foundation 框架 .22.3.2UIKit 框架 .32.3.3Core Data 框架 .32.4 数据库 SQLITE3.32.5 代码管理工具 COCOAPODS.42.6 开发工具包 SHARESDK .4第 3 章 需求分析 .53.1
9、 系统概述 .53.1.1 设计目标 .53.1.2 系统特点 .53.2.2 模块需求描述 .53.3 用例模型 .63.3.1 用例模型整体描述 .63.3.2 各功能模块用例描述 .63.4 数据字典 .73.5 开发环境的选择 .7毕业设计(论文) 目录IV3.6 系统可行性分析 .7第 4 章 系统设计 .84.1 技术路线 .84.2 数据库设计 .8第 5 章 系统实现 .95.1 首页轮播图及今日咨询功能的实现 .95.1.1 首页轮播图 Model 层的实现 .95.1.2 首页轮播图 View 层的实现 .95.1.2 首页轮播图 Controller 层的实现 .105.
10、2 用户登录及注册功能的实现 .125.2.1 注册功能的实现 .125.2.2 登录功能的实现 .135.3 我的收藏功能的实现 .145.3.1 点击收藏按钮时所触发的事件 .145.3.2 数据处理文件 .15第 6 章 系统测试 .196.1 测试方法 .196.1.1 收藏新闻模块测试 .196.1.2 取消新闻收藏模块测试 .196.1.3 首页轮播图模块测试 .206.2 测试总结 .20第 7 章 结 论 .21参考文献 .22致 谢 .23毕业设计(论文)-1-第 1 章 绪 论1.1 论文研究的背景意义现代社会随着时代的发展,生活水平的不断提高,人们对于信息的需求与日俱增,
11、面对浩瀚的信息海洋,我们不免会遗漏一些对自己很重要的信息。尤其是大城市,上班族的生活节奏快,压力大,获取新闻资讯更要简介迅速。为了及时准确的得到信息、节约时间、提供更方便的服务,这款新闻客户端应运而生。尽管市场上的新闻品牌繁多,例如:新浪新闻,腾讯新闻,网易新闻等这些大家熟知的,为满足各层次消费者的需求,特开发一款展示体育新闻的资讯类移动端 APP。每款上线的基于 iOS 系统的 APP 都具有自己的独特之处,新闻客户端也不例外。通过新闻客户端,用户可以在家里、工作地点、郊外等,只要有网就能看到关于电影的最新资讯。这样可以帮助用户更好的节约时间、规划时间,能够为大家生活和工作带来很大的方便。1
12、.2 目前的国内现状随着社会的发展和进步,社会分工的细致化成为了当今趋势。为了提高劳动的效率、节约成本、提供更方便的服务,各大互联网公司开发出各具特色的 APP。为了能在市场占据一席之地,只有寻找存在巨大开发潜力的领域,人们越来越注重健康,体育事业必将蓬勃发展,因此,体育新闻也将成为人们茶余饭后的谈料。新闻客户端可以方便用户对体育信息的管理了解,给大家带了极大的方便。人们可以足不出户的了解体育各大赛事的最新报道,很大程度的节约了大家的时间,提高了生活质量。毕业设计(论文)-2-第 2 章 关键技术介绍2.1 开发的集成环境 Xcode Xcode 是由苹果公司所开发的用来专门编写 iOS 程序
13、软件,是开发人员建设 OS X与 iOS 应用程序最快的方式。Xcode 是一款非常强大的软件,它支持多种语言,例如:Objective-C、 C、C+、Swift 等。Xcode 具有统一的用户界面设计,编码,测试,调试也是在一个简单的窗口内完成的。Xcode 是苹果开发者提供的非开源的集成开发环境,常用于开发 iOS 应用程序以及 MAC OS X 操作系统。运行在苹果 MAC 操作系统下。不管你使用 C,C+,C 或 Java 编程的目的,在 AppleScript 编写脚本,或试图从另一个奇妙的工具编码传输,你会找到 Xcode 编译速度。每一次操作,非常快速和容易。Xcode 4 允
14、许你基于 iOS 设备,iPhone 开发,应用 iPod-touch 装置,只要你有一个 OS X10.6.2 以上 MAC OS 操作系统,你可以安装 iOS SDK,如果你的 iOS 设备,可以让Xcode 应用程序部署到您的 iOS 设备,否则,你也可以使用 iPhone 模拟器调试。Xcode 提供了友好、方便的应用程序开发环境,这样你就可以开发一个良好的 iOS 应用。2.2 开发的辅助工具 LearnCloudLearnCloud(AVOS Cloud)是一款加速应用开发的方案,能够为开发者提供一站式解决方案。它专注于为应用开发者提供一流的工具、平台和服务。能够为用户提供实时消息
15、、消息推送、数据存储等服务,涵盖了多种移动应用开发所需求的技术。并且 LearnCloud 支持多个平台,例如 iOS、Android 、Web 等。本系统的登陆就是采用的LearnCloud。2.3 系统框架2.3.1Foundation 框架介绍:能为应用程序提供一些基本的类。例如 Object-C 的基础类、基本数据类型等。下面是一些使用场景。(1)常用的结构体 NSRange、NSPoint 、NSSize、 NSRect 等(2)创建日期和时间对象 NSDate、NSDateFormatter 等(3)常用于初始化字符串、转化大小写、后缀和前缀的判断、字符串的转换、字符串的截取、字符
16、串的比较等。例如 NSString 、capitalizedString,subStringFromIndex, isEqualToString ,subStringToIndex,subStringWithRange,numberWithInt、compare(4) 数组的初始化、for 循环遍历数组元素、删除数组元素、数组排序等 NSArray、NSMutableArray、arrayWithObjects、removeAllObject、sortedArrayUsingSelector。(5) 字典的初始化、遍历、排序等 NSDictionary、NSMutableDictionary、
17、dictionaryWithObjectsAndKeys毕业设计(论文)-3-(6) 关于文件的操作 初始化:NSFileManager、文件路径的方法:stringWithContentsOfFile(7) 归档包括 NSUserDefaults、NSKeyedArchiver 归档(加密形式) 、SQLite3(嵌入式数据库) 、Core Data(面向对象方式的嵌入式数据库)。(8) 访问存储在应用程序里的图片和其他资源(9) 提供和接收通知2.3.2UIKit 框架介绍创建和管理应用程序的用户界面:(1) 用户界面的管理和构建例如:UIWindow 视图、UIAlertView 警告视
18、图、UIBarButtonItem、UICollectionView 集合视图等常用视图控件的初始化及使用(2) 关于图片的处理 UIImage、imageNamed 、旋转的设置 UIImageOrientationLeft(3) 关于捕获触摸和移动的事件 例如:UITouchPhaseBegan、UITouchPhaseMoved、UITouchPhaseEnded、UITouchPhaseCancelled(4) 呈现文字和定制用户界面的控件 UIView、UIText、UITextField 等设置(5) UIFont、UIColor 的相关设置。例如设置字体大小 systemWith
19、Font、设置颜色colorWithRed:Green:Blue:alpha:方法2.3.3Core Data 框架介绍: Core Data 提供对象的管理,使用 Core Data,你可以创建模型对象,并管理这些对象。你管理这这些对象间的联系并修改数据。Core Data 提供的内建 SQLlite 技术可以高效的管理数据。(1) 在库里存储和接收对象(2) 提供基本的 undo/redo(3) 自动验证属性值(4) 过滤、分组和优化内存中的数据(5) 用NSFetchedResultsController管理表示图中的结果(6) 支持基于文档的应用程序2.4 数据库 SQLite3SQL
20、ite3 是 SQLite 的第三个版本。SQLite 是一款轻型的嵌入式数据库,广泛应用于安卓和 iOS 开发使用中。它占用资源比较低,相比 MySQL、PostgreSQL 这两款数据库都要快。SQLite 数据库的存储结构和 Excel 很像,主要以表为单位,在表中列作为属性,每一行数据成为一条记录,可通过 SQL 语句进行增删改查。2.5 代码管理工具 cocoaPods每种语言发展到一定阶段,就会出现相应的依赖管理工具,例如 Java 语言的Mean,nodejs 的 npm。随着 iOS 开发者的增多,cocoaPods 是一个方便管理项目中所使毕业设计(论文)-4-用第三方开源的
21、工具,为我们的 iOS 项目添加依赖库,只需简单几步就能够自动导入第三方类。先把下载好的第三方放到一个名为 Podfile 的文件中,然后在后台中断输入“$ pod install”命令行 。2.6 开发工具包 shareSDK无论是安卓系统还是 iOS 系统,各种 app 都有分享的功能,支持分享到 QQ、微信、新浪微博、腾讯微博、人人网等社交平台。shareSDK 就是用来做分享的一种分享组件,它集中使用了一些常用的接口和类库,大大缩短了开发者所用的开发时间。shareSDK能够实现国内外 40 多家的主流社交平台。它集成快捷,操作简单,能够通过登录第三方实现评论和赞的功能。而且它支持 c
22、ocos2d 和 Unity3d 游戏引擎。毕业设计(论文)-5-第 3 章 需求分析3.1 系统概述3.1.1 设计目标基于 iOS 的新闻客户端是通过开发实践和所学知识实现。首页主要模块包括:“新闻首页”、 “摇一摇”、 “设置”三个界面。首页模块包括热门资讯;摇一摇界面包括摇出新闻,新闻的背景图片设置;设置模块包括我的收藏,清除缓存,模式切换以及正文字体的应用设置。其中新闻列表包含:新闻图片,标题,内容简介。新闻详情包含:标题,报道时间,新闻详情等。其中热门资讯以及它们的详情界面都需要从网络抓接口捕获,收藏是将内容添加到数据库中。通过对数据库内容的增删改查,可以改变显示的内容本软件主要使
23、用 C语言,Objective-C 编写, UI 界面设计,SQLite 数据库,以 Xcode 为开发平台进行编写。3.1.2 系统特点本系统能够让用户更及时的了解当下热门体育新闻资讯,囊括天下。3.2 需求规格3.2.1 系统组成本系统主要包括首页、摇一摇,关于我们、设置、我的收藏等多个功能模块。.3.2.2 模块需求描述(1)摇一摇模块需要手动摇出新闻信息,并且伴随音效,动态出现新闻的图片,新闻详情等(2)首页模块首页模块主要用于展示热门体育最新资讯以及今日新闻。并且点击某个电影或者咨询,即可进入热门体育新闻或者今日资讯的详情界面。(3)关于我们模块关于我们主要用于展示开发者相关信息。电影模块包括电影及影院列表两个界面,当选择某个电影时可进入电影详情界面。(5)设置模块设置模块包括我的收藏,清除缓存,模式切换以及正文字体的应用设置。(6)我的收藏模块您可以通过新闻详情界面的星星进行收藏,然后在我的收藏界面进行查看。当您想取消收藏时只需再次点击星星就可实现取消收藏功能,在我的收藏界面查看将没有您已经取消的新闻。