基于Android技术的网络视频播放器的设计与实现——毕业论文_第1页
基于Android技术的网络视频播放器的设计与实现——毕业论文_第2页
基于Android技术的网络视频播放器的设计与实现——毕业论文_第3页
基于Android技术的网络视频播放器的设计与实现——毕业论文_第4页
基于Android技术的网络视频播放器的设计与实现——毕业论文_第5页
免费预览已结束,剩余33页可下载查看

下载本文档

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

文档简介

聊城大学本科毕业论文本科毕业论文(设计)题 目基于Android技术的网络视频播放器的设计与实现 专 业 软件工程 作者姓名 学 号 单 位 计算机学院 指导教师 年 月 教务处编目 录目 录2摘 要3Abstract4前 言1第一章 绪 论11.1 课题研究背景与意义21.2 Android的发展及前景21.3 系统设计的目标及基本思路11.4 本论文的结构和主要工作1第二章 基础知识简介22.1 Android简介22.2 Android开发平台及相关技术32.2.1 Android开发环境32.2.2 volley开源框架42.2.3 Material Design介绍6第三章 系统分析及系统结构与设计与实现73.1 系统分析73.1.1系统可行性分析73.1.2系统需求分析83.2 系统结构设计83.3 系统实现133.3.1起始页与主页模块133.3.2视频详情模块143.3.3播放器模块153.3.4优化模块16第四章 软件测试174.1测试环境和条件174.2测试过程174.3测试结果分析28结束语29参考文献29致 谢30摘 要如今,随着基于Android操作系统智能手机的广泛应用,视频播放器已经成为每一部手机必备的应用,手机用户迫切希望一个可以在线观看的视频播放器。因此,设计一个基于Android手机的在线视频播放器,具有重要的现实意义。本文详细介绍了视频播放器程序的设计思路,设计方案,系统结构和项目工程结构,阐述了系统各个模块功能的设计与实现。使用Android Studio软件对完成详细代码和进行相关性测试,使用了开源框架和MD设计风格。根据对于Android手机网络视频APP功能的了解和分析,从功能和实用的角度出发,设计并实现Android视频播放器,以哔哩哔哩手机客户端为主要分析对象,对哔哩哔哩手机客户端进行模块划分,从功能多样性角度考虑,尽可能添加一些附加的设计方案并实现。关键词: Android;视频播放器; Android Studio;模块功能AbstractNowadays, with the widespread use of Android-based smartphones, video players have become a must for every mobile phone, and mobile phone users are eager to watch a video player that can watch online. Therefore, the design of an Android mobile phone based on the online video player, has important practical significance.This paper introduces the design idea, design scheme, system structure and project structure of the video player program in detail, and expatiates the design and implementation of the function of each module of the system. Using the Android Studio software to complete detailed code and correlation testing, using the open source framework and MD design style. According to the Android mobile phone network video APP function understanding and analysis, from the functional and practical point of view, the design and implementation of Android video player to beep bike mobile phone client as the main analysis object, the beep whisper mobile client For the division of modules, from the perspective of functional diversity, as much as possible to add some additional design and implementation.KEY ORDS: Android;Video player;Android Studio;Module function聊城大学本科毕业论文基于Android技术的网络视频播放器的设计与实现前 言随着中国智能手机的普及以及移动互联网的发展,手机已经成为人们生活中非常重要的一部分,手机已经不是过去传统意义上的通讯产品,而是更多承载了人们的娱乐、消费、商务、办公等活动。其价值已经远远超过手机本身,而且Android系统的占有率在一直增加,所以,基于Android操作系统智能手机的广泛应用,视频播放器已经成为每一部手机必备的应用。Android自带的播放器往往存在着功能简单,界面简陋等特点,已经远远不能满足当代人日益增长的视觉功能需求,人们更希望用视频播放器看到丰富的内容,人们更希望用播放器享受更高质量的视频服务,而且需要更便携的方式,那就是Android的网络播放器。第1章 绪 论随着4G时代的来临及WIFI网络的普及,在安卓手机市场下载手机播放器看视频俨然成为了一种趋势和时尚。1.1 课题研究背景与意义在这个信息化时代,IT行业已经成为世界发展的主流,我们对网络的依赖也远远超过了对其他媒体设施的依赖,计算机和手机已经成为了我们日常生活中不可或缺的获得信息的渠道。正因为如此,各种各样的软件层出不穷,让我们的生活变得丰富多彩起来。而作为集通讯与娱乐消费为一体的之能手机,网络视频的播放和推送也变得不可或缺,随着4G网的普及,我们更多的时间是在网络上,我们日常生活中常用到看到的,爱奇艺,优酷,乐视,A站,B站等视频网站都有着自己的手机端APP,因此开发一款界面友好、绚丽、功能多样化的网络视频APP更好的贴近用户,满足用户需求,其应用前景也是相当乐观的。1.2 Android的发展及前景Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2012年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。由此可见,Android占有非常可观的市场前景。具有开源特性的Android平台打破了之前Symbian、Windows mobile等操作系统收取高额授权费用的模式,使得智能手机成本大大的降低。而正是由于它开放源代码,使得手机产生更多个性化的应用。同时,合作方能够在这里得到利润或者创造价值,手机软件行业得到维护协调发展。以Google、苹果和诺基亚为中心各自形成的生态链将以原来数倍的速度推动移动互联网的发展,这正是Google发布Android平台的意义,也是Android平台存在的使命所在。作为Android平台成员之一的中国移动也投资成立了一家通讯公司,专门从事Google手机软件的应用以及本地化的软件的开发,比如将在Google手机平台上添加飞信、 输入法等一系列符合国内用户使用特色的功能。国内众多企业也将眼光投入到Android上面,并启动了相关的计划来深入的理解并发展Android。更多的手机软件开发企业已经或者筹备着将公司进行转型,从其他方向的开发转向到Android的开发。由此可见,无论是在国内还是在国外,Android平台对手机软件行业和移动手机平台 将发挥极大地推动作用,而在未来的几年时间里,Android将越发的凸显自己的重要性。目前国内的Android开发还是主要以应用开发为主,主要分成3类:为企业开发应用、开发通用应用(放到Android Market或者其他App Market销售)以及游戏开发(放到Android Market或者其他App Market销售)。第一类开发者一般身处规模较大的公司,这些公司主要为自有品牌或者其他品牌设计手机或者平板电脑的总体方案。除了根据需求对系统进行定制外,更多的工作在于为这些系统编写定制的应用。第二类开发者,一般处于创业型公司或者是独立开发者,他们的盈利方式主要是2种:为国外公司进行外包开发,或者通过Google的移动广告(AdMob)通过广告点击分成。而理论上的通过付费下载的形式来盈利的,现在国内鲜见成功者。第三类开发者,目前和第二类开发者类似。31.3 系统设计的目标及基本思路本次毕业设计使用Android Studio搭建的Android开发平台环境,开发语言为Java语言。需要开发出基于Android平台的网路视频应用程序,并能够在Android手机上运行。基本思路介绍如下:第一步:程序运行时进入主Activity,查看从服务器上获取到推送的视频,选择一个视频;第二步:进入视频详情页面,点击播放开始播放视频;第三步:播放视频,此时可以调节音量、进度,暂停播放,锁屏等等操作;第四步:播放完成后,此时可以选择进入下一个视频的播放或者退出程序。1.4 本论文的结构和主要工作本文主要由:中英文摘要、目录、绪论、课题相关技术介绍、系统可行性分析、系统需求分析、程序实现、测试、结束语、参考文献、致谢语以及附录构成。第一章绪论主要分析和介绍背景、毕业设计主要研究的问题以及系统设计的目标及基本思路。第二章主要介绍毕业设计的相关技术。第三章是系统分析以及系统功能的设计与实现,其中包括系统可行性分析和系统需求分析。第四章是程序测试和结果的分析与研究等。最后对全文进行了总结和展望,附录部分为主要功能的函数源代码。本课题的研究目的就是要通过对基于Android平台的网络视频APP的设计与实现,探讨该系统的实现过程,以有效满足Android手机用户在视频播放和推送中常见的需求。本课题的主要内容为:(1)根据对Android手机网络视频APP功能的了解和分析,从功能和实用的角度出发,设计并实现Android视频播放器,以哔哩哔哩手机客户端为主要分析对象;(2)对哔哩哔哩手机客户端进行模块划分;(3)对各模块分析并设计、实现;(4)从功能多样性角度考虑,尽可能添加一些附加的设计方案并实现。第二章 基础知识简介2.1 Android简介Android是“机器人”的意思,是Google公司于2007年11月5日发布的一个机遇Linux平台的开源手机操作系统。该系统由底向上一共分为了4层,如图2-1。每一层对把底层实现封装,并提供调用接口给上一层。 图2.1 Android系统架构 (1) Linux内核(Linux Kernel)。Android运行在Linux Kernel2.6之上,但是把Linux内核GNU协议约束的部分做了取代。这样,运行在Android上的程序可以用于商业目的。Linux内核是硬件和软件层之间的抽象层。 (2) 中间件。中间件包括两部分:核心库和运行时环境(Libraries & Android Runtime)。核心库包括,SurfaceManager,显示系统管理库,负责把2D或3D内容 显示到屏幕;MediaFramework,媒体库,负责支持图像,支持多种视频和音频的录制和回放;SQLite,数据库,一个功能十分强大的轻量级嵌入式关系数据库;WebKit浏览器引擎等。运行时环境主要包括一个Dalvik Virtual Machin,Dalvik虚拟机,区别于Java虚拟机的是,每一个Android应用程序都在自己的进程中运行,都有一个属于自己的Dalvik虚拟机,这一点可以让系统在运行时可以达到优化,程序间的影响大大降低。Dalvik虚拟机并非运行Java字节码,而是运行自己的字节码。 (3)应用程序框架。丰富而又可扩展性的视图(View),可以用来构建应用程序,它包括列表(List),网格(Grids),文本框(Textboxs),按钮(Button),可嵌入的Web浏览器等。内容提供者(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享他们各自的数据。资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件(LayoutFiles)。通知管理器(Notification Manager)使得应用程序可以在状态栏中显示自己定义的提示信息。活动管理器(Activity Manager)用来管理应用程序的生命周期,并提供常用的导航回退功能。 (4)应用程序。Android系统会内置一些应用程序包,包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理器等等。Android应用程序由强大的Java语言来编写,也支持其他一些语言如C、Perl等。其中Java应用最为广泛,其他语言已经就看不到了4。2.2 Android开发平台及相关技术2.2.1 Android开发环境现在常用的开发工具有两套,一套是由谷歌公司发布的官方开发平台Android Studio,另一套就是Eclipse + ADT插件 + DDMS插件搭建的Android开发平台环境。而本次项目运用的便是第一种,谷歌公司发布的官方开发平台。Android Studio 是一个Android开发环境,基于IntelliJ IDEA. 类似Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。2017.3.3 Google宣布Android Studio 2.3正式版发布了,该版本包含一些新特性,包括对WebP支持的更新;ConstraintLayout库支持更新和布局编辑器的部件面板。提供一个新的App Link助手可以帮助你在应用中构建URI的统一视图。新的运行按钮提供更直观和可靠的立即运行体验。2.2.2 volley开源框架(1)Volley简介我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我们都能看到这两个类的身影,使用率是非常高。不过HttpURLConnection和HttpClient的用法还是稍微有些复杂的,如果不进行适当封装的话,很容易就会写出不少重复代码。于是乎,一些Android网络通信框架也就应运而生,比如说AsyncHttpClient,它把HTTP所有的通信细节全部封装在了内部,我们只需要简单调用几行代码就可以完成通信操作了。再比如Universal-Image-Loader,它使得在界面上显示网络图片的操作变得极度简单,开发者不用关心如何从网络上获取图片,也不用关心开启线程、回收图片资源等细节,Universal-Image-Loader已经把一切都做好了。Android开发团队也是意识到了有必要将HTTP的通信操作再进行简单化,于是在2013年Google I/O大会上推出了一个新的网络通信框架Volley。Volley可是说是把AsyncHttpClient和Universal-Image-Loader的优点集于了一身,既可以像AsyncHttpClient一样非常简单地进行HTTP通信,也可以像Universal-Image-Loader一样轻松加载网络上的图片。除了简单易用之外,Volley在性能方面也进行了大幅度的调整,它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟。图2.2 Volley框架图示(2)Volley框架的优点开发android应用很多时候都要涉及网络操作,Android SDK中提供了HttpClient 和 HttpUrlConnection两种方式用来处理网络操作,但当应用比较复杂的时候需要我们编写大量的代码处理很多东西:图像缓存,请求的调度等等;而Volley框架就是为解决这些而生的,它与2013年Google I/O大会上被提出:使得Android应用网络操作更方便更快捷;抽象了底层Http Client等实现的细节,让开发者更专注与产生RESTful Request。另外,Volley在不同的线程上异步执行所有请求而避免了阻塞主线程。(3)Volley框架的特点自动调度网络请求,多个并发的网络连接,通过使用标准的HTTP缓存机制保持磁盘和内存响应的一致,支持请求优先级,支持取消请求的强大API,可以取消单个请求或多个,易于定制,健壮性:便于正确的更新UI和获取数据,包含调试和追踪工具。2.2.3 Material Design介绍Material Design,中文名:材料设计语言,是由Google推出了全新的设计语言,谷歌表示,这种设计语言旨在为手机、平板电脑、台式机和“其他平台”提供更一致、更广泛的“外观和感觉”。图2.2.3 Material Design设计风格Material Design语言的一些重要功能包括系统字体Roboto的升级版本 ,同时颜色更鲜艳,动画效果更突出。杜拉特还简要谈到了新框架的一些变化这个新框架也于今天在 /design 公开发布。谷歌的想法是让谷歌平台上的开发者掌握这个新框架,从而让所有应用就有统一的外观,就像是苹果向开发者提出的设计原则一样。谷歌还基于这种新的设计语言对本公司旗舰应用进行了重新设计,包括安卓和网页端的Gmail和Calendar。大家可能还会记得,看到过有关这些变动的文章, 有些博客 已经掌握了外泄截屏,显示经过了重新设计的Gmail,界面更干净、更简约。在安卓平台上,这种新界面被称为Material,支持各种新动画效果,具有内置的实时UI阴影,以及可在不同屏幕之间切换的hero元素。核心思想,就是把物理世界的体验带进屏幕。去掉现实中的杂质和随机性,保留其最原始纯净的形态、空间关系、变化与过渡,配合虚拟世界的灵活特性,还原最贴近真实的体验,达到简洁与直观的效果。国外高使用频率的app大多都采用了Material Design或类Material Design风格,而国内仅有像酷安,bilibili和网易云音乐,类似app完全或部分采取了MD设计,而QQ,微信等甚至还有iOS风格的残余。第三章 系统分析及系统结构与设计与实现3.1 系统分析3.1.1系统可行性分析可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的实时调查得出以下四点的可行性分析:(1) 技术可行性:Android Studio的技术已经较为成熟,通过谷歌公司推出的跨平台、动态的JAVA语言进行开发。(2) 运行可行性:该系统需要Android虚拟机环境,现在我们可以很简单下载一些高效的虚拟机使用,这些虚拟机运行环境已经相当稳定,功能丰富,包括了完备的Android程序的编码、调试、测试和发布功能,其中支持所有Android应用开发相关技术,包括SQLite,Skia,3D制作,Android XML,能够很好的发布Android的应用程序APK包。另外我们也可以使用真机进行测试,真机测试的速度和效果比虚拟机更好。(3)法律可行性:因为是自主开发设计,所以不会构成侵权,在法律上是可行的。通过以上的可行性分析,将采用Android Studio开发平台,运用JAVA语言进行系统的开发。3.1.2系统需求分析根据分析需求,这个系统必须实现以下的功能:(1) 主页面的数据展示,实现应用可以获得来自服务器上的信息并解析。作为网络视频软件,其核心就是能够流畅的播放视频文件。确保从服务器上获取的视频软件格式是可以播放的。(2) 运行时动态换肤通过自定义常用控件,实现不重启Activity换肤,提高用户体验感。(3) 视频的播放与控制自定义播放时控制面板,实现了如屏幕锁,手势控制音量与亮度,手势调节进度条等功能.3.2 系统结构设计首先,是整个设计的流程图,打开进入程序进入起始页,之后进入主页,点击视频进入相应的视频详情页面,点击播放播放视频。如图3-1所示图3.1 系统流程图本次毕业设计的Android网络视频APP组要由5个Activity组成,其中一个BaseActivity是实现换肤和提供通用方法的基类,其他主体的Activity为是MainActivity,SplashActivity,SystemVideoActivity,VideoDetailActivity。每一个Activity实现相应部分的功能,每一个Activity对应有一个或多个.xml的布局文件。在布局文件中,添加用来实现相应部分功能的各种控件。如图3-2所示图3.2 系统结构框图SplashActivity:SplashActivity作为应用程序的起始页,主要是有一个图片组成,它可以再给用户显示应用主题的时候并判断当前手机是否联网并提前加载主页的内容防止用户到主页后发现页面依然在加载造成用户体验感降低。MainActivity:MainActivity是应用程序的主页也是和用户打交道最多的页面,主页的数据是从服务器中读取,返回一个JSON文件并解析后获取服务器里的数据并加载填充在主页上显示。并且头部有一个viewpager滑动显示不同区域,侧边栏里有着应用的各项信息,下面是主页的基本结构图,如3-3所示图3.3 主页结构图读取服务器数据利用volley框架,解析获取的JSON文件使用谷歌提供的Gson。返回的文字编码为UTF-8,由于volley框架提供的默认编码不是UTF-8,所以需要重写他负责文字编码的类将编码格式改为UTF-8。主页显示的模式使用Material Design,使得用户体验感更流畅。MainActivity的ViewPager中默认显示显示主页的Fragment,含有一个FragmentList来组成ViewPager来构成五个标签页。侧边栏是由一个fragment构成,在MainActivity中加载侧边栏的LeftMenuFragment。内容和图3-2显示的大体相同,点击首页回到首页的fragment展示的内容。其中的内容以历史记录的Fragment为基准,点击其他的可以来到HistoryFragment。VideoDetailActivity:视频详情页面如图3-4构成,由视频封面,视频详细信息和播放按钮组成,视频封面和详细信息直接读取服务器中额数据,如果没有获取到数据则显示加载中,播放按钮的作用就是使用播放器播放视频,视频数据也是从服务器上获取。图3.4 视频详情结构图SystemVideoActivity:播放器的结构图如图3-5所示,在进度条的底部有五个按钮,从左到右分别是锁屏,后退,播放暂停,前进和全屏。另外拖拽进度条也可以实现视频的前进和后退,锁屏后当前页面便固定了下来,播放器信息变回留在页面上。另外还可以调节音量大小和亮度,右上角显示当前电量。图3.5 播放器的基本结构图3.3 系统实现仿制的BiliBili客户端,采用Material Design设计。实现了主界面的数据展示,运行时动态换肤以及视频的播放与控制,三个模块。 使用RxJava执行异步操作,Volley网络请求,Picasso加载图片,以及EventBus作为事件总线。 - 主界面的数据展示:解决了多个ViewGroup之间的滑动冲突问题 - 运行时动态换肤:通过自定义常用控件,实现不重启Activity换肤 - 视频的播放与控制:自定义播放时控制面板,实现了如屏幕锁,手势控制音量与亮度,手势调节进度条等功能. 3.3.1起始页与主页模块* MainActivity的ViewPager中默认显示的主页Fragment* 含有一个FragmentList组成ViewPager来构成五个标签页private void findView() mToolbar = $(R.id.toolbar); mTabLayout = $(R.id.tab_layout); mMainContent = $(R.id.vp_main); homeDrawer = $(R.id.iv_drawer); mAvatar = $(R.id.fl_avatar); mTabLists = new ArrayList() add(番剧); add(推荐); add(分区); add(关注); add(发现); ; private void initViewPager() HomeAdapter homeAdapter = new HomeAdapter(mFragmentManager); mMainContent.setAdapter(homeAdapter); mMainContent.setOffscreenPageLimit(1);/ mTabLayout.setTabMode(TabLayout.MODE_FIXED);/设置tab模式,当前为系统默认模式 mTabLayout.setupWithViewPager(mMainContent);/将TabLayout和ViewPager关联起来。 mTabLayout.setTabsFromPagerAdapter(homeAdapter);/给Tabs设置适配器 3.3.2视频详情模块/* * BangumiFragment,HomeFragment中的番剧标签页Fragment * 主要利用为一个RecyclerView添加头布局完成主体设计 * 头布局中又自带一个TopNews滚动条的ViewPager和其他一些数据 */public class BangumiFragment extends BaseFragment public static final int START_AUTO_PLAY = 0; public static final int PAUSE_AUTO_PLAY = 1; private static String TAG = BangumiFragment; private DramaRecyclerView mRecyclerView; private RecyclerView mGridView; private ViewPager mTopNewsViewPager; private View mHeadView; private ArrayList mRecommendList; private GridLayoutManager mGridManager; private TopNewsAdapter mTopNewsAdapter; private DramaAdapter mDramaAdapter; private RecommendAdapter mRecommendAdapter; private RelativeLayout rlPointSet; private View redPoint; /TopNews点指示器间距 private int itemSpacing; private int itemSize; private Handler mHandler = new Handler() Override public void handleMessage(Message msg) switch (msg.what) case START_AUTO_PLAY: ResumePlay(); break; case PAUSE_AUTO_PLAY: pausePlay(); break; default: throw new RuntimeException(can not handler null message); ;3.3.3播放器模块public class SystemVideoView extends VideoView public boolean isFullScreen; private int mVideoWidth; private int mVideoHeight; public SystemVideoView(Context context) super(context); public SystemVideoView(Context context, AttributeSet attrs) super(context, attrs); public SystemVideoView(Context context, AttributeSet attrs, int defStyleAttr) super(context, attrs, defStyleAttr); Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) if (isFullScreen) setMeasuredDimension(getLayoutParams().width, getLayoutParams().height); else int width = getDefaultSize(mVideoWidth, widthMeasureSpec); int height = getDefaultSize(mVideoHeight, heightMeasureSpec); setMeasuredDimension(width, height); public void setVideoSize(int height, int width, boolean isFullScreen) System.out.println(setVideoSize); this.isFullScreen = isFullScreen; ViewGroup.LayoutParams layoutParams = getLayoutParams(); if (isFullScreen) layoutParams.height = height; layoutParams.width = width; else layoutParams.height = height; layoutParams.width = width; setLayoutParams(layoutParams); invalidate(); 3.3.4优化模块mVideoView.setOnErrorListener(new MediaPlayer.OnErrorListener() Override public boolean onError(MediaPlayer mp, int what, int extra) /如果系统播放器播放失败,尝试调用ijkPlayer去播放 if (!isErrored) /使用ijkMediaPlayer的VideoView Intent intent = new Intent(SystemVideoActivity.this, IjkPlayerVideoActivity.class); intent.setData(uri); SystemVideoActivity.this.finish(); Log.i(TAG, IjkPlayerVideoActivity: start); startActivity(intent); isErrored = true; return true; );/检查是否有网络public boolean isOnline() ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); return (networkInfo != null & networkInfo.isConnected();第4章 软件测试4.1测试环境和条件本次软件测试环境在AVD(Android Virtual Device)和真机中测试。真机硬件配置:手机型号:ZUK Z2;Android版本:6.0.1;处理器:骁龙820RAM:4G4.2测试过程使用安卓Android Studio 自带AVD测试截图。系统运行的流程如下:进入程序后首先进入起始页图4.1程序运行时起始界面起始后过2s后跳转到主页MainActivity:图4.2 程序运行时主界面程序运行主界面如图4-2所示,从服务器获取信息并填充到主页面中进行展示。图片文字等数据均在服务器中获取后解析。服务器使用的是tomcat服务器。图4.3 主界面如图4-3所示,下拉后的主界面,头部自动隐藏。点击视频可以跳转到视频的详情页面。图4.4 左侧菜单界面点击左侧头像进入菜单界面,里面展示的内容分别为,首页,离线管理,我的收藏,历史记录,关注的人,消费记录,切换主题和测试。为了测试方便,除首页和切换主题外,所有页面均定位在历史记录上面。点击首页则回到主页面,点击切换主题或点击上部的月亮均可进行主题切换,切换效果如图4-8和4-9所示。图4.5 历史记录界面历史记录页面如图4-5所示,在菜单中点击历史记录则可以跳转到该页面上来。图4.6 视频详情界面从主页面中点击视频则可以来到视频详情页面,页面如图4-6所示,页面显示数据也为在服务器中获取后并解析,内容有视频的名字,当前发布的UP主,播放次数,弹幕数量和发布时间。底部为下载和评论按钮,功能并没有只是测试用,点击播放进入播放页面效果如图4-7所示。在播放过程中拖拽进度条完成前进后退,点击视频暂停,另外以及锁屏效果如图4-8所示。图4.7 视频播放界面图4.8 拖拽进度条效果及锁屏效果图4.8 更换皮肤效果图4.9 更换皮肤后的菜单当然,也有网络慢或者服务器并没有开启导致应用缓冲图片慢或者连接不上服务器获取不

温馨提示

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

评论

0/150

提交评论