




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南城建学院毕业设计(论文) 摘要 毕 业 设 计 论 文题 目: 基于ISO的科技新闻的设计与技术 学 院: 计算机科学与工程学院 专 业: 计算机科学与技术 姓 名: 学 号: 指导老师: 完成时间: 2015年6月4日 III全套设计加扣 3012250582摘 要随着智能手机越来越深入而广泛的应用,当今时代手机不再只是用来打电话、发短信的工具,反而对手机的娱乐等功能要求越来越高,人们几乎都是通过手机来获取世界上的新闻。同时,伴随着苹果手机进入中国市场,相应的iOS技术逐渐流行起来。而对于开发苹果应用的语言Object-C,也成为当今社会最流行的开发语言,并且保持着强劲的上升趋势,本软件界面美观,操作简单,是一个高效率的操作平台。本设计采用X-Code开发工具,首先概要性地介绍了本文使用的关键技术、MVC模式等;然后给出模块端总体分析与设计,包括系统的需求分析、系统设计要求、系统总体功能设计;其次用图表加文字的方式对设计工作中的重点部分做出了详细地阐述;最后具体描述了模块的实现过程,并对关键技术的实现,进行了代码解析。关键词:MVC;X-Code;科技;新闻AbstractAs smartphones increasingly deep and broad application, not just for todays era of mobile phone calls, texting tool, but on the phones entertainment features have become increasingly demanding, almost all people to get through the phone News of the world. Meanwhile, along with the Apple phone into the Chinese market, the corresponding IOS technologies increasingly popular. For Apple application development language - Object-C, todays society has become the most popular development language, and maintained a strong upward trend, the software interface is beautiful, simple operation, is a highly efficient operating.This design uses X-Code development tools , first the summary description of the key technologies used herein , MVC mode ; then gives the overall module end analysis and design, including system requirements analysis, system design requirements, the overall system functional design ; Second, add text with charts the way for the design of a key part of making elaborate detail ; finally detailed description of the implementation process of the module , and the key technologies to realize , were code analysis . Keywords: MVC;X-Code;Science;News河南城建学院毕业设计(论文) 目录目 录摘 要IAbstractII1 前言11.1 论文背景11.2 论文研究的目的和意义11.3 设计思路概述11.4 本章小结22 应用分析32.1 可行性分析32.2 需求分析32.3 系统开发工具介绍42.3.1 Objective-C 技术42.3.2 Xcode开发工具42.3.3 SQLite简介42.3.4 iOS开发模式介绍52.4 本章小结63 应用总体设计73.1 硬件结构规划与设计73.2 科技新闻的功能模块概括73.2.1 引导页模块73.2.2 首页新闻模块83.2.3 详情模块83.2.4 分享模块83.2.5 刷新模块83.2.6 收藏模块83.2.7 登录注册模块93.2.8 评论模块93.3 系统相关控件及第三方库93.3.1 系统控件93.3.2 第三方库93.4 本章小结104 科技新闻详细设计114.1 引导页详细设计114.2. 主界面页114.2.1 头视图114.2.2 首页视图124.2.3 刷新134.3 详情页面134.3.1 详情页面设计134.3.2 收藏144.3.3 分享154.3.4 评论164.4 登录注册174.5 本章小结175 系统测试185.1 测试目的185.2 测试方法185.3 测试结果195.4 本章小结22总 结23参考文献24致 谢25附 录262河南城建学院毕业设计(论文) 前言1 前言1.1 论文背景随着社会的发展,时代的进步。人们对于信息的需求越来越高。面对浩瀚的信息海洋,我们难免会遗漏一些对自己来说很重要的信息。于是本人决定针对信息查漏补缺而开发一款延时性信息的新闻客户端,来让人们可以更好的整理信息。而随着智能手机的大众化,越来越多的人应用智能手机。相对的对手机软件的需求也就越来越多。当今时代手机不再只是用来打电话、发短信的工具,反而对手机的娱乐功能要求越来越高。手机新闻也成为了人们的主要获取信息途径之一。目前中国新闻行业已经具备了相当的规模,并在国际市场上已有一定的竞争力。苹果手机作为当今中国智能手机市场上不可或缺的一个品牌,基于iOS的手机软件需求量也就相应的越来越强。市场上的新闻品牌繁多,定位不一,基本满足了各层次消费者的需求,例如:腾讯新闻、搜狐新闻、网易新闻、新浪新闻等等这些大家所熟知的新闻已经在苹果软件中占据了一定的地位。智能手机的普及使得移动信息平台成为了主流。伴随着苹果手机进入中国市场,相应的iOS技术逐渐流行起来。而对于开发苹果应用的语言-Object-C,也成为当今社会最流行的开发语言,并且保持着强劲的上升趋势,隐隐有超过C语言的现象。对于其他的开发语言,例如java、javascripe,Object-C以其强大的优势遥遥领先于这些其他的编程语言。本人根据当前的形式,决定引用这种这种技术来开发手机应用。1.2 论文研究的目的和意义通过手机新闻客户端来收集信息已经成为大多数人,每天都要干的事情了。手机操作系统有很多。而苹果系统的软件具有的特点就是美观、简洁、易操作。根据这些信息,设计一款小巧的基于iOS的新闻App会很容易得到用户的青睐。同时本人从去年开始接触iOS,在学习了几个月后,对iOS开发有了一些理解,所以对于这次毕业设计,我就选择了基于iOS系统开发一款产品。希望通过这次毕业设计来进一步巩固自己的iOS开发水平。1.3 设计思路概述设计思想:自己的科技新闻设计的过程是按照一般的应用开发流程进行的。自己首先调查了当今社会,人们对新闻的需求,从而决定自己开发一款科技新闻手机APP。在有了用户的需求后,本人开始开发属于自己的新闻软件。在真正设计新闻的过程中,本人先决定了新闻的整体框架结构,应用的图片出处等等这些开发必需的部分。在决定了整体框架后,就是真正的开发了。设计目标:首先收集最新发生在科技领域的重要的事情,然后根据人们的不同喜好将新闻进行分类整理。分为不同类别方便人们找到自己喜欢的分类,方便每个人看自己喜欢的新闻,而且对已经看过的新闻进行处理,进而避免重复浏览,更好的方便广大用户。1.4 本章小结本章中介绍了iPhone软件开发的课题背景及意义,阐明了基于Iphone OS开发的国内外的研究现状,描述了本论文的研究内容及本论文的结构。河南城建学院毕业设计(论文) 应用分析2 应用分析2.1 可行性分析可行性分析也可称为可行性研究,是在网上调查的基础上并辅助其他的信息渠道,针对基于iOS的新闻的开发是否具备必要性和可能性。对新的科技新闻的开发从技术、操作、经济等不同方面进行分析研究,来保证投资的失误,保证新闻的开发成功。就我们学的的知识知道可行性分析可以在最短的时间内分析出这款基于iOS的科技新闻是否可以达到预定的效果。l 经济可行性分析这款基于iOS的科技新闻的开发是通过苹果系统的Xcode来进行的。本人有一台mac mini可用于开发。而且也有服务器,美工,UI,交互等相关技能的朋友可以帮助我进行开发。所有开发所需要的硬件、软件均可以获得。自己也可以通过破解现有App Store上的在线应用,来获取自己想要的资源。并且这个过程很是简单,不存在浪费人力物力的现象。所以得出开发一款基于iOS的科技新闻在经济方面是可行的。l 社会可行性分析开发这款科技新闻,本人不是为了盈利的目的不会损害到任何人的利益。本人开发这款科技新闻符合国家的方针政策,不影响任何组织的利益,没有宗教方面的宣传同时不会影响社会稳定。所以可以得出本人开发基于iOS的科技新闻在社会方面是可行的。l 技术可行性分析开发基于iOS的科技新闻运用到的技术是Object-C,以及一些iOS开发的UI设计,某些类库的应用等等。就技术方面而言,自己学习iOS技术已经有四五个月的基础了,而且有过相关类似的开发经验,相对于开发一款新闻类软件而言自己的技术是完全可以胜任的。而自己的Xcode完全可以胜任这次开发的需求。从而分析得出开发这款科技新闻在技术方面是可行的。所以,综上所述本人的基于iOS的科技新闻的开发是可行的。2.2 需求分析需求分析指的是在建立一个新的应用的时,就这个新的应用的目的、范围、定义及功能这些方面所要做的工作。需求分析是完成一个应用必不可少的部分。在进行一款项目开发的过程中,开发者必须确定客户的需求,在确定了客户需求后才能进行应用的开发。根据当前社会形势,苹果系统在中国已经成为主流手机之一,单单是iOS方面的新闻行业也已经具备了相当的规模。市场上的新闻品牌繁多,定位不一,基本满足了各层次消费者的需求。最新的调查显示比较大的新闻市场,并不是很乐观。而简单,直观的新闻却很受年轻人的青睐和欢迎。基于此,设计新闻重点还是在于简单的外形和其吸引人的性能,新型的新闻要有其他的附加功能,可以更好的吸引用户。2.3 系统开发工具介绍2.3.1 Objective-C 技术Object-C1是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。Objective-C可以在gcc运作的系统写和编译,因为gcc含Objective-C的编译器。1980年代初布莱德确斯在其公司Stepstone发明Objective-C。他对软件设计和编程里的真实可用度问题十分关心,目前主要是编写iOS操作系统应用程序的利器。近几年Objective-C排名大幅提升,它的流行当归功于iphone的成功,因为Objective-C一直被用于编写iPhone应用程序4。Objective-C是非常实际的语言。它是一个用C写成、很小的运行库,只会令应用程序的大小增加很小,和大部分OO系统使用极大的VM执行时间会取代了整个系统的运作相反。ObjC写成的程序通常不会比其原始码大很多。而其函式库亦和Smalltalk系统要使用极大的内存来开启一个窗口的情况相反。2.3.2 Xcode开发工具Xcode前身是继承自NeXT的Project Builder。The Xcode suite 包含有GNU Compiler Collection自由软件 (GCC、 apple-darwin9-gcc-4.0.1 以及 apple-darwin9-gcc-4.2.1, 默认的是第一个),并支持 C语言、C+、Fortran、Objective-C、Objective-C+、Java、AppleScript、Python以及Ruby,还提供Cocoa、Carbon以及Java等编程模式。协力厂商更提供了 GNU Pascal,Free Pascal, Ada, C#, Perl, Haskell 和 D语言。Xcode套件使用 GDB作为其后台调试工具2。Xcode是开发人员建立基于iOS的应用最快捷的方式。Xcode是苹果公司向开发人员提供的集成开发环境。其运行于苹果公司的Mac操作系统下管你用C、C+、Objective-C或Java编写程序,在AppleScript里编写脚本,还是试图从另一个奇妙的工具中转移编码,你会发现 Xcode 编译速度极快,每次操作都很快速和轻松苹果公司为用户提供了全套免费的Cocoa程序开发工具。Mac OS X一起发行,在苹果公司官方的网站下载。2.3.3 SQLite简介 SQLite3是一款轻型的数据库。是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。2.3.4 iOS开发模式介绍l MVC模式MVC全名是Model View Controller,是模型(model)视图(view)控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。l 工厂模式类工厂方法的实现是为了方便使用者的使用,提高开发效率和代码的重用性,它们将各种分配和初始化集中在一个步骤中, 返回一个创建好的对象,并进行自动释放处理。工厂方法不仅仅为了方便使用。它们不但可以将分配和初始化集中在一起进行,还可以为初始化过程提供对象的分配信息。l 单例模式在项目开发过程中,常常会使用到单例来方便项目的某些操作,有些类库也只允许创建单个对象。这些类在整个进程中只能存在唯一实例,举例来说,当需要某些属性的值只存在一个时,可以用单例来保存整个程序中唯一的数。当向这些类请求实例的时候,它们会向您传递单一实例的一个引用,如果该实例存在的话,就不创建,不存在的话,就首先进行实例的分配和初始化。单例对象在整个过程中充当指挥中心的角色,负责类的各种服务。l 观察者模式在iOS开发中,每个控制器之间的通信有多种方法,其中通知就是其中的一种。通知依靠观察者模式得以实现。通知机制是一个中心对象为所有观察者提供变更通知,观察者模式中,是由一个对象发送变更通知,并且提供注册方法,那些注册这个方法的观察者可以接收到这个变更通知,然后响应不同的事件。2.4 本章小结本小结中首先iPhone的开发语言,然后是iPhone开发中的常用工具Xcode和iPhone Simulator模拟器。介绍了本项目中常用的设计模式,例如MVC、单例模式。6全套设计加扣 30122505823 应用总体设计在经过可行性分析后本章将主要介绍应用的总体设计。应用所实现的功能的强弱是衡量一款应用的标准。通过对新闻的全面分析并结合调研的情况,得出了这款的科技新闻设计与功能模块。3.1 硬件结构规划与设计本科技新闻在性能上要求计算机能够支持苹果系统下的Xcode运行,同时支持SQL Server 20084 的安装和运行具体要求可以参照如下表3.1所示 环境 最小配置 物理内存 最小512MB,建议2GB 虚拟内存 RAM大小的两倍 临时磁盘空间 100MB 硬盘空间 40GB 视频适配器 256种颜色 处理器 最小200MHz,建议1GHz以上表 3.1 硬件运行环境3.2 科技新闻的功能模块概括根据需求分析的结果得到科技新闻的基本模块包括以下几个模块l 引导页模块:在首次使用该软件时出现的向导,指导人们如何使用该应用。l 首页新闻标题模块:该模块主要包括三部分(头视图、主滚动视图、分页控制器)l 详情模块:关于每条新闻的详细介绍l 分享模块:该模块主要包括新浪,微信等分享l 刷新模块:每天都有更新的内容l 收藏模块: 收藏自己感兴趣的新闻l 登录注册模块:用户可以通过登陆注册页面进行登录。l 评论模块:用户可以通过该模块进行新闻评论。3.2.1 引导页模块用户在首次使用该软件时,会有一个引导页,既可以告诉用户如何使用新闻一周见软件,也可以让用户一眼能看到该软件的亮点;还有以后版本升级更新后,这个引导页更是必不可少的,能够让用户一目了然的看到新版本增加的功能。3.2.2 首页新闻模块用户可以通过此模块来联网看最新新闻。具体功能包括头视图、主滚动视图、分页控制器三大块。l 头视图在应用的主新闻界面中,头视图是当前页面中最新,最重要的新闻之一。我们将较为重要的新闻放在页面的顶端,可以让用户更容易找到自己所该兴趣的新闻,也可以让界面不那么看着单调l 主滚动视图App的首页有最新,硬件,软件,手机,科技五个类型,我通过在滚动上添加tableView来实现五个页面的切换,为了使用户的流量使用更少,内存优化更好,只有当首次滚动到用户需求的页面的时候才会创建tableView并且下载数据。l 分页控制器当首页的五个类型进行切换的时候,我通过分页控制器来进行标识当前页面类型,通过scorllView的协议来确定分页控制器与主滚动视图之间的关系。3.2.3 详情模块用户可以通过tableView上的标题点击进入每一个新闻的详情,详情页面可以通过webView来呈现新闻内容,在详情页面的底部,通过自己定制的toolbar来进行,返回,收藏,分享,复制。3.2.4 分享模块用户可以通过此模块对感兴趣的新闻进行分享,让更多的人看到。其中有新浪分享,微信分享,短信分享,邮件分享等,由于当下微信、新浪十分火,所以大家都再用,这样自己分享的东西才会被更多的人知道。3.2.5 刷新模块新闻是时时刻刻都在报道,所以刷新模块一定不能少,一定要把最新的信息传达到用户手里,一周见是每天都有刷新,进而保证新闻的及时性。3.2.6 收藏模块应用中有一些自己喜欢的新闻,可以通过点击收藏收藏到本地,这样用户可以通过收藏页面实时都可以看到自己喜欢或者感兴趣的新闻。3.2.7 登录注册模块用户可以通过登录页面进行登录来获取更多的权限,如果用户是第一次登录,那么可以从登录页面跳转到注册页面进行注册,再进行登录。由于本人没有服务器所以登录注册是使用数据库写的本地登录。3.2.8 评论模块用户可以通过该页面对新闻内容进行评论,发表自己对该新闻的看法。通过自定义的textfeild,再点击确定按钮以后会通过post请求把数据发送到服务器上,再更新评论列表。3.3 系统相关控件及第三方库3.3.1 系统控件本项目主要使用到以下控件:l UIImageView显示图片的控件,根据回来的图片地址,能从缓冲里或者沙盒中选取要显示的图片,它能设置要显示的图片的颜色,大小,格式等相关属性。l UITextView主要用来对文字的输入,当响应它时自动弹出键盘,一行输入满时可以自动换行。l UIButton在iphone上主要是一个按钮,该按钮能响应用户一切对其操作的单击、双击、长按事件,可以对其设置响应函数。l UITableView在iPhone上一个表格视图是一维的,自顶向下的条目清单,可选的分为多个区域,区域实际上把清单变为二维数据结构,每个区域有可变数目的条目,因此表格里某个指定的条目由它所在区域和所在区域的行(row)来决定。l UIWebView在iPhone上用来显示网站要显示的信息,开发者可以重写网页数据的格式,也可以用js返回所要用到的数据。3.3.2 第三方库AFNetworking是现在常用于请求数据的一个类库。l EGOTableViewPullRefresh是常用的实现下拉刷新的一个类库。l SDWebImage是个图片异步下载处理库,可以进行缓存设置。l fmdb是常用的已经封装好的数据库的一个类库。l UM 是第三方分享平台友盟的SDK,可以让用户把自己感兴趣的新闻分享到友盟提供的平台中。3.4 本章小结本章主要是对各功能模块的需求做了详细的分析。接着划分系统的模块,对用户登录做了详细的分析,对系统的各个功能页面进行详细构造,完成UI图的绘制及数据的显示及保存设置,完成登录注册的逻辑设计。10全套设计加扣 30122505824 科技新闻详细设计 整体科技新闻,简洁,大方,美观,时时刻刻注用户体验,从流量,操作方便,直观等的角度去思考6,进而设计出了如下的科技新闻。4.1 引导页详细设计在appdelegate中调用以下函数来确定根视图控制器。- (UIViewController *)creatRootViewController;当是第一次启动的时候跟视图控制器应为WelcomeViewController,在这个视图控制器中调用以下函数来创建引导页。self addWelcomePages;4.2. 主界面页主界面实际上是由两个scrollView创建而成,第一个scrollView是头视图,创建这个头视图的主要UI逻辑是怎样实现循环滚动。第二个scrollView是主体新闻内容,这个scrollView上粘贴了五个tableView,来实现主页面的分类,而这个scrollView的逻辑重点是怎样使应用所占内存最小,怎样使用户使用流量最低。图4.1主界面4.2.1 头视图在创建头视图的时候,实现scrollView的协议,并且在在scrollView已经滚动结束的时候调用以下代码,可以使头视图中的scollView可以实现循环滚动。if (scrollView = self.headerScollView) CGPoint curPoint = self.headerScollView.contentOffset; NSInteger currentIndex = curPoint.x/self.headerScollView.bounds.size.width; if (currentIndex=0) self.headerScollView.contentOffset = CGPointMake(3*kScreenSize.width, 0); currentIndex = 3; if (currentIndex=4) self.headerScollView.contentOffset = CGPointMake(kScreenSize.width, 0); currentIndex = 1; NewsModel * model = _newsHeaderDataArrcurrentIndex-1; UITableView * talbe = (UITableView *)self.scrollView viewWithTag:101; UILabel * label = (UILabel*)talbe viewWithTag:301; label.text = model.title; 4.2.2 首页视图在首页视图中使用的是五个tableView粘贴在一个scrollView上。来实现,在滚动视图的协议中调用以下方法,可以在特定的位置,创建有特定标签的tableView。-(void)creatTableViews:(CGPoint)point tag:(NSInteger)tag;创建好tableView之后,要在实现tableView与分页控制器进行关联。在scrollView滚动到特定的页码的时候通过改变分页控制器的index值,来改变分页控制器当前所处的状态。if (scrollView = self.scrollView) CGPoint curPoint = scrollView.contentOffset; NSInteger index = curPoint.x/scrollView.frame.size.width; self.index = index; if (scrollView.tag = 1001) UISegmentedControl * seg = self.selectView.subviews0; seg.selectedSegmentIndex = index; self reloadDataAndCreatTableView:self.index;4.2.3 刷新该应用的数据都是从互联网上请求下来的,每天都有新的新闻资讯,所以数据都是实时更新的。所以本应用中使用了下拉刷新,上拉加载的功能。在创建tableView的时候调用creatRefreshView方法,来创建刷新视图。在刷新或者加载完成的时候调用endRefreshView方法,来结束刷新。4.3 详情页面详情页面主要是为了展示新闻详情,这个页面主要是有一个webView和一个自定义的tabBar组成,而这个页面的主要内容是分享和收藏。图4.2 详情页面4.3.1 详情页面设计详情页面通过网络请求下来数据,在webView上进行展示,通过以下代码进行实现。self.webView loadHTMLString:self.detailModel.content baseURL:nil;通过以下方法,可以从网络上下载数据- (void)reloadDetailData通过调用- (void)creatMyTabBarView来实现自定义的tabBar在使用block回调来实现自定义tabBar上面的button点击事件的处理。4.3.2 收藏 4.3 收藏页面收藏是通过以下代码来实现。通过判断数据库中是否存在该新闻,如果存在,则把数据库中对应的数据删除,并且把收藏按钮颜色变为黑色。如果不存在则收藏,把收藏按钮的颜色变为红色。 if (!isExistId) CollectManager shareManager insertWithModel:self.detailModel; button setBackgroundImage:UIImage imageNamed:detial_buttom_collected.png forState:UIControlStateNormal; else CollectManager shareManager deleteModelWithId:self.detailModel.uid; button setBackgroundImage:UIImage imageNamed:detial_buttom_collect.png forState:UIControlStateNormal; 4.3.3 分享 4.4 分享页面分享在本应用中使用的是第三方友盟分享平台的SDK,通过配置分享内容和分享平台,可以把自己喜欢的新闻通过新浪微博,微信等平台分享到朋友圈中。要注意的是由于微信等平台在分享完成之后要返回到自己的应用中,所以在配置微信的时候要在appDelegate中要添加自己的appId,当应用分享完成之后,微信会根据appId,返回到本应用中。其配置的主要代码如下- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex if (buttonIndex != actionSheet.cancelButtonIndex) NSArray * sharesArr = UMShareToSina,UMShareToRenren,UMShareToWechatTimeline,UMShareToSms,UMShareToEmail; UMSocialControllerService defaultControllerService setShareText:NSString stringWithFormat:%,self.currentPageTitle,self.shareTextUrl shareImage:UIImage imageNamed:icon socialUIDelegate:self; UMSocialSnsPlatformManager getSocialPlatformWithName:sharesArrbuttonIndex.snsClickHandler(self,UMSocialControllerService defaultControllerService,YES); 4.3.4 评论4.5 评论页面登陆注册页面的低端是自定义的一个textFieldView,当点击textField的时候会弹出键盘。此应用是通过通知中心设计模式,来获取键盘的信息,从而达到动态改变textField的高度。其主要的代码如下- (void)addObserverAtNSNotificationCenter NSNotificationCenter *nc = NSNotificationCenter defaultCenter; nc addObserver:self selector:selector(keyBoardShow:) name:UIKeyboardWillShowNotification object:nil; nc addObserver:self selector:selector(keyBoardHidden:) name:UIKeyboardWillHideNotification object:nil; 当键盘弹出以后通过block回调的模式,通过post请求,将数据发送到服务器并且刷新tableView从而实现评论的目的。4.4 登录注册 4.6登录注册页面由于没有服务器,所以此应用中的登陆注册写的是本地登陆,在注册页面中专门写了一个单例UserRegistManager来管理注册的一些逻辑性的问题。在通过UserInfoManage对数据库进行封装,来对用户注册信息的本地数据存储。通过调用方法一下方法来判断该用户是否可以注册。-(BOOL)isRegistSuccessWithUsername:(NSString *)username password:(NSString *)password veryfyPassword:(NSString *)verify email:(NSString *)email;如果以上的方法返回值是YES那么,就可以通过单例UserInfoMange来把用户信息通过数据库存储到本地,可以调用以下方法。- (BOOL)inserUserInfoWithUsername:(NSString *)username password:(NSString *)password email:(NSString *)email;4.5 本章小结这个章节主要写的是app设置过程中各个模块的详细设计过程,其中包括主界面,详情界面,登录注册等。重点解释了UI实现的逻辑,和第三方平台的具体使用。22河南城建学院毕业设计(论文) 系统测试5 系统测试基于iOS的科技新闻的实施主要包括硬件结构的规划和系统测试两个部分。本阶段即使成功完成科技新闻的功能,又得到系统稳定性的可靠的保证。5.1 测试目的在项目完成后进行系统测试,可以保证所开发应用的流畅性、无错性、满足需求性。系统测试是针对整个产品系统进行的测试,系统测试的过程中在发现问题之后,需要开发人员找出错误原因和位置并改正。系统测试的目的是找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试不仅仅是为了发现系统缺陷和错误,也是为了对系统整体质量水平进行度量和评估。在开发软件系统的过程中,可能需要面对许多复杂繁琐的问题,在软件开发生存周期的每个阶段都会不可避免地会产生错误。开发人员要在每个阶段完成之前进行严格的技术审查,尽可能早的发现并纠正错误,以期达到比较完善的效果。5.2 测试方法测试程序运用最多的就是所谓的白盒测试和黑盒测试了。白盒测试就是对软件系统的相关代码进行详细的测试,查看代码的正确性和书写规则是否正确等。黑盒测试是根据软件的规格对软件进行的测试,黑盒测试与白盒测试正好相反,不需要考虑软件内部的组成结构,只需要对软件整体进行测试9。黑盒测试需要软件测试人员从用户的角度来进行各项功能测试,来检测系统的可行性和可操作性,同时观察软件中存在的各种错误和缺陷。黑盒测试的方法使测试人员只关心系统是否能够满足用户的需求以及各种需求是如何实现的,并不关系系统的设计过程。对科技新闻的测试主要从以下几个方面进行:l 代码测试:这款科技新闻的代码测试采用的是正常数据、异常数据和错误数据轮换进行测试的方法。例如:在意见反馈见面输入正确的文字、输入很大量的文字、或将图片当成内容添到输入框中,查看程序的运行情况。l 程序功能测试:对在科技新闻进行大量的相同内容的操作,进行基本功能的体验,查看是否完成了基本功能。l 分调和总调结合测试:该测试是贯穿于整个系统测试思想中的,从开始涉及每一个功能模块开始,到最终完成系统的整体功能模块设计,整个过程中,针对每个功能模块进行适当的测试与修改12,最后再将所有功能模块集成在整个系统中进行综合测试。5.3 测试结果点击app图标,进入主页面,如果互联网连接良好的情况下会呈现出下面图5.1所示。测试结果如下图,说明app启动正常。图 5.1进入主页面以后要可以进行下拉刷新,上拉加载更多,点击进入详情,滚动头视图可以实现循环滚动等操作。其中下拉刷新操作类如图4.1所示,当下拉进行下拉刷新的时候,如果服务器中有新的数据添加,那么会在当前页中进行刷新,刷新过程如图 5.2所示。图 5.2 上拉刷新当用户需要加载更多的新闻的时候可以一直往下拉,当到页面底部的时候可以进行下拉加载更多操作来实现加载。操作示意如图5.3所示。图5.3 下拉加载更多当用户看到自己感兴趣的新闻的时候,想要进入详情页面阅读新闻,那么只需要点击新闻标题所在位置,就可以跳转到详情页面如图5.4所示。图5.4 详情页面当点击评论的时候,页面会跳转到评论页面,评论页面底端有一个textfeild,点击textfeild,会跳出键盘图5.5所示,点击确定评论会刷新在评论页面。图5.5 评论页面当点击收藏的时候,会改变收藏按钮的背景图片并且,会将当前新闻收藏到app的收藏列表中。其测试结果如图4.3所示。当点击分享的时候,会弹出提醒框,分享到哪一个平台,选中平台以后会使跳转到该平台进行分享。其测试结果如图4.4所示。用户登录注册页面如图5.6所示,当登录的时候,如果账号密码没有填写会弹出如图5.7所示的警告框。 图5.6 登录空警告如果输入的账号密码正确会弹出如图4.5.7所示警告框。图 5.7 登录成功在注册的时候如果注册中所填的Email格式不正确,那么会弹出如图5.8所示的警告框。如果注册成功会弹出5.9所示警告框。 图 5.8 Email格式错误 图 5.9 注册成功5.4 本章小结本章主要主要是对测试目的,测试方法,测试结果进行详细的说明。通过测试能让我们的APP更具有实用性,可以提早发现APP潜在的隐患,并且提前解决已经出现的问题。河南城建学院毕业设计(论文) 总结总 结本文首先阐述了本应用程序开发的背景及其意义,以及国内外对基于Ios平台开发App的研究现状。接着深入介绍了开发语言ObjectC和开发工具Xcode,详细介绍了应用程序框架以及Ios开发最常用的几种设计模式,介绍了应用程序中用到的第三方框架。第三章主要介绍了应用程序的功能模块设计与实现。最后进行了系统的数据测试。本设计代码编写简洁,运行效率高,整个应用程序紧紧围绕面向对象的思想进行框架的搭建设计与各功能模块的实现。抽取出公用的类和实现方法作为基类,简化了代码的冗余,增强了代码的可重用性和可移植性。本应用巧妙运用MVC设计模式,为整个项目的编码工作减少了许多繁琐的复制粘贴的工作,而且大大提高了应用程序的性能。随着无线互联网的飞速发展,4G时代已经悄然进入了我们的生活,智能手机越来越普遍,手机App的市场前景也将空前可观,我相信不久的将来,应用型App、服务型App、游戏App将会超过传统互联网站拒绝开发行业的核心地位。随着苹果产品的市场不断扩大,随着IOS开发技术的不断成熟,开发成员的不断涌入,IOS开发将成为开发行业的主流。由于本人暂时能力有限,时间有限,整个应用程序在功能上还不是很完善,但随着今后本人在本行业的摸爬滚打,随着时机的成熟和技术的成熟,我会慢慢完善其余的一些功能。添加更多的动画,以增强用户体验。本应用程序只不过是我初出茅庐后的小试牛刀,我相信我能在本行业有所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年学历类自考专业(学前教育)学前特殊儿童教育-学前教育学参考题库含答案解析(5套)
- 2025年学历类自考专业(学前教育)学前教育史-学前教育科学研究参考题库含答案解析(5套)
- 2025年学历类自考专业(学前教育)学前儿童语言教育-学前儿童保育学参考题库含答案解析(5套)
- 2025年学历类自考专业(学前教育)学前儿童数学教育-学前儿童数学教育参考题库含答案解析(5套)
- 2025年学历类自考专业(学前教育)学前儿童数学教育-学前心理学参考题库含答案解析(5套)
- 2025年学历类自考专业(学前教育)学前儿童发展-学前儿童数学教育参考题库含答案解析(5套)
- 2025年学历类自考专业(学前教育)学前儿童体育教育-学前教育学参考题库含答案解析(5套)
- 2025年景区联合售票协议书
- (2025年标准)金泰的认购协议书
- 2025年新户外采摘活动协议书
- GB/T 15155-1994滤波器用压电陶瓷材料通用技术条件
- 传媒公司员工劳动合同(标准版)
- 复变函数与积分变换全套课件
- 做一名优秀教师课件
- 企业标准编写模板
- 商场开荒保洁计划书
- 设备出厂检验报告
- DBJ 53-T-46-2012 云南省城镇道路及夜景照明工程施工验收规程
- 西方文明史(第五版)英文版全书ppt完整版课件整本书电子教案最全教学教程
- 商务英语翻译实务完整版教学ppt课件全套教程
- 非器质性失眠症临床路径
评论
0/150
提交评论