1、基于移动网络的新闻类 软件开发与研究本科毕业设计(论文)题 目 _基于移动网络的新闻类 软件开发与研究 姓 名 专 业 学 号 指导教师 郑州科技学院信息工程学院 二一五年六月目 录摘 要 IAbstract II前 言 III1 背景和意义 11.1 开发工具和运行环境 12 相关技术介绍 32.1 iOS简介: 32.2 Mac简介 32.3 iOS系统架构 42.4 MVC设计模式 42.4.1 MVC模型的作用 62.5 objective-c 简介 72.5.1 UI各控件简介 102.6 网络数据请求 112.6.1 异步GET 112.6.2 异步POST 122.6.3 网络请
2、求的区别: 133.1 主页简介 143.2 具体内容页 154 系统的详细设计 164.1 系统结构图 164.2 系统的模块设计 164.2.1 引导页模块 174.2.2 浏览模块 174.2.3 订阅模块 174.2.4 投诉模块 174.2.5 搜索模块 174.2.6 内存释放模块 184.2.7 登录模块 184.2.8 刷新模块 184.2.9 基础类模块 184.2.10 详情模块 195 系统的实现 205.1 网络监听功能的实现 205.2 浏览功能的实现 205.3 左侧栏功能的实现 215.3.1 订阅功能的实现 225.3.2 投诉功能的实现 255.4 右侧栏功能
3、的实现 265.4.1 登录功能模块 275.4.2 搜索功能的实现 285.4.3 清除缓存功能实现 295.5 刷新功能实现 305.6 基础类功能的实现 315.7 详情页面功能实现 326 系统测试 346.1 模拟测试 346.2 真机测试 346.3 程序上传 367 总结与展望 377.1 总结 377.2 展望 38致 谢 40参考文献 41基于移动网络的新闻类软件开发与研究摘 要随着信息网络时代的快速发展,中国移动互联网事业日新月异,网络与社会生活的紧密结合,衍生出许多新的事物。手机使用方式的多样化,智能手机以及互联网应用的普及,不断地改变着人们的生活方式。全球每一个国家、每
4、一天、每一时,都在发生着不同的事情。在这样一个繁忙的社会中,没有人能够有时间守着电视机去关注那些新闻, 号外天下相当于是移动互联网时代的观看新闻的新手段。该款APP可以满足人们随时随地观看天下事,了解天下事,除了政治新闻之外,还有娱乐新闻,能够帮助人们让压抑已久的情绪有个释放的接口,同时大家还可以评论和分享,使得人们的生活更加有趣味!本文以一个真实的在线新闻类软件开发为例,从新闻类APP的发展现状谈起,结合用户实际需求提出本应用类软件的总体结构和功能模块。然后通过基于Xcode开发环境,利用OC, 语言,UI界面的绘制,实现了该新闻类软件。新闻类应用软件在市场上主要面向所有人群,随着人们不断去
5、利用碎片的时间,时时关心天下事的需求的增加,我相信这类新闻社交类应用会受到人们的欢迎。关键词:移动互联网;智能手机;新闻;软件;开发Based on mobile network news type of software development and researchAbstractWith the rapid development of information network era, Chinas Internet business with each passing day, the close combination of network and social life, and
6、 derived a lot of new things and phenomena. Mobile phone use way diversification, the popularity of smart phones and mobile Internet application, constantly changing the way people live. Every nation in the world, every day, every hour, in the different things. In such a busy society, no one can hav
7、e time to keep the attention to the TV news, the outside world is so mobile Internet era of the new ways of watching the news. The APP can satisfy people anywhere at any time to watch whats going on in the world, to understand whats going on in the world, in addition to political news, entertainment
8、 news, can help people lets pent-up emotion has a release of interface, at the same time you also can share, comment and make peoples life more interesting! Based on a true online news development, for example, from the current situation of the development of news APP, combining the reality of user
9、demand puts forward the overall structure and function module of application software. Then based on the Xcode development environment, using the OC, language, and the UI interface, realize the news type of software. News application for all people in the market, as people continue to use of fragmen
10、ted time, always care about whats going on in the world the increase of demand, I believe that this kind of news social application will get the welcome of people. Keywords:Mobile Internet;Smart phones;News. Software;Development. 前 言现阶段,人们每一天都很繁忙,几乎都没有很完整的时间在电视机前观看新闻,每一个人几乎都是穿梭在地铁,公交车,火车上。然而又有很多人观看新
11、闻,比如政治类,娱乐类,关心汽车的未来,还有科技的新品发布会等等各类的新闻。显然,在当今社会中,仅仅只靠电视机很难满足人们的需求。随着计算机应用的迅速发展,网络应用不断扩大,如网易新闻和新浪新闻的出现,且这些应用正逐步深入到千家万户。人们迫切要求利用这些软件及技术知晓天下事,以满足人们对时事政治的了解,和世界科技发展的关心,与此同时也提高人与人之间的交流! 这一款新闻APP我们是在IOS系统下开发的,使用了OC 和 UI语言,每一款iPhone手机都能下载和观看。本设计使用X-code开发工具,具有可视化编程界面、详细的提示功能以及完善的引导文档,软件开发人员使用起来非常方便。本设计首先概要性
12、地介绍了设计中使用的关键技术、MVC模式等;然后给出模块的总体分析与设计,包括系统的需求分析,系统设计要求、系统的总体功能设计;其次用图表加文字的方式对设计工作中的重点部分作出了详细的阐述;最后具体描述了模块的实现过程,并对关键技术的实现分析,进行代码解析。1 背景和意义移动互联网,就是将移动通信和互联网二者结合起来,成为一体。是指互联网的技术、平台、商业模式和应用与移动通信技术结合并实践的活动的总称。4G时代的开启以及移动终端设备的凸显必将为移动互联网的发展注入巨大的能量,2014年移动互联网产业必将带来前所未有的飞跃。移动互联网业务影响到沟通、娱乐、消费等各个生活的细节,进而也影响到销售方
13、式、市场渠道等企业运营。截止到2014年4月,我国移动互联网用户总数达8.48亿户,我国移动互联网发展进入全民时代。2007年1月,苹果CEO史蒂夫乔布斯在公司的MacWorld会上发布第一部iPhone手机。到目前为止,iPhone6 Plus的上市和全球iPhone手机用户量的大大增加,iOS开发人员成为应用开发公司所争抢的对象,有权威部门调查数据显示,目前iOS软件人才已出现了38万缺口,根据国家官方公布的数据,未来几年iOS软件开发人才市场缺口将达百万,未来几年内,iOS软件开发人员都将供不应求,高薪纳贤便成为社会发展所需。1.1 开发工具和运行环境iOS开发者必须遵循苹果规定的开发流
14、程。开发者必须使用Mac OS X操作系统,从iOS开发者中心或者Mac APP Store下载并安装最新稳定版本的Xcode和iOS SDK。同时iOS设备来联机调试。1、开发环境的要求硬件:(1)苹果Mac系统电脑,必须是要基于Intel的Macintosh计算机;(2)iPhone或者iPodTouch,主要作用是用来测试编写好的程序;软件:(1)苹果系统MacOS;(2)iPhoneSDK,SDK开发包中包含苹果公司集成的开发环境Xcode、iPhone模拟器及其它的一些开发工具。2、开发环境的简单介绍,开发环境有以下几个方面:Xcode(主要开发工具在6.0以上)Interface
15、Builder(快速设置设计工具)iPhone Simulator(iPhone模拟器)SDK(Software Development Kit,软件开发工具包)iPhone SDK包含哪些东西?在使用Intel芯片的Macintosh计算机上开发iOS应用程序所需要的全部接口、工具以及大量资源都包含在iPhone SDK内。苹果公司将大部分的系统接口发布在框架这种特殊的数据包内。一个框架就是一个目录,它包含一个动态共享库以及使用这个库所需要的所有资源(例如头文件、图像以及帮助应用程序等)。如果要使用某个框架,则需要将其链接到相应的应用程序上,这方面和使用其他的共享库相似。此外,您还需要告知开
16、发工具在何处可以找到框架头文件以及其他资源。除了使用框架,苹果公司还通过标准共享库的形式来发布一些相关性的技术。由于iOS以UNIX为基础,所以操作系统底层的许多技术都源自开源技术,这些技术的许多接口可以从标准库和接口目录中访问。SDK中还包含下述的重要组件:Xcode工具,提供了iOS应用程序开发工具,包括如下关键应用程序:Xcode是一个集成开发环境的工具,它负责管理应用程序工程的开发。使用者可以通过它来编辑、编译以及调试代码。Xcode还集成了许多其他类的工具,它是在开发过程中使用到的主要应用程序。Interface Builder 以可视化编程的方式组装用户接口的工具。通过Interf
17、ace Builder创建出来的接口对象将会直接保存到某种特定格式的资源文件中,并且在运行的时候加载到相应的应用程序中。Instruments 为运行时性能的分析和调试工具。用户可以通过Instruments 收集应用程序在运行时的行为信息,并且可以利用这些收集来信息确认可能存在的一些问题。iPhone模拟器是Mac OS X平台应用程序,它对iOS技术进行模拟,以便于用户在基于Intel的Macintosh计算机上测试和运行iOS应用程序。2 相关技术介绍2.1 iOS简介:iOS是由苹果公司专门开发的移动操作系统。苹果公司最早是在2007年1月份的Macworld大会上公布这个操作系统,最
18、初是设计给iPhone使用的,后来陆续的套用到了iPodtouch、iPhoneWotch以及AppleTV等产品上。iOS与苹果的MacOSX操作系统一样,都是属于类似于Unix的商业操作系统。原本这个系统名为iPhoneOS,因为iPad,iPhone,iPodtouch都是使用的iPhoneOS,所以,2010WWDC大会上宣布改名为iOS(iOS是美国Cisco公司网络设备操作系统注册的商标,苹果改名已经获得Cisco公司的授权)。iOS是运行于iPhone、iPhoneWotch以及iPad等设备的操作系统,它管理设备硬件并为手机本地应用程序提供了基础的技术。该操作系统根据设备不同,
19、还可以提供相应的系统应用程序,如Phone、Mail以及Safari,这些应用程序可以为用户提供标准的系统服务。iPhone SDK开发包含开发、安装以及运行本地应用程序所需的工具和接口。本地应用程序可以使用iOS系统框架和Objective-C语言进行构建,并且可以直接运行于iOS设备上。它与web应用程序有所不同,一方面是它位于所安装的设备上,另一方面是不管是否有网络连接它都能运行。2.2 Mac简介Mac OS是一套运行在Macintosh系列电脑上的操作系统。Mac OS是首个在商用领域成功的图形用户操作界面系统,目前的最新的系统版本是OS X 10.10 Yosemite,并且在网上
20、也有可以在PC上运行的Mac系统,它简称为Mac PC。Mac系统是基于Unix内核的图形化操作系统;一般情况下在普通的PC上是没有办法安装的操作系统,由苹果公司自行开发的操作系统已经达到了OS 10,代号为MAC OS X,这是MAC电脑诞生15年来发生的最大变化。新系统非常可靠,它的许多方面特点和服务都体现了苹果公司的理念。2.3 iOS系统架构iOS的系统架构可以分为四个层次:核心操作系统层(The Core OS layer),核心服务层(The Core Services layer),媒体层(The Media layer)和可轻触层(The Cocoa Touch layer),
21、如图2.3所示。该操作系统占用240MB左右的内存空间,iOS的用户界面的概念基础,是能够支持多点触控操作的。控制方法包括上下左右的滑动,轻触开关或按钮。与系统互动包括滑动 (swiping),轻按(tapping),轻扫(screen),挤压(pinching)及旋转(reverse pinching)。此外,通过系统内置的加速器,可以令其旋转装置,从而可以改变其轴以令屏幕的方向发生改变,这样的设计令iPhone更便于使用。图2.3 系统架构图2.4 MVC设计模式模型-视图-控制器(Model-View-Controller,简称MVC)是Xerox PARC在20世纪80年代为编程语言S
22、malltalk-80发明的一种软件设计模式,至今已经广泛的应用于用户交互应用程序中。在iOS开发中MVC的机制被使用的可谓是淋漓尽致,因为模型和视图之间不能够直接通信,必须经过控制器在中间做一个中转;模型可以通过控制器传入到视图中,然后可以在视图中给自己定义的控件赋值。充分理解iOS的MVC模式,有助于我们程序的组织更加合理,简写代码过程,利于程序执行速度。MVC模型如图2.4所示。图2.4 MVC关系图模型对象模型对象用于封装特定程序的数据,定义处理这些数据的逻辑和计算方法。例如,模型对象可以表示游戏中的角色,或者是通讯录中的联系方式。一个模型对象可以和别的模型对象有一对一关系,也可以有一
23、对多的关系。有时,应用程序的模型层的多个对象会构成一种有效的关系网。在程序中,用于表示永久状态的大部分数据在其被加载到程序中后都会驻留在模型对象中。这是因为模型对象表示的是相关特性问题领域的专业知识。他们是可以再相似问题领域被复用的。理想的情况下,模型对象不应该和用于表示其数据并允许用户编辑这些数据的视图有任何的关系的模型对象不应该和用户界面以及其呈现方式有任何关系。视图对象引用程序中的视图对象就是用户可见的对象。视图对象知道如何自行绘制并响应用户的操作。视图对象的主要作用就是展示程序中模型对象的数据,并允许用户对这些数据进行编辑。通常在MVC模型的程序中模型和视图分开来写,就是为了优化程序,
24、减少代码之间的耦合度,视图对象与模型对象是相互解耦的。由于视图对象通常都是可复用和可配置的,因此如果在其它的类中需要用到这块儿视图,可通过引入他们的头文件即可,因此他们可以适用于不同的应用程序。UIKit和AppKit框架中都提供了不同的视图类。同时,IB(Interface Builder)中也在自己的库中提供了很多的视图对象。控制器对象在应用程序的一个或多个视图对象和一个或多个模型对象之间,控制器对象充当媒介。控制器对象因此是同步管道程序,通过它,视图对象了解模型对象的更改,反之亦然。控制器对象还可以为应用程序执行设置和协调任务,并管理其他对象的生命周期。控制器对象解释在视图对象中进行的用
25、户操作,并将新的或更改过的数据传达给模型对象。模型对象更改时,一个控制器对象会将新的模型数据传达给视图对象,以便视图对象可以显示它。2.4.1 MVC模型的作用MVC的低耦合性、高重用性、可维护性等优点显而易见,使得原本复杂的代码与界面的交互变得简单、清晰、明了,开发者可以把更多的精力放在前端界面的设计上,而不用绞尽脑汁去思考究竟应该如何使界面得到同步,这样减轻了设计压力,也从另一方面使用户得到更多更好的享受体验。纵观ios经典NativeApp的所有应用软件,几乎都具有一个很大特点,那就是“炫”。清新的画面配以简单的手势操作,颠覆着用户的思维方式,小巧精悍。在最初的JSP网页中,像数据库查询
26、语句这样的数据层代码和像HTML这样的表示层代码混在一起。经验比较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,它需要精心地计划和不断的尝试。MVC从根本上强制性地将它们分开。尽管构造MVC应用程序需要一些额外的工作,但是它带给我们的好处是毋庸置疑的。多个视图能共享一个模型。如今,同一个Web应用程序会提供多种用户界面,例如用户希望既能够通过浏览器来收发电子邮件,还希望通过手机来访问电子邮箱,这就要求Web网站同时能提供Internet界面和WAP界面。控制器连接不同的模型和视图去完成用户的需求,也可以构造应用程序提供强有力的手段。给定一些可重用的模型和视图,控制器可以根据用
27、户的需求选择适当的模型机型处理,然后选择适当的视图将处理结果显示给用户。在MVC设计模式中,模型响应用户请求并返回响应数据,视图负责格式化数据并把它们呈现给用户,业务逻辑和表示层分离,同一个模型可以被不同的视图重用,所以大大提高了代码的可重用性。过去MVC模式并不适合小型甚至中等规模的应用程序,这样会带来额外的工作量,增加应用的复杂性。但现在多数软件设计框架,能直接快速提供MVC骨架,供中小型应用程序开发,此问题不再存在。对于开发存在大量用户界面,并且逻辑复杂的大型应用程序,MVC将会使软件在健壮性、代码重用和结构方面上一个新的台阶。尽管在最初构建MVC模式框架时会花费一定的工作量,但从长远的
28、角度来看,它会大大提高后期软件开发的效率。2.5 objective-c 简介Objective-C,通常写作ObjC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。Objective-C可以在GCC以及Clang运作的系统上编写和编译,因为GCC与Clang含Objective-C的编译器。1980年代初布莱德确斯(Brad Cox)在其公司Stepstone发明Objective-C。他对软件设计和编程里的真实可用度问题十分关心
29、。Objective-C最主要的描述是他1986年出版的Object Oriented Programming: An Evolutionary Approach. Addison Wesley. ISBN 0-201-54834-8.Objc和C+基本上是两门语言,没有太大的关系。Objc本身是静态语言,编译后就是机器码,执行效率很高,但引入了很多类似Python、Ruby的动态特性,像动态类型推断,id,selector,block等特性,所以又非常灵活。Objective-C在计算机编程语言中有悠久的历史,80年代初Brad Cox和Tom Love发明了Objective-C,1988
30、年乔布斯的Next公司获得了这门编程语言语言的授权,并开发出了Objective-C的语言库和 NEXTSTEP的开发环境。NextStep是以Mach和BSD为基础,Objective-C是其语言和运行库。乔布斯回归苹果,NextStep 成了Max OS X的基础,Objective-C成了Apple的当家语言,现在基本上是Apple在维护Objective-C的发展。与其他面向对象语言相比,Objective-C采用了一个非常小的运行时库代替了虚拟机。在苹果的AppStore推出之前,Objective-C一直相对小众,但是其优秀的语言特性似乎一直在为后面的爆发积蓄力量,当苹果平台级的应
31、用出现之后,Objective-C开始大放异彩,静态语言的效率和动态语言的特性得到众多程序员的喜爱,这一点在TIOBE语言排行榜上表现的非常明显。2007年iPhone刚推出的时候,Objective-C在TIOBE上排名45,2011年排名第5,2012年7月排名第3,成功超越了老牌编程语言C+,排在Objective-C前面的是经典语言C、Java。2007年之前Objective-C小众是因为它只能开发苹果的操作系统和软件,后来之所以流行恰恰也是因为这一点,这不仅让人感慨这无常的人生。不过有一点是没有变,Objective-C一直是一门优秀的编程语言,而且它一直在发展。从1.0到2.0,
32、从面向对象的C语言扩展,到内存引用计数管理,属性管理,引入块的概念,实现自动引用计数等等,几乎每年都会有新特性加入,这在其他编程语言中是很少见的,这些新特性的引入也不断为开发人员带来软件设计和研发上的便利。 编译时的多态性为我们提供了运行速度快的特点,而运行时的多态性则带来了高度灵活和抽象的特点。1、override关键字:(1) 重写父类中的virtual修饰的方法,实现多态Objective-C可以说是一种面向对象的C语言,在Objective-C的代码中可以有C和C+语句,它可以调用C的函数,也可以通过C+对象访问方法。当我们使用OC语言的时候,我们不需要了解它是如何得来的,只需要拿着用即可。(2) 字符串Objective-C通常不使用C语言风格的字符串。大多数情况下是使用Foundation框架的NSString类
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1