基于Android的通知轮播系统的设计与实现
2018-02-21冯贺
冯贺
【摘 要】Android操作系统自发布以来迅速发展,至今已经基本人手一台Android智能手机;此外,国内高校近年来大力推广信息化建设,大都配备有方便老师工作、学生学习、学院管理的设备设施,其中不少学校都在教学楼的大厅安装了Android平板电视,用来播放和教师、学生息息相关的视频、文件通知等。基于Android的通知轮播系统是工作在Android设备上的一款APP,开发此应用正是充分利用了上述资源,方便学校对通知的管理和下达工作,并对推动国内高校的校园信息化建设工作起到积极作用。
【关键词】Android;通知轮播;校园信息化
中图分类号: TP311.52 文献标识码: A 文章编号: 2095-2457(2018)33-0111-002
DOI:10.19694/j.cnki.issn2095-2457.2018.33.050
【Abstract】The Android System has grown rapidly since its release, so far, everyone has an Android smartphone basicly; in addition, domestic colleges and universities have been vigorously promoting informatization construction in recent years, and most of them are equipped with equipment and facilities that are convenient for teachers' work, students' study and school management. Among them, many schools have installed an Android flat panel TV in the hall of the teaching building, which can play videos, documents and notices that are closely related to teachers and students. The Android-based notification carousel system is an APP working on Android devices. The development of this application makes full use of the above resources to facilitate the management and release of the notice in school, and plays a positive role in promoting the campus informatization construction of domestic universities.
【Key words】Android; Notification carousel; Campus informatization
0 引言
在學校日常事务中,各类通知的下达或宣传视频的播放非常频繁且重要。传统的通过纸质文件下达通知,或者让辅导员转达通知的方式弊端比较突出:如纸质文件携带不便容易丢失,转达效率低下等;虽然不少高校在教学楼大厅安装了平板电视,但不仅利用率不高,而且将通知电子档或宣传视频来回拷贝非常麻烦。随着校园信息化建设的飞速发展,Android智能终端的普及使得各种类型的应用都落户Android平台,以Android手机为主的移动智能终端已成为当代大学生校园生活中不可或缺的工具。基于Android的通知轮播系统充分利用了相关Android设备,方便有效地对通知和视频进行管理,提升工作学习效率。
1 系统分析
1.1 功能模块分析
通过对通知下达和视频播放的实际需求进行分析,将通知轮播系统分为五个大的功能模块,其中包括通知管理、通知轮播、通知网络推送、视频播放管理和系统设置模块。此外,本系统的开发所面向的用户是广大师生,所以Android应用端没有系统角色的区分。
现将系统五大模块的主要功能描述如下。
1.1.1 通知管理模块
该模块主要针对教学楼大厅安装的Android平板电视等公共设备,设备管理人员可以使用通知轮播APP对通知内容进行增、删、改、查的操作。
1.1.2 通知轮播模块
该模块主要实现让位于Android设备屏幕顶端(或底端)并且始终悬浮在其他任何应用程序之上的通知消息滚动轮回播放,即类似于跑马灯的效果。
1.1.3 通知网络推送模块
为了进一步方便通知的管理及下达,并且统一管理诸如Android平板电视等公共设备和师生个人Android智能手机的数据,该模块借助第三方的推送平台,通过网络在线推送通知消息的内容。
1.1.4 视频播放管理模块
视频播放管理模块可以对外部的存储设备进行整体扫描,然后得到当前Android系统中视频资源的列表,可以单击选择某个视频进行单独播放或者通过点击APP界面上的功能按钮对全部视频进行循环播放。针对该模块,考虑到Android系统自带播放器对多种视频格式支持的限制,以及通过实际测试,验证了其对通知消息悬浮轮播支持的不足,应用中引入了Vitamio多媒体开发框架有效地解决了上述问题。
1.1.5 系统设置模块
用户可以通过此模块对Android设备上通知消息的字体大小、颜色等进行设置。
1.2 技术方案分析
通知轮播系统使用Eclipse ADT集成开发环境进行开发。ADT的全称是Android Development Tools,是Google公司基于Eclipse增加了一组相应的插件集合形成的Android应用开发环境。这套环境基于Eclipse,且功能强大,操作简单,其中可以创建Android模拟器,方便开发人员调试、运行Android应用程序。同时使用Android系统自带的SQLite数据库,以此来高效地存取应用中的数据。该数据库的特点是体积小、应用灵活,恰恰适合本系统的实际需求。对于视频解析方面使用了当前比较流行的开源框架Vitamio;而对于通知信息的网络推送操作则引入了JPush极光推送。
2 系统设计与实现
2.1 数据库设计
根据上述对通知轮播系统业务功能的分析,抽象出系统所包括的主要实体关系表只有一张,即通知信息表。进一步分析,通知信息表应主要包含通知消息ID、通知标题、通知内容、通知类型和通知的创建时间等属性。
2.2 功能模块设计与实现
这里我们以两大核心功能模块——通知轮播和通知网络推送模块为例,詳细介绍通知轮播系统具体功能的设计与实现,其他模块的功能实现相对较易,本文中不再赘述。
通知轮播模块的实现思路为:首先在后台开启一个服务,即Service,通过该服务向WindowManager添加一个自定义的TextView,在项目中我们将这个自定义的文本框控件命名为AutoScrollTextView。AutoScrollTextView控件实现了通知消息以跑马灯的效果悬浮于界面上方进行循环播放,这个控件不响应任何点击事件也不接受触摸事件。创建AutoScrollTextView并开始循环播放通知的部分代码如下所示。
Display display = new Display();
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics);
int screenWidth = displayMetrics.widthPixels;
params.width = screenWidth;
params.height = wm.addView(tv_floatView, params);
// 定义一个画笔,改变悬浮字体的颜色
Paint p = new Paint();
p.setTextSize(floatSize);
p.setColor(myColor);
tv_floatView.init(wm, p);
// 开始轮播通知
tv_floatView.startScroll();
极光推送(JPush)是独立的第三方推送平台,将其引入系统中方便通过网络推送通知消息,统一了数据管理也简化了工作流程。通知网络推送模块的处理流程为:办公人员通过预先注册的账号,在JPush的Web端控制台编辑并发送通知;Android应用端需要自定义一个广播接收器(BroadcastReceiver),用于接收我们通过极光推送发送而来的通知信息并对其进行相应的处理。
3 结束语
本文介绍了在Android智能手机和大屏Android设备广为普及的基础上,采用JPush云推送服务,并引入Vitamio多媒体开发框架设计与开发基于Android的通知轮播系统的具体思路。经实践证明,Vitamio框架的应用,使系统的视频播放功能更加灵活,系统的可扩展性、可维护性大大的增强;JPush平台的引入,让系统的使用效率得以显著提高。
【参考文献】
[1]周小雪.基于Android的教务系统客户端的设计与实现[D].成都:电子科技大学,2018.
[2]鞠文飞.基于Android平台的视频教学平台的开发与应用[J].信息通信,2018(9):161-163.
[3]彭成,高沛,周晓红.基于Android平台的校园助手研究与实现[J].湖南工业大学学报,2018,32(5):44-49.