基于Android的新闻APP设计与实现_第1页
基于Android的新闻APP设计与实现_第2页
基于Android的新闻APP设计与实现_第3页
基于Android的新闻APP设计与实现_第4页
基于Android的新闻APP设计与实现_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE28PAGE26基于Android的新闻APP设计与实现摘要随着当今社会发展迅速,手机的便携性使其高度普及。此外使用传统的纸质媒体向如不惜携带、更新采购成本和其他问题,不能再满足用户的需求。本篇文章讲述基于Android平台设计和实现新闻信息软件。该软件的功能类似于新闻、视频等的可视化。该系统具有友好的接口、简单的操作、维护和扩展,可以在不修改原始代码的情况下添加新的功能模块。关键词新闻客户端;软件设计;系统开发;Android;1绪论新闻APP的概述随着科学技术的高速发展以及互联网技术的日益成熟,传统媒体逐渐被新媒体替代,新媒体占据着日常生活的大部分时间。尤其是以智能手机为主的产品已经逐渐涵盖了日常生活的方方面面。比如,我可以利用手机上的APP及时地获得最新的资讯,从这些资讯中了解国内、国际上的大事。通过新闻APP,我们不仅能够增长自身的知识储备与阅历,还能提高自身的逻辑思维能力。不得不承认,新闻应用的诞生和传播时间不长,相关法律法规不完善,以及新闻内容的采纳和组织,在策划上存在一些缺陷,直接导致一些“牛皮”广告的插入在应用内,在新闻应用程序中运行购物卡。这些广告很容易误导一些分辨能力不强的人。由于互联网技术日新月异,许多新闻APP为了提高自身的盈利水平,随意发布一些未核实的新闻,传播消极能量和不好的价值观,使人们受到了严重地误导。在新媒体时代,新闻APP尽管存在某些缺陷,但是其仍发挥着巨大影响力,也不能否认在当今社会,新闻APP已经是人们了解信息的重要方式。人们可以再手机上下载新闻类APP便可获得实时的新闻资讯,非常快捷方便。本项目所计划的新闻APP目标是为用户供给最新的消息内容,同时能让用户体验到便当的生活服务、智能的算法和良好的用户体验。通过这个新闻APP,用户可以更好的利用零散时间去了解资讯,通过跟网友互动加深对新闻内容的认知,从而获得更好的阅读体验。1.2课题研究现状2012年,互联网技术日新月异,在4G时代和智能设备的高度普及,移动端应用程序吸引了大量用户,网民数量激增。在国外,有人发现新闻APP在生活上是影响用户占比较大的组成部分,由于新闻类APP的快捷方便使得人们更愿意了解新闻。我国闻名学者张光凯钻研过消息客户端的盈利模式。他指出新闻客户端应与其他通信运营商相结合。与此同时,有人提出传统新闻应该以自身为主,多创作新内容强化突出自身的优势。目前国内新闻APP增加速度越来越快,根据国内研究人员的结论,我国当下新闻类APP存在的问题是文章如何提高质量和给用户最好的体验。1.3研究目的和意义随着移动互联网的迅速发展,人们逐渐远离纸质版媒体工具而转向通过手机查看最新资讯,手机查阅资料获得信息显得尤为方便。新闻类APP的兴起也给现代人的日常活动增添了更多趣味。本课题为实现用户方便、快捷的阅读新闻资讯的要求来设计一款能为用户提供一款可以获取最新资讯的新闻APP,使用户对新闻资讯的需求得到满足。在这个信息爆炸的时代,能否及时获得信息并正确有效的分析信息能为一个人在社会竞争中取得优势。优异的新闻APP应当为用户提供最真实客观消息内容,同时能给用户带来最不错的用户体验。用户下载安装此软件,注册、登录账户后就能方便快捷的浏览多种形式的新闻内容,还能收藏自己感兴趣的文章。通过这个APP,用户可以更好的操纵零星时间浏览感兴趣的内容,还可以评论自己的观点来跟网友辩论,增加提高阅读效率,从而取得不一样的浏览体验。2主要用到的技术和工具2.1Android简介Android是一个无需付费即可使用的操作系统的名称。它以Linux为内核,Google公司开放了它的源代码。它可以分为三部分。最底层Linux内核是由C语言来开发完成的,只提供基本功能,所述中间层包括库和虚拟机的虚拟机,一个C++开发。最上层是各种系统应用,如浏览器,短信程序等。安卓翻译为“机器人”一词,起初Android用于手机上,经过研究升级,逐渐出现在其他移动设备上,是当前系统市场上最大的平台。Android操作系统的可修改性满足用户个性化的需求,手机界面可以由用户自主选择,用户可以自己在市场上选择自己心仪的第三方程序,让自己的设备与众不同。2.2Flutter相关介绍和Tomcat配置Flutter是一款移动应用开发框架,它由Google发布,并且开放了源代码。它最大的亮点是跨平台、高保真、高性能。其使用Dart作为开发语言,仅需一次开发高复用度的代码可在iOS和Android两大平台使用,大大提高了代码的可复性用。同时Flutter能够调用原生控件,这使得用户体验度提高了一次层次。Flutter与其它框架不同,其他框架大多使用原生组件渲染。而Flutter使用的是自己的引擎来绘制Widget。由于使用的是一套代码,在Android和iOS上的用户界面基本相同,而且在降低维护成本上能体现出更明显的优势。Flutter的引擎利用的是Skia,Skia是Google的一个函数库,用于绘制2D图形,并具有高性能的特征,Skia是跨平台的,并开放了很多不错的API,现在越来越多产品都采用Skia来进行产品的图像处理。Flutter高性能主要靠两点来体现。首先,Flutter使用Dart编程语言来开发APP。在即时编译的情况下,速度方面与JavaScript相比基本相等。但是Dart可以在AOT模式下使用,在AOT模式下JavaScript的运行情况远不如Dart。在高帧率下越高的速率视图数据刷新就越快。其次,Flutter使用自己的引擎来绘制Widget,Dart能立即操纵布局数据,因此布局过程同RN相比少了要在JavaScript和Native相互通信的步骤,在滑动和拖动的情况下优势功能体现,因为在滑动和拖动时都布局会大量变化,JavaScript需要和Native需要一直频繁传输最新数据,在Flutter中不需要这样的通信,大大节省了时间,使用户使用起来更加流畅,性能更高。Tomcat是一个开放源代码、可以运行基于Java的应用软件容器。Apache是Tomcat的项目支持,实际维护是由社区的志愿者来完成的。越来越多项目利用的是TomcatServer。从战略上来讲,Sun公司全力支持的Tomcat已经算是一个比较理想化的开发平台了。在公司大力支持支持下,Tomcat能成为一个Web项目的主流平台。2.3MySQL简介MySQL是Oracle旗下的一款受人喜爱的一个关系型数据库管理系统,MySQL是对外开发源代码的,并且是无需付费即可使用的,MySQL本身优化了SQL的查询算法,使得查询的速度被大大提高,消耗的资源大大减小。MySQL可以使用权限控制为不同的用户设置不同的权限来管理用户。数据库角色是使用数据库用户集合的称呼。所以作为数据库的用户往往能够使用数据库角色的绝大多数功能。数据库最经常使用的操作便是增删改查,我们可以根据需要添加,删除等数据库数据来。由此来管理数据库的数据。3系统的可行性论证及需求分析3.1系统可行性研究可行性分析的总体概况是看项目开发是否可行,一般从技术角度、经济角度、操作方面来判断。从上述三个方面分析,可以大大降低项目开发的风险。在项目开发初期,预测可能的困难并提出相应的解决方案。1.技术可行性技术可行性应检查现有技术条件是否能顺利完成开发工作,软硬件配置是否满足开发需要,本系统采用Dart开发语言,学习成本低,极其容易学习,调试简单,目前的硬件配置完全可以满足开发的需要,所以在技术上是绝对可行的。软件方面:客户端使用AndroidStudio开发,服务器使用IntelliJIDEA加Tomcat开发,软件开发平台是成熟可行的。它们具有速度快、容量大、可靠性高、价格低廉等特点,完全可以满足系统的需求。2.经济可行性系统开发所需的数据可以通过现有的相关系统进行采集,其他应用软硬件系统也很容易获得。AndroidStudio,IntelliJIDEA和Tomcat等都有免费版本,完全可以满意日常开发的需要。3.2系统功能需求分析新闻APP主要功能如下简述:1、登录注册模块:关于使用本系统用户的个人基本信息,密码修改等。2、新闻资讯模块:主要是新闻资讯的展示和详情的浏览,以及评论,收藏和分享等。3、视频浏览模块:主要是对视频新闻的展示等。4、新闻发布模块:主要是管理员用户对新闻资讯的上传发布等。4数据库设计4.1系统E-R图由于显示信息是根据具体的数据管理模式直接组织的,需要同时考虑很多因素,设计工作非常复杂,效果也不是很理想,因此需要一种方法,E-R方法是一种实体关系方法,其工具是E-R图,E-R图由实体、实体属性和实体关系三部分组成。新闻APP的各个实体的E-R图如下:用户实体包含编号,用户名,密码,绑定手机号,用户类型E-R图如图4-1所示:图4-1用户实体E-R图分类实体包含编号,类型名称E-R图如图4-2所示:图4-2分类实体E-R图收藏实体包含编号,新闻编号,用户编号E-R图如图4-3所示:图4-3收藏实体E-R图评论实体包含编号,用户名,用户编号,新闻编号,评论时间,评论内容E-R图如图4-4所示:图4-4评论实体E-R图新闻实体包含编号,新闻缩略图,新闻标题,新闻描述,新闻内容,新闻分类名称,新闻分类编号,新闻分享链接E-R图如图4-5所示:图4-5新闻实体E-R图版本实体包含编号,应用版本号,应用升级描述,应用下载链接E-R图如图4-6所示:图4-6版本实体E-R图视频实体包含编号,视频标题,视频链接,视频信息E-R图如图4-7所示:图4-7视频实体E-R图图4-8新闻APP整体E-R图4.2数据库表设计数据库技术的应用已经成为计算机科学和计算的重要组成部分,本系统采用MySQL后台数据库。MySQL是Sun公司开发的一个关系型数据库管理系统,用于减少打开和关闭数据库操作对性能的影响。数据库在物理设备上的存储结构和访问方法称为数据库的物理结构,它取决于给定的计算机系统,为给定的逻辑数据模型选择最合适的物理结构,经过上述实体关系分析和E-R图,可以得到新闻APP系统的数据库表。User表如表4-1所示:表4-1User用户信息表字段类型备注Idint主键User_namevarchar用户名User_pwdvarchar密码User_phonevarchar绑定手机号User_typevarchar用户类型Cateory表如表4-2所示:表4-2category分类信息表字段类型备注Idint主键Cate_namevarchar类型名称Collection表如表4-3所示:表4-3collection收藏信息表字段类型备注Idint主键User_idint用户编号News_idint新闻编号Commit表如表4-4所示:表4-4comment评论信息表字段类型备注Idint主键User_idint用户编号News_idint新闻编号Contentvarchar评论内容Commit_timedatatime评论时间User_namevarchar用户名 News表如表4-5所示:表4-5news新闻信息表字段类型备注Idint主键news_picvarchar新闻缩略图news_titlevarchar新闻标题news_descvarchar新闻描述news_contenttext新闻内容news_categoryvarchar新闻分类cate_idint类型编号news_share_urltext新闻分享链接 Version表如表4-6所示表4-6version版本信息表字段类型备注Idint主键apk_numvarchar应用版本号apk_descvarchar应用升级描述apk_urlvarchar应用下载链接 Video表如表4-7所示表4-7video视频信息表字段类型备注Idint主键video_titlevarchar视频标题video_contentvarchar视频链接video_infovarchar视频信息5系统详细设计5.1登录注册功能设计注册界面是系统中较为重要的界面之一,其安全性更为重要,是用户保证系统安全的通道,在系统设计中需要额外的关注。页面的顶部采用的是Stepper(步骤条)来引导用户进行注册。第一步是获取并验证手机号,输入框采用TextFormField(输入框)来获取和校验输入框的内容,验证的方式采用正则表达式确认输入的内容为手机号,若用户不填写手机号时点击确认按钮,输入框会提示错误。若用户填写的是正常的手机号,点击确认后应用会调用后台的接口查询该手机号是否已经被使用,如果未被使用,应用会向该手机号发送一条带有验证码的短信,该验证码是应用内随机生成的。若手机号已被利用过,则提醒用户该手机号已存在。用户进入第二步后,标题的内容是提醒用户输入验证码,用户可在输入框内输入短信收到的验证码,若用户由于某种原因未获取到验证码,亦可点击输入框右边的重新获取按钮获得新的验证码。输入框存在着非空校验,若不输入验证码点击确定不会进入第三步,若输入错误验证码,则会提示验证码错误。用户输入对应的验证码后点击确定按钮会进入第三步。第三步界面上有两个输入框,输入框内提示用户输入对应的内容,输入密码时采用密文,以此来保护用户隐私,使用户有更好的体验。用户输入用户名和密码后点击确认按钮,应用会调用后台接口查询该用户名是否已经存在,若存在则提示该用户名已存在,若不存在,则会向数据库的User表插入一条数据。下面是注册界面的截图:图5-1用户注册截图具体实现及相关代码:if(_formKeyTel.currentState!=null&& _formKeyTel.currentState.validate()&& _currentIndex==0){ vardata=awaitDioUtil.getDio(ContentValues.CHECK_TEL, queryParameters:{"tel":this._tel}); if(data.toString().isNotEmpty){ showToast("该手机号已被注册"); return; }else{ SpUtil.setString("tel",this._tel); _smsCode=SmsUtil.randomBit(4); awaitSmsUtil.getMsgCode(_tel,_smsCode); setState((){ _telController.text=_tel; _currentIndex++; }); }}if(_currentIndex==1&&_smsCodeController.text.isNotEmpty){ if(_smsValue==_smsCode){ //验证码输入正确 setState((){ _smsCodeController.text=""; _currentIndex++; }); }else{ //验证码输入错误 showToast("验证码输入错误"); }}登录界面亦是系统中较为重要的界面之一,其安全性同样重要。登录界面整体采用上下结构,顶部是登录标题,右侧的”X”是退出按钮,点击该按钮后应用会退出,直接返回桌面。往下分别是用户名和密码的输入框,其中密码的输入框为密文。再往下分别是忘记密码按钮和记住密码多选框,若用户忘记密码可点击忘记密码进行重置密码操作,当勾选记住密码登录后,下次登录界面会出现上次登录的用户名和密码。下面的登录按钮采用的是蓝色背景加圆角,使界面更加有亲和力。登录按钮下面的注册按钮,采用白色背景蓝色边框以及圆角,登录按钮和注册按钮形成鲜明的对比,强调按钮的提示功能,有效减少用户的失误操作次数。点击登录按钮后,程序会获取用户名输入框和密码输入框的内容若通过校验,则会调用后台接口进行验证,若验证通过则跳转至主页面,并将用户信息通过键值对存储在内存中以便后续使用,若验证不通过则提示用户名或密码错误。点击注册按钮后界面会跳转至注册界面。登录界面如图5-2所示:图5-2用户登录截图具体实现及相关代码:Padding( padding:EdgeInsets.only( left:ScreenUtil().setWidth(40),right:ScreenUtil().setWidth(40)), child:ListView( children:<Widget>[ Padding( padding:EdgeInsets.only( top:ScreenUtil().setWidth(20), ), child:formTextField(), ), SizedBox(height:ScreenUtil().setHeight(20)), secondWidget(), SizedBox( height:ScreenUtil().setHeight(50), ), loginBtn(), SizedBox( height:ScreenUtil().setHeight(30), ), registerBtn() ], ),5.2新闻资讯和详情功能功能设计新闻资讯界面即为主页面。是整个系统的根本,整体采用蓝色风格,最顶部使醒目的新闻标题,往下便是标题栏,其中标题栏的内容是从后台接口中获取的动态数据。每个标题下都对应着该分类下的新闻类型。第一栏下是轮播图加列表,其中轮播图使用的是flutter_swiper插件,该插件与Android中的第三方库Banner相似。轮播图显示了指示器并且自动无线翻页。新闻列表数据从后台获取并展示,每个条目由图片,标题和描述组成,标题最多显示一行,多余的部分会用省略号代替。描述至多容纳下两行,剩余的部分会表现为省略号。新闻资讯如图5-3所示:图5-3新闻资讯截图在该页面向下拉,会出现下拉刷新指示器,向上拉会出现上拉加载更多的提示,若没有更多的新闻资讯会提示“没有更多了”。新闻资讯加载更多如图5-4所示:图5-4新闻资讯加载更多截图具体实现及相关代码:TabBarView(controller:_tabController,children:[ EasyRefresh( header:MaterialHeader(), controller:_easyRefreshController, child:_firstBody(headNewsList), onRefresh:()async{ _getFirstBodyData(1,1,headNewsList.length??10); }, onLoad:()async{ intcount=await_getFirstBodyData(1,++headPageNum,10, more:true); if(count==0){ showToast("没有更多了"); } }),],)点击某个新闻条目后会跳转至新闻详情页面。新闻详情由HTML渲染,渲染HTML使用的是flutter_html插件,该插件可解析大部分HTML标签。新闻详情页面如图5-5所示:图5-5新闻详情截图具体实现及相关代码:Stack(children:<Widget>[ ListView( children:<Widget>[ Html(data:""" ${widget.arguments['content']} """), SizedBox( height:ScreenAdapter.height(30), ), Container( height:ScreenAdapter.height(50), color:Colors.grey, padding:EdgeInsets.only(left:10), child:Text('评论', style:TextStyle(fontSize:ScreenAdapter.size(30))), ), ListView.builder( itemCount:commentList.length??0, itemBuilder:(context,index){ returnColumn( children:<Widget>[ ListTile( title:Text('${commentList[index].userName}'), subtitle:Text('${commentList[index].content}'), trailing:Text('${commentList[index].commitTime}', style:TextStyle(color:Colors.grey)), ), Divider(height:1) ], ); }, shrinkWrap:true, physics:NeverScrollableScrollPhysics(), ), Container( height:ScreenAdapter.height(120)), ],)5.3新闻评论分享和收藏功能设计该页面底部有三个常驻控件组成,分别是写评论按钮,收藏按钮,分享按钮。点击评论按钮后会弹起一个BottomSheet,其中左侧是输入框,用于输入评论,右侧是发送按钮,输入评论后点击发送按钮,发送按钮进行非空校验后调用评论接口并刷新评论,成功评论后会提示评论成功,将新闻详情页面滑动到最底部可看见当前新闻的所有评论,评论由时间倒序排列,评论列表同时显示评论人的用户名和评论内容以及评论时间。新闻评论如图5-6所示:图5-6新闻评论截图具体实现及相关代码:Container( padding:EdgeInsets.fromLTRB( ScreenAdapter.width(20), ScreenAdapter.height(5), ScreenAdapter.height(20), ScreenAdapter.height(10), ), height:ScreenAdapter.height(60), width:ScreenAdapter.width(300), decoration:BoxDecoration( borderRadius:BorderRadius.circular(32), border: Border.all(color:Colors.grey,width:1)), child:Text('写评论', style:TextStyle(color:Colors.grey)), ) 用户点击收藏按钮后会将当前页面收藏,同时收藏按钮会亮起并提示收藏成功,收藏的新闻可以在个人中心页面我的收藏中找到。用户点击分享按钮后会弹起可分享的选项,用户可选择合适的途径分享新闻的链接。新闻收藏如图5-7所示:图5-7新闻收藏截图具体实现及相关代码:IconButton(splashColor:Colors.white,highlightColor:Colors.white,color:isConllected?Colors.yellow:Colors.grey,tooltip:"收藏",icon:Icon(Icons.star),onPressed:()async{ try{ if(isConllected){ await_getConllectionInfo( ContentValues.DELETE_CONNECTED_URL);//删除 showToast("取消收藏成功"); }else{ await_getConllectionInfo( ContentValues.INSERT_CONNECTED_URL);//新增 showToast("收藏成功"); } await_getConllectionInfo( ContentValues.CONNECTED_URL); }catch(e){ print(e); }//获取当前用户是否已经收藏该新闻}),IconButton(splashColor:Colors.white,highlightColor:Colors.white,color:Colors.grey,tooltip:"分享",icon:Icon(Icons.share),onPressed:(){ Share.share( '热点新闻:${widget.arguments['news_share_url']}');})5.4自动更新和手动更新功能功能设计用户打开应用时,应用自动检车是否需要更新,即将当前应用的版本号与服务器最新版本号对比是否相等,若相等则正常进入登陆页面,若不相等则提示更新信息,用户可根据需要是否更新。同时,用户可以点击个人中心页面中检查版本条目来手动更新。自动更新如图5-8所示,手动更新如图5-9所示:图5-8自动更新截图 图5-9手动更新截图具体实现及相关代码:_checkVersion()async{ print('开始检查版本信息'); try{ vardata=awaitDioUtil.getDio(ContentValues.LASTEST_VERSION); //最新版的版本对象 VersionModelmodel=VersionModel.fromJson(data); PackageInfopackageInfo=awaitPackageInfo.fromPlatform(); Stringversion=packageInfo.version; if(model.apkNum!=version){ AlertDialogWidget.showAlertDialog(context, title:"发现新版本", content:model.apkDesc, leftText:"立即更新", rightText:"下次再说",leftPressed:(){ _updateNow(model.apkUrl,"hotnews4.apk"); },rightPressed:(){ Navigator.pop(context); Navigator.pushReplacementNamed(context,'/login'); }); }else{ Navigator.pushNamedAndRemoveUntil( context,'/login',(Route<dynamic>route)=>false); } }catch(e){ print('请求异常'); showToast("服务器连接异常"); }}5.5切换账号和修改个人密码功能设计用户将底部导航切换到“我的”时,会出现与个人信息相关的列表,点击切换账号时会提示对话框进行确认退出登录,切换账号如图5-10所示。点击重置密码时会跳转到重置密码页面,输入手机号后获取并输入正确的验证码即可修改成为输入的新密码,重置密码如图5-11所示。图5-10切换账号截图图5-11重置密码截图具体实现及相关代码:AlertDialog( title:Text('切换账号'), content:Text('是否要退出当前账号前往登录页面'), actions:<Widget>[ FlatButton( onPressed:(){ Navigator.pushNamedAndRemoveUntil(context, '/login',(Route<dynamic>route)=>false); }, child:Text('确定')), FlatButton( onPressed:(){ Navigator.pop(context); }, child:Text('取消')) ], ) void_checkInfo()async{if(_inputCode!=_smsCode){showToast("验证码错误");}else{vardata=awaitDioUtil.getDio(ContentValues.UPDATE_PWD_BY_TEL,queryParameters:{"tel":_tel,"pwd":_newPwd});if(data){showToast("修改成功");Navigator.pop(context);}else{showToast("修改失败");}}}else{showToast("请输入正确信息");}5.6视频播放功能设计用户将底部导航切换到“视频”时,会出现与视频列表。视频列表由视频和视频标题组成。视频播放器支持播放,暂停,设置音量,拖动进度和横屏观看。视频列表使用了分页加载,每次加载两个视频。视频播放页面如图5-11所示。图5-11视频播放页面截图具体实现及相关代码:_getVideoData(intnum,intsize,{boolloadMore=false})async{vardata=awaitDioUtil.getDio(ContentValues.VIDEO_URL,queryParameters:{"pageNum":num,"pageSize":size});ResultVideovideo=ResultVideo.fromJson(data);if(loadMore){setState((){videoList.addAll(video.data);for(VideoModelvinvideo.data){print(v.videoContent);VideoPlayerControllervideoPlayerController=VideoPlayerCwork(v.videoContent);setState((){videoPlayerControllerList.add(videoPlayerController);});}});}returnvideo.data.length??0;})5.7管理员发布新闻和视频功能设计管理员用户登录后将底部导航切换到“我的”时,个人信息列表会出现“上传发布”选项,点击后管理员用户可以选择发布视频或发布新闻,当填写完回应的信息后点击发布按钮即可上传数据。发布视频页面如图5-12所示,发布新闻如图5-13所示:图5-12发布视频页面截图图5-13发布新闻页面截图具体实现及相关代码:_uploadVideo( Stringtitle,Stringdesc,Stringcontent,StringcategoryId)async{ try{ FormDataformData=FormData.fromMap({ "title":title, "desc":desc, "content":content, "categoryId":categoryId, "upload":awaitMultipartFile.fromFile(_image.path) }); varresult=awaitDio().post(ContentValues.UPLOAD_NEWS_URL, data:formData,onSendProgress:(intcount,inttotal){ setState((){ _value=count.toDouble()/total.toDouble(); }); }); returnresult.data; }catch(e){ showToast("请求异常,请重试"); setState((){ _enable=true; _value=0; }); }})6系统测试软件测试的目的,首先是确认Android新闻客户端是否能运行,其中一个方面是确认软件是否完成了这些功能的设计。第二是提供信息,如提供反馈信息,看看上述哪些步骤可以精简,科技改进。第三是测试新闻客户端本身,而且还包括整个开发过程。如果这个新闻客户端的开发完成后有很多问题,那就显示出这个开发过程有漏洞。 将真机连接上AndroidStudio并点击启动按钮来启动应用,等待片刻后应用安装完成并自动启动。首先加载闪屏页如图6-1所示图6-1闪屏页截图点击注册按钮,填写注册信息后成功登录,进入主页面,具体效果如图6-2所示:图6-1闪屏页截图 上拉刷新和下拉加载更多新增的数据显示正常,点击视频导航可查看视频列表,点击播放可正常播放视频,点击我的导航可以正常使用功能。经过一系列测试,本新闻客户端软件基本完成了预期的功能,系统的稳定性也较好。7结论新闻APP作为新兴媒介的出现,以及成为人们阅读新闻的重要途径。新闻类APP的兴起也给现代人的生活增添了许多色彩。大多数人选择足不出户就能了解到各种时事新闻。本项目就是做到了让用户方便、快捷的阅读新闻资讯,是一款能为用户提供一个随时随地获取资讯的移动平台,能满足使用者个性化的需求的高端手机新闻类软件。参考文献[1]刘丰年.

手机新闻直播客户端的设计与实现[J].安徽电子信息职业技术学院学报,2018(02)[2]党君.

移动新闻客户端的用户体验分析[J].

编辑之友,2015(09)[3]胡庆平等.移动新闻客户端用户采纳影响因素研究[J].云南财经大学学报.,2015(04)[4]程丽蓉等.移动客户端对于新闻媒体发展的利弊分析[J].

编辑之友,2016(06)[5]梅从圣等.基于Android系统的记账软件的设计与实现[J].纳税,2018(05).[6]祁麟.Android软件开发关键性问题探析[J].中国设备工程,2019(14).[7]宋小明等.基于安卓的掌上校园客户端设计初探[J].信息与电脑(理论版),2014(10).[8]陈泽恩.Android校园网移动客户端的设计及实现探索[J].中国新通信,2013(12).[9]胡永华等.移动校园新闻客户端的设计与实现[J].信息通信,2015(01).[10]郝杰忠.Java实例项目开发[M].北京:机械工业出版社,20

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论