APP下载

基于Android的视频APP设计与实现

2019-08-06李秀娟王锐毛思涵张其松刘沐晨

软件工程 2019年7期

李秀娟 王锐 毛思涵 张其松 刘沐晨

摘  要:各种视频软件越来越专业化和精细化,视频资源分散,不能满足部分用户需要。针对此类问题,项目运用KANO模型全面分析消费者的需求,并根据分析结果设计系统结构。最后,运用Android Studio软件和Java语言进行软件的实际开发。目前,项目已成功开发出一款具有视频播放与视频搜索等功能的视频软件。

关键词:卡诺模型;Android应用;视频APP

中图分类号:TP317     文献标识码:A

Abstract:Video applications are more and more specialized and refined.Scattered video resources can hardly meet the needs of some consumers.To solve such problems,the project uses KANO model to comprehensively analyze consumers requirements,and designs the system structure based on the analysis results.Android Studio software and Java language are used for actual software development.At present,the project has successfully developed a video software application with video playback and video search functions.

Keywords:KANO model;Android application;video App

1   引言(Introduction)

隨着Internet的普及和智能手机技术的不断成熟,Android系统由于其开源性和手机应用程序的大量开发、使用,已成为大多数人的首选[1]。在娱乐应用领域,视频播放类的APP越来越多,这些视频应用软件定位越来越精准和专门化,平台资源大体相同但又各具特色,为用户的使用带来许多不便,并且占用手机大量存储空间。据调查显示,多数视频APP渗透率在10%以下[2]。视频资源分散,视频独占率普遍偏低,竞争产品重合度较高,且视频APP无法搜索和观看多平台的视频资源,这些是目前Android应用市场上视频类APP所存在的主要问题[3]。

2   需求分析(Requirements analysis)

