基于Android新闻阅读应用系统毕业论文.doc
吉林大学珠海学院毕业论文(设计)基于Android新闻阅读应用系统The System of News Reader Based on Android Platform完成日期 2013年 4月毕业论文开题报告基于Android新闻阅读应用系统摘要现时代,计算机行业相比于上个世纪已经有翻天覆地的进步,社会越来越趋于移动信息化,人们去要求随时随地的去获取自己所需要信息。这情况下,基于Android新闻阅读应用系统能很好的满足人们对这方面的需求。基于Android新闻阅读应用系统是基于谷歌Android提供的SDK设计开发而成。本应用在SDK2.2环境下,通过Adobe Photoshop、MYSQL、Eclipse等工具来开发。开始时通过了解现在国内互联网门户上新闻展示特点,对基于Android新闻阅读应用系统进行系统需求的分析,之后选取了数据源、数据封装及其相应解释方法。通过查阅文献,选择了新浪、腾讯、搜狐等互联网门户数据和后台服务来作为基于Android新闻阅读应用系统数据的来源。在确定数据源后,通过到百度MUX、腾讯MXD等用户体验设计网站查阅、学习,设计出一整套有较好用户体验的UI。在设计过程中,熟悉了系统自带控件,也使自身自定义控件的能力有大大提高。UI设计完成后,进行应用系统开发,重点控制UI方面的展示及数据持久化功能的开发。在完成开发后,对系统经行过测试,并修改了应用系统设计上的不合理地方。经过一系列流程,开发出了健壮、稳定的应用系统。关键词: Android;SDK;新闻阅读;JavaThe System of News Reader Based on Android PlatformAbstractToday, the computer industry has been advanced in turn the world upside down comparing to the last century and Society is increasingly mobiles information. People need obtain the information whenever and wherever. In the case, the System of News Reader Based on Android Platform can be good to satisfy the needs of the people in this area.The System of News Reader Based on Android Platform is designed to develop through SDK Google provided by Android platform, this application was designed in SDK2.2 environment and it was made through the Photoshop, MYSQL, and Eclipse etc. The following describes the whole development process of The System of News Reader Based on Android Platform. Firstly, according to understand of showing newss features from the present domestic Internet portal, given The System of News Reader Based on Android Platform needs analysis carried out. Later selecting the data source, learning to encapsulate and interpretate method. Through the review of the literature, choosing the Sina, Sohu, Tencent internet portal data and background service to serve as a data source of The System of News Reader Based on Android Platform. In determining a data source, through to learn the design of Baidu MUX, Tencent MXD, to design a good user experience. Familiar with the control system and it has greatly improved their own custom Control ability in the design process. After the completion of the UI design, Focusing on the development of UI display and data persistence function. Finally, after the completion of system development, the system was tested, and modifies the unreasonable application system design. After a series of process, developed the steadily application system.Key words:Android ; SDK; News Reader ; Java目录1 绪论11.1 研究背景11.2 数据库简介11.3 开发环境简介21.3.1 Android概述21.3.2 Java概述21.3.3 MYSQL概述22 需求分析32.1 系统需求32.2 需求分析32.3 系统功能分析图32.4 系统模块组成42.4.1 系统功能模块42.4.2 功能模块的实现43 总体设计53.1 系统结构图53.2 总体功能设计53.2.1 系统设计目标53.2.2 总体设计63.3 数据库设计73.3.1 系统数据分析73.3.2 系统ER图73.4 数据流图93.5 数据字典93.5.1 新闻栏目分类表93.5.2 新闻信息表103.5.3 新闻评论表104 设计思想与实现114.1 数据库操作类的构建114.2 新闻栏目展示概要列表模块124.3 新闻栏目分类、刷新加载列表模块134.4 新闻详细内容加载展示模块154.5 新闻用户交互评论模块164.6 新闻评论内容加载展示模块174.7 互联网门户新闻浏览功能模块184.8 新闻应用退出功能模块195 系统测试与运行205.1 系统运行环境205.2 系统测试205.2.1 测试目的205.2.2 测试方法215.2.3 测试结论226 结束语23参考文献24致谢251 绪论1.1 研究背景现时代社会正快速向移动信息化社会前进,移动设备在生活中、工作中的作用也越来越大。移动信息化的过程中,传统的用计算机上浏览器阅读每天周边世界各地的动态的方式会显得相对笨拙而且不方便与人们生活随意的要知道身边的动态新闻。为了适应这种动态以及移动信息化的发展,慢慢的开始出现、诞生了手机、平板电脑上的一些客户端的应用来适应这方面的趋势,从而供应人们的需求,方便人们去使用。随着移动端的应用软件的发展,国内的一些知名的互联网公司开始推出相关定做的一些新闻阅读的移动设备客户端,到现在国内的互联网公司对这方面的客户端已经做得比较好,不但表现在单纯的实现所需要的功能上,还体现在用户体验上。令人反想的是,人们通过生活上需求从而产生了相应方便生活的一些应用、软件。现在一些企业上的业务系统、OA系统等企业上必须所要具备的重要系统也是慢慢的开发到移动设备上的客户端,增加业务上的渠道、提高公司的效益、方便员工的工作。例如中科软科技股份有限公司(深圳)我们这个移动开发项目组已经跟深圳的一家保险公司开发了一套基于Android移动出单的客户端,把核心业务系统上的出单的业务环节转移到移动设备上来增加自己的业务渠道,从而体现出新闻阅读客户端之类的应用也是这过程的产物,移动设备信息化的趋势是会不断的发展下去。实现一个移动端新闻阅读客户端,可以方便人们的生活、充分的利用工作、生活上多余的时间了解周边的新闻动态,另外一种程度也是舒缓一下生活、工作上带来的压力,从而使自己的生活更加的充实、愉快。1.2 数据库简介数据库是通过参照数据的特点来进行重新的排列、管理数据的存储数据的仓库。如在日常生活工作中,人们需要把一些用意义的数据存放到数据库当中,可能会根据一些业务管理之类的需要而进行一些相关的处理。例如,人事部门把员工的一些个人信息存放到数据库当中,以方便日后对数据的查找及修改工作。一个有多么复杂的系统归根到底也是对数据的操作,保存所要需要的信息,对数据增、删、改和查等功能操作都是由数据库统一的进行处理与控制。数据库的稳定、运行效率要给予支持。随着当今社会信息化的趋势,数据信息资源会变得越来越大多、越来越复杂,从而数据库在当中起着重要的作用,数据库技术也是不断的前行的发展来适应趋势需求。1.3 开发环境简介该新闻阅读应用系统是利用AndroidJavaMYSQL进行开发的。小应用系统的开发是用我们一般Java + MYSQL来轻量级的构造,Java是现在全球使用人数最多的面向对象的编程语言,这已经很好的间接性的体现这种编程语言的优越性,而且是开源更合适开发者去定制自己所需要的东西,Android上的应用就是用Java语言来开发。而MYSQL是一个免费的轻量级的数据库,靠平台能力很强,可以运行到生活常用的、经常接触的操作系统上。这个应用系统的开发环境搭建到Windows 7上进行开发。1.3.1 Android概述Android这个名词在可以说是在最近几年计算机行业中最火热的名词,android是一种主打移动设备的设计而来的系统,android也是一个全开放源码的强大的开源项目。在该系统上的所有的软件都是APK格式的,每个系统都是有自身的软件文件格式,Android系统能够通过打开该APK格式的文件即可对其进行安装到系统中。由于Android系统的源码对外开发,对于开发者的角度来说,可以自由的去定制自己喜爱软件控件、软件架构,可以使开发者无限的发挥自己的想象去创造属于自己的软件。源码的开发某种意义上,每个开发商系统都是没有一个统一的标准,所以开发者在一系列设备上开发应用软件,但往往该软件在其他种类系列上的设备运行会出现莫名其妙的问题,正由于不同的公司厂商会根据自身的需要会对Android系统进行度身量制的剪裁、修改,例如国内小米、魅族手机里的系统都是根据自身的需求的作重点进行剪裁过。1.3.2 Java概述通常我们认为Java是简简单单的计算机编程的语言。如果要正确的给一种语言下结论定义是非常困难的,一种语言的诞生最终到底是为了用来实现事物互相间的交流,不得不说Java这种编程语言就是用来达到这种目的。1.3.3 MYSQL概述MYSQL是一种关联数据库管理系统,正是由于其具有体积小、成本低、可靠性好等特点,已经成为现在最流行的一个开源数据库。MYSQL数据库能够很好的处理。MYSQL是开源的,说明它可以由使用的人能够自由的根据自身的特点去定制修改它而达到自己的使用目的。MYSQL服务器可以嵌入到系统中去。正由于MYSQL的各种各样的好处,造就当今最流行的数据库。2 需求分析2.1 系统需求新闻阅读客户端应用系统基于Android系统的,通过了解到当今国内的互联网公司的相关的移动新闻阅读客户端应用以及考虑到用户的使用性、体验性、操作性等方面。然后根据到自身的体会认识和设计的特点,确定一个合适的基于Android的新闻阅读客户端的应用系统。应用系统要有良好的用户操作界面及具备通常应用系统的可实用性,以及应用系统所要具有的用户体验交互性。在界面设计中要尽可能的简化用户的使用操作,使用户能够更加简单、方便、快捷的使用客户端应用。应用系统要求有良好的使用抗压性、运行稳定性、框架扩展型以及日后的应用系统的可维护性,在处理网络数据通信时要尽可能的优化数据信息的传输速度。2.2 需求分析根据应用系统分析,新闻阅读应用系统的要求如下 :1. 系统需求方面分析:(1) 能够设计友好的用户体验界面,前期要把时间放在用户体验的界面上;(2) 对设计出来的用户体验界面进行舒适友好美工;(3) 能够提供各种热点分类的新闻数据信息的模块的设计;(4) 确定好良好的网络通讯方式;(5) 确定好应用系统的传输数据时所要用到的数据封装格式以及数据优化。2. 系统性能方面要求:(1) 良好的页面设计;(2) 良好的用户体验;(3) 系统安全、可靠;2.3 系统功能分析图下图是列出应用系统功能模块如图2-1所示:新闻阅读应用系统新闻后台的服务新闻服务交互服务新闻阅读客户端热点新闻财经新闻娱乐新闻体育新闻用户交互.图2-1 系统功能分析图2.4 系统模块组成2.4.1 系统功能模块本应用系统主要是有两大功能模块组成:1)后台服务端提供相对应的数据服务功能模块;2)移动设备客户端用调用后台的服务提供新闻等信息以及用户的交互功能模块。2.4.2 功能模块的实现新闻阅读应用系统功能模块的实现:1)后台Server端提供服务的功能模块主要是用MYSQL数据库服务器来作为数据源,定义实现一些HTTP请求等相关的服务来为移动客户端来调用,其中的数据是通过封装成JSON的数据格式来进行传输;2) 移动端提供的新闻阅读信息以及用户交互的模块主要是通过调用后台的服务来得到需要的相关的信息,并把传过来封装成JSON的数据进行解析出来,进行一系列的处理后展示到界面上,至于用户交互通过前段把需要的信息封装成JSON传送服务器端进过调用服务存储到数据库当中,并返回一些回调的信息。3 总体设计3.1 系统结构图新闻阅读应用系统结构图如图3-1所示:新闻阅读应用系统新闻阅读应用系统后台移动客户端应用热点新闻财经新闻体育新闻娱乐新闻其他新闻用户交互图3-1 应用系统结构图3.2 总体功能设计3.2.1 系统设计目标系统总的设计是为了达到以下目标:* 实现服务端能提供新闻数据信息的服务功能的目的;* 实现把从服务器端提供的数据分类友好的展现出来,并且提供交互的空间平台,从而达到所需要的基本需求;* 保证客户端与服务器端之间通信相对稳定;* 确保各个模块之间关联合理性;* 确保应用系统具有合理的框架。3.2.2 总体设计通过后台服务端Server提供相关新闻数据信息服务,移动客户端通过请求服务而获取所要得到新闻数据信息,确定服务端与移动客户端以网络通信方式、封装好两端通讯的网络请求数据、网络发送数据的网络数据处理模块以及把数据封装成JSON的格式去进行两处数据的相互传输,前端获取得到的数据后,通过把数据经过一系列的解析、转换传送加载到界面给予友好的展示给用户,应用系统设计的简略流程图如图3-2所示:新闻平台互联网新闻设置加载互联网数据展示互联网新闻本地新闻加载本地数据展示新闻列表展示新闻内容图3-2 应用系统简略流程图设计数据源到自定义页面组件上展示总体设计框架,把服务器端传送过来数据经过处理、转化成需要的一定数据类型后,根据页面的特点定义与之相匹配的适配器来加载到相对应的控件上,此过程大概如图3-3所示。适配器Adapter数据源Data source动态数组ArrayList列表控件ListView图3-3 应用系统数据处理一览图3.3 数据库设计3.3.1 系统数据分析通过对新闻客户端应用系统需求、总体架构方面的分析,可以得出该应用系统中要涉及到一下三个类实体:整条新闻信息实体、新闻分类、用户交互信息实体。这些实体关系到许多的新闻数据实体子项,如标题、摘要、内容、编号、发布时间、发布方式以及分类名称、编号、评论时间、记录评论的内容等相关的数据实体子项。3.3.2 系统ER图本系统一共设计规划出新闻栏目分类实体、新闻详细信息实体、新闻评论实体等实体。新闻的类别给以新闻栏目分类表来存放。其中新闻详细信息实体的E-R图如图3-4所示:新闻详细信息编号时间标题出处图片有效分类内容摘要图3-4 新闻详细信息实体E-R图新闻栏目分类实体的E-R图如图3-5所示:新闻栏目分类信息编号有效名称序列号图3-5 新闻栏目分类实体E-R图新闻评论实体的E-R图如图3-6所示:新闻评论信息评论编号内容出处时间支持数反对数新闻编号有效图3-6 新闻评论实体E-R图通过对系统实体数据关系的分析,可以画出如下E-R图如图3-7所示:新闻信息新闻分类新闻评论1n1mmn图3-7系统实体数据关系E-R图3.4 数据流图以下为应用系统的总体数据流图如图3-8所示:新闻阅读应用系统后台服务器Android移动设备客户端新闻评论信息新闻信息信息新闻摘要信息列表热点新闻财经新闻娱乐新闻体育新闻其他新闻查看评论发表评论图3-8系统总体数据流图3.5 数据字典3.5.1 新闻栏目分类表描述:新闻栏目分类表记录新闻的种类,包括两个基本项:Column Id、Column Name、Column Sequence、Column Valid等,如表3-1。表3-1 新闻栏目分类表3.5.2 新闻信息表描述:对新闻基本信息的详细记录,新闻的基本信息包括: New ID、 Column ID、New Title、New Body、New Digest、New Source、New Image、New Time和New Valid几个项,如表3-2。表3-2 新闻信息表3.5.3 新闻评论表描述:是存储评论相关信息,包括: Column Id、New Id、Discuss Time、Discuss Content、Discuss Region、Discuss Supportcount、Discuss Opposecount、Discuss Valid等几项,如表3-3。表3-3 新闻评论表4 设计思想与实现4.1 数据库操作类的构建首先定义一个数据库DataControl操作类,并为该类添加操作数据库的方法,例如构造方法DataControl()、查询方法executeQuery、更新方法executeUpdate等方法。public class DataControlprivate DataControl()propertyResourceBundle = new PropertyResourceBundle(SqlManager.class.getResourceAsStream("Config.properties");this.databaseHostIP = getString("databaseHostIP"); / 读取主机名this.databaseName = getString("databaseName"); / 读取用户名this.databaseProt = getString("databaseProt"); / 读取端口this.User = getString("User"); / 读取用户this.Password = getString("Password"); / 读取密码mysqlJdbcDrive = "com.mysql.jdbc.Driver" / 驱动datebaseConnect = "jdbc:mysql:/" + databaseHostIP + ":" + databaseProt + "/" + databaseName; / 连接串. . .public ResultSet executeQuery(String sql, Object param)ResultSet rs = null;sqlManager.setPrepareStatementParams(sql, param);rs = preparedStatement.executeQuery(); /查询return rs;public Boolean executeUpdate(String sql, Object param) boolean result = false;sqlManager.setPrepareStatementParams(sql, param);preparedStatement.executeUpdate(); /更新result = true; /设置标志return result;4.2 新闻栏目展示概要列表模块对基于Android新闻阅读应用系统而言,新闻的栏目分类对于使用者来说尤其重要,由于使用者会按照自身喜好来选择自己需要浏览的栏目新闻。通过该模块使从使用者角度来说会是更加的合理的设计。新闻栏目展示分类模块界面如图4-1所示:图4-1 新闻栏目展示概要列表模块界面图新闻栏目展示分类模块交互上,页面发送请求到后台服务器,后台服务器返回一串Json数据格式的新闻信息到移动客户端,通过解析数据等一系列的操作后展示到页面上的过程。该模块为本基于Android新闻阅读应用系统最主要主程序,其中运用到Android最常用的控件ListView用来加载新闻条目信息,至于新闻移动客户端网络请求的封装至为关键,关系到整个应用通用性,核心代码如下:参数有:基本BaseUrl和Param组成。HttpConnectionParams.setConnectionTimeout(params,connTime);/设置连接超时等待时间HttpConnectionParams.setSoTimeout(params, socketTime);/ 创建DefaultHttpClientDefaultHttpClient defaultHttpClient = new DefaultHttpClient(params);/ 建立请求HttpGet httpGet = new HttpGet(url);/ 请求返回标志status = httpResponse.getStatusLine().getStatusCode();HttpResponse httpResponse = defaultHttpClient.execute(httpGet);/ 请求返回结果response = EntityUtils.toString(httpResponse.getEntity();4.3 新闻栏目分类、刷新加载列表模块对于手机应用系统来说处理手机那窄小的有限空间来说的充分利用是很关键,新闻新闻页面上左侧菜单栏的收缩滑动菜单页面很好的解决这方面的劣势,能够充分的利用上手机屏幕上固有的小空间。数据有更新对数据重新请求重新的对相应的数据填充控件列表给予重新的载入刷新,如下图右侧的控件很好的实现该功能以及有很好的页面效果、友好的用户操作体验,该模块的页面效果如图4-2所示:图4-2 新闻栏目分类、刷新列表模块界面图(1)新闻栏目菜单收缩滑动展示分类界面的设计使用了自定义的控件和Android基本的控件去实现。其中页面上左侧菜单栏效果实现的主要代码如下:public void Menu_In(int animFromX, int animToX, int margX)move = new TranslateAnimation(animFromX, animToX, 0, 0);move.setDuration(1000);move.setFillEnabled(true);move.setAnimationListener(new AnimationListener() public void onAnimationEnd(Animation mAnimation) /定位菜单左端params.setMargins(fMargX, 0, 0, 0);movecontent.setLayoutParams(params);public void onAnimationRepeat(Animation mAnimation) public void onAnimationStart(Animation mAnimation) );/滑动菜单弹出或收起来movecontent.startAnimation(move); /确保恒定宽度的内容在菜单滑动contentParams.width.getWindowManager().getDefaultDisplay().getWidth();contentParams.leftMargin = -(menu.getLayoutParams().width);/滑动开始时内容出于屏幕位置content.setLayoutParams(params);新闻栏目左侧菜单滑动式让右侧显示视图以动画效果进行滑动,确保恒定宽度的内容在菜单滑动,通过单位定位的左侧边缘来触发滑动菜单弹出来或者收起来。(2)新闻数据更新后进行对页面上数据列表的数据刷新的实现主要通过监听刷新动作开始后。新建一个AsyncTask异步请求数据任务的去向服务器端发送数据请求。然后去触发ListView中的notifyDataSetChanged方法去把更新的数据加载到该控件上面。数据当控件进行下拉后实现数据的重新加载与更新同时体现出友好UI用户体验。其中图上的刷新控件是参考Johan写的8。下拉动作实现效果的主要的代码如下:mFlipAnimation.setInterpolator(new LinearInterpolator();mFlipAnimation = new RotateAnimation(-180, 0,RotateAnimation.RELATIVE_TO_SELF, 0.5f,RotateAnimation.RELATIVE_TO_SELF, 0.5f);mFlipAnimation.setDuration(250);(historicalY - mLastMotionY) - mRefreshViewHeight) / 1.7); mRefreshView.setPadding(mRefreshView.getPaddingLeft(),mRefreshView.getPaddingRight(),mRefreshView.getPaddingBottom();4.4 新闻详细内容加载展示模块每当用户点击选中一则新闻后页面会跳转到加载该则新闻的详细的内容的页面上,新闻详细内容加载展示模块界面如图4-3:图4-3 新闻详细内容加载展示界面图新闻详细内容的加载展示模块:主要是上一个新闻列表页面上点击某一条新闻后加载查询这条新闻的更多详细信息,通过列表上点击的新闻所得到的信息去通过后台服务去查找相对应的新闻详细信息,当中数据通过封装成Json的格式后进行传输实现数据的传送。该模块的主要设计是界面友好展示和解释后台返回回来数据,主要的解析过程是将返回数据转换成JsonObject对象,通过分析所要数据用对应的Key值来得到JsonArray数据,通过循环来得到相对应数据,数据封装成Json格式因为其具有良好的可读可以减少复杂性以及容易进行数据封装,虽然扩展性上没有XML好,但是传输效率上相对于XML等格式有一定优势,而且现在已经有很多解析和封装Json的成熟框架,例如:GSON、FastJSON之类的框架。4.5 新闻用户交互评论模块对新闻给予发表一些看法、观点并把相应数据信息保存到后台的库中,新闻用户交互评论模块界面如图4-4:图4-4 新闻用户交互评论模块界面.新闻用户交互评论模块实现:主要是把发表的内容通过请求后台的服务把数据传到后台,并且把数据写入到评论表保存起来,返回一些过程是否正常执行的数据到客户端给予用户的提示。新闻用户交互评论模块界面主要是给予用户在浏览一则新闻后发表自身见解。本界面使用一个水平竖直的LinearLayout在里边放入标题模块以及加入一个输入框,之后动态的加载发表成功Imageview来这一系列控制实现整一个页面。当用户输入自己见解点击评论按钮,页面会把输入框的内容提交到后台进行保存下来。用户可以去点击查询评论列表去查看该则新闻的详细的评论内容,关键代码如下:protected String doInBackground(Object. params) /异步请求getCommentInfo(Integer) params0, (String) params1);return null;4.6 新闻评论内容加载展示模块新闻评论内容加载展示界面如图4-5:图4-5 新闻评论内容加载展示界面新闻评论功能实现:主要是把新闻发表的内容通过请求后台的服务把数据封装成Json格式传到后台,客户端通过把数据解析出来展示到相应视图上。设计友好界面,提高用户的体验效果,通过自定义适配器给Listview,在获取新闻新闻信息并且解释后得到新闻评论条目,每一条评论对应产生一个Listview的item,里面显示新闻评论内容的TextView和发布时间的TextView。最后动态将这些新闻评论逐条加入到列表控件当中。得到界面即可做到直接展示,方便控制、又能做到美观。解析Json数据的关键代码:JSONObject jsonObject = new JSONObject(result);JSONObject jsonObject2 = jsonObject.getJSONObject("data");JSONArray newsInfoList = jsonObject2.getJSONArray("commentslist");for (int i = 0; i < newsInfoList.length(); i+) CommentInfo.setColumnId(newsObject.getString("columnId"); .4.7 互联网门户新闻浏览功能模块互联网门户新闻浏览功能模块界面如图4-6:图4-6 互联网门户新闻浏览功能模块界面互联网门户新闻浏览功能实现:通过请求互联网门户上数据到移动客户端上展示,其中,通过一个Webview以加载从互联网门户请求回来的数据,显示相应新闻,通过新闻链接来加载相对应的新闻。该模块功能实现总的来说是通过原生Android Webview来调用请求回来数据,之后就是通过相互之间链接来实现页面跳转,实现的关键代码如下:加载数据:webView.loadUrl(nowUrl);public boolean shouldOverrideUrlLoading(WebView view, String baseurl) webView.loadUrl(baseurl);nowUrl = baseurl;return true; public void onProgressChanged(WebView view, int bar) NewFrameActivity.this.setProgress(100 * bar);4.8 新闻应用退出功能模块新闻应用退出模块界面如图4-7:图4-7 新闻应用退出模块界面应用退出功能:实现把应用关闭并把运行过程产生的缓存释放以及应用相关活动关闭。5 系统测试与运行5.1 系统运行环境经过对系统分析和测试,建议系统具有如下配置,确保系统能够稳定运行。(1) Pentium 4以上CPU,512MB以上内存,80GB硬盘。(2) Android 2.2以上版本的手机。软件环境Windows XP/7,Linux等操作系统5.2 系统测试5.2.1 测试目的在每一系统或者应用开发完后都是离不开对系统或者应用深入细致的测试,如果到了软件上线之后,发现问题或者其问题是严重,往往会以至于整个开发团队或者公司会照成严重的打击。所以为了保证应用或系统的稳定、健壮和正常的运行,要对应用或者系统施展详细细腻的测试。(1)从用户角度出发,希望通过软件测试发现软件中存在的错误和不完善的地方,如用户界面体验上是否合理,例如新闻视图是否分布合理、新闻列表展示是否合适友好美观直观的展示给用户浏览,用户在页面操作上是否符合大众用户的使用习惯,例如页面上展示新闻的信息布局方面是否合理以及新闻浏览信息页面上操作展示方式是否合理符合用户的使用的主观性,测试页面的时候要注意页面上是否会存在页面加载数据会出现页面闪烁的问题,测试页面上的操作是否会出现操作点击后会产生明显的反应迟钝的一些不利于用户友好体验的问题情况,最终要的是是否能可以稳定的使用产品。基于Android新闻阅读应用系统_第2部分 总文字复制比:0%(0) 总字数:3119(2)从软件开发者出发,验证该软件是否很好的吻合用户的需求,应用系统网络请求封装是否合理,网络请求的异常处理是否合理,自定义控件设计数据加载是否存在问题,网络请求失败后,应用软件是否出现空指针或者死循环不断的请求使应用软件闪退,测试软件是否在运行时内存一直的不断的增加,使到机器的内存空间不断被压缩,而导致应用软件抛出内存溢出的问题,测试中注意页面数据刷新后,是否会出现数据的清楚或者页面上数据出现相互叠加以