针对经常使用手机视频APP的在校大学生群体,进行线上发放问卷。此次调研历时一周,共收集问卷81份,其中无效问卷共7份,有效问卷74份。经检验,问卷的克朗巴哈系数(Cronbach's alpha)为0.644,具备一定信度。

根据问卷统计数据,套用KANO模型[4]能够得出各需求项目的属性(表1)。其中,A-魅力需求;O-期望需求;M-必备需求;R-逆向需求;I-无差异需求;Q-问题需求。

3   系统开发环境(System development environment)

3.1   硬件环境

Android智能手机一部;具备java和Android开发的PC机一台。系统开发的硬件环境参数,如表3所示。

3.2   软件条件

客户端软件开发环境,如表4所示。

3.3   测试环境

软件测试阶段,采用真机测试,安装打包好的APK文件,打开测试机器,关掉多余任务进程开展测试,对APP的流畅度、响应时间等进行测试。

4   系统设计(System design)

4.1   系统架构

基于Linux内核,Android操作系统主要由应用程序层、应用程序框架、各种库和运行环境、Linux操作系统层,这四个层次的架构组成[5],如图1所示。

4.2   系统功能结构

在需求分析阶段,对APP系统设计有了大致的框架。系统主要有视频播放、视频搜索和我的信息三大界面和功能,如图2所示。

视频播放:可进行本地mp4格式的视频播放、网页视频播放,以及跳转到已经安装的视频APP播放。

视频搜索:搜索来自网络的视频,获得视频的URL地址、视频介绍等基本信息,并能使用本播放器播放。

我的信息:记录观看时长和观看记录,查看设置并向我们发送消息[6]。

4.3   业务流程

设计出主要的页面和功能,并对不同页面和功能之间的穿梭跳转进行逻辑设计,如图3所示。

5  系统特色与难点(System characteristics and difficulties)

5.1   系统特色

开发的视频APP相较于其他视频软件具有两大特色:一是具有搜索的性质,能够搜索来自网络的部分视频,不局限于某一个平台或者几个平台。重写视频播放器,将网页视频放在我们重写的视频播放器里播放,解决用户需要下载多个视频软件的问题。二是视频APP不进行视频的存储与用户登录等界面,软件占据空间较小,仅作为一个播放其他平台视频或者本地视频的工具。

5.2   系统难点

开发具有上述系统的难点主要有两点:一是如何实现网络视频的搜索功能[7],在需要连接到其他视频平台时如何获取授权;二是如何重写一个播放器,可以兼容多种视频格式。

6   系统设计与实现(System design and implementation)

6.1   首页界面

用户进入系统后,可在首页界面选择播放网络视频、播放本地视频等。主页界面下有三个悬浮按钮,用户可以与开发者留言、视频分享、视频搜索等操作。视频APP所有页面的实现是建立在Activity之上的,实现界面如图4(a)所示。首页界面设计步骤:

①新建一个MainActivity,包括xml布局文件和Java代码文件。

②使用LinearLayout嵌套RelativeLayout设计主界面。

③在布局后的界面里加入ImageButton、Button和FloatingButton。

④在Main函数里给按键注册点击事件,使用隐式Intent去启动其他Activity。

6.2   视频搜索

视频搜索主要实现的是本地视频和网络视频搜索,在搜索的同时,加上了热门推荐功能,实现界面如图4(b)所示。视频搜索实现步骤:

①新建一个Activity,包括xml布局文件和Java代码文件。

②使用LinearLayout设计主界面。

③在布局后的界面里写入SearchView。

④编写SearchView的操作控制代码,并为其添加监听器。

⑤编写函数获取输入内容,并将输入内容与连接的数据库匹配。

其中数据库的建立与传值步骤为:

①创建一个RecordSQLiteOpenHelper类继承SQLiteOpenHelper帮助类,创建SQLiteDatabase的对象实现存放历史纪录,还需创建两个回调接口的对象,分别是返回按键回调和搜索案件回调。

②利用构造函数对搜索框进行初始化,监听键盘上的搜索按键的替换,利用输入布局调用setOnKeyListener方法。主要实现的具体功能:a.点搜索找内容;b.单击搜索键后,确定数据库中是否存在该搜索关键字词。并且还要对该搜索框进行文本监听,因此还需调用addTextChangedListener方法。

③监听历史纪录列表:ListView,也就是当用户单击搜索历史里的关键字时,将直接搜索需要被搜索的字词。并且还需利用创建Cursor类对象来实现模糊查询。

④创建清空数据库方法,再利用Cursor对象来实现这个方法getReadableDatabase().rawQuery用于检查数据库中是否已存在该搜索记录。创建插入方法以将数据插入库中。

6.3   视频列表

视频列表利用Fragment碎片技术、对界面模块化管理,让用户在同一活动中点击操作多个功能,如用户在头部菜单导航,任意选择观看“电视剧”“综艺”“电影”三类网络视频,并在下方的滚动列表中,选择喜欢的网络视频播放,实现界面如图4(c)所示。

6.4   视频播放

视频播放主要分为本地视频播放和网络视频播放,本地视频播放使用安卓原生的VideoView实现mp4格式的视频播放,网络视频播放则使用开源的Vitamio框架开发[8],实现界面如图5所示。本地播放实现步骤:

①新建一个Activity,包括xml布局文件和Java代码文件。

②使用LinearLayout设计主界面。

③在布局后的界面里写入VideoView。

④添加访问本地存储的权限。

⑤使用MediaController编写播放器上层控件。

7   结论(Conclusion)

本文针对传统视频类应用软件的弊端与问题,研究开发了一项基于Android平台的视频搜索系统。在需求分析阶段,引入KANO模型,对用户需求进行分类评估,从用户的角度出发,准确把握用户需求和痛点,从而制定出用户体验高的视频搜索系统。要运用Android系统开发技术和Java语言,构造了一个移动客户端的视频搜索应用,一定程度上解决了网络平台视频资源分散、資源重合度高、用户需安装多个视频软件的问题。

虽然基于Android平台视频搜索系统的各项功能已基本实现,但还有不足之处需要在以后的运维中慢慢改善。主要从以下两点对功能进行完善:(1)根据现有应用市场视频类应用软件的变化,进一步对系统现有功能的优化与完善;(2)加强对数据库技术的运用,以及对数据资源的保存和管理。

参考文献(References)

[1] 郭霖.第一行代码[M].北京:人民邮电出版社,2016.

[2] 电子商务研究中心.移动视频APP行业研究报告[EB/OL].http://b2b.toocle.com/detail--6412792.html,2017-08-29

[3] 人人都是产品经理.移动客户端对比:腾讯视频和搜狐视频浅析[EB/OL].http://www.sohu.com/a/42099122_114819.

[4] KANO N,SERAKU N,TAKAHASHI F.Attractive quality and must-be quality[J].Journal of The Japanese Society for Quality Control,1984,14(2):39-48.

[5] 赵振中.基于Android的智慧社区客户端软件设计与实现[D].浙江工业大学,2015.

[6] 李婷婷.基于Android的手机多媒体应用软件的设计与实现[D].浙江工业大学,2015.

[7] 罗金生.基于Android平台视频聚合客户端的设计与实现[D].华南理工大学,2015.

[8] 程颖,姚晔,张家珲.Android多功能视频播放器的设计与实现[J].信息通信,2016(06):104-105.