基于安卓平台的资讯助理软件的设计与实现
摘 要 随着移动互联网技术的发展,移动设备也已经融入了人们的生活。越来越多的人们开始使用手机进行信息的搜索和获取。本文采用安卓平台的JAVA开发技术,实现了手机归属地查询、物流查询、彩票查询、火车票查询、天气查询等功能。
【关键词】移动App 语音识别 Zxing
随着移动互联网技术的高速发展,越来越多的人开始使用智能手机作为主要的生活工具。在智能手机操作系统中,安卓平台是谷歌公司开发的基于Linux的手机操作系统。安卓平台开发环境自由,约束性低,该平台的开放性使得具有丰富的硬件资源。Android系统采用分层架构,分为应用程序层、应用程序框架层、系统运行库层和Linux内核层四层。基于安卓平台的开发的生活资讯助理的软件可以让用户快速获取天气、彩票、火车票、快递以及手机归属地信息,提高人们的生活效率。
1 主要核心技术
1.1 Zxing
ZXing可以调用移动设备的摄像头对条形码进行扫描及解码。它包含了联系到其他语言的端口,由Java实现的多种格式的1D/2D条码图像处理库。
1.2 Baidu Speech Recognition
Baidu Speech Recognition是百度开发的语音识别系统,对外提供语音识别、语音合成、语音唤醒的服务,用户使用对应的API文档,进行集成开发。百度语音识别技术采用了类似神经网络的深度学习算法来取代了以往的识别模块,这比目前主流语音识别系统更为简单有效,从而大幅提升了识别效率。语音识别的整个流程包括:上传用户语音、百度语音服务器进行语意解析、返回解析数据给客户端,语音识别API对用户语音进行解析,实现语音识别。
1.3 Glide
Glide是一个高效、开源的媒体管理框架。Glide具有获取、解码和展示視频剧照、图片、动画等功能,它的API接口丰富,在几乎任何网络协议栈里Glide都能被使用。Glide可以实现对图片列表的流畅滚动,也能够方便的对网络获取的图片进行处理与分析。
2 软件需求分析
2.1 功能性分析
在软件调研和需求分析的阶段,对同类型生活类APP进行竞品分析,发现普遍存在广告多、功能少、使用卡顿、用户体验不佳等情况。在对这些APP进行分析后,总结出需实现以下需求:
(1)用户体验好,系统内不含广告信息,界面简约大方。
(2)兼容性强,可稳定运行各厂商、各品牌、各版本的安卓智能手机上。
(3)功能丰富,实现天气查询、快递查询、手机归属地查询、火车查询等功能。
2.2 技术可行性分析
系统利用Android平台适用的Java技术进行开发设计。语音识别基于百度开发的语音识别技术,其语音识别技术稳定性高,接口丰富。二维码技术使用Google公司的Zxing框架,Zxing是Google于2015年研发的二维码技术框架,其稳定性高收到开发者的青睐。本系统采用的框架技术都是相对稳定的技术框架,框架的开发文档详细、接口丰富,系统后期的维护方便。
3 系统设计
3.1 系统架构设计
系统采用服务端/客户端(C/S)架构模式,服务端利用ShowAPI接口进行开发设计,客户端使用Java语言进行开发设计,框架使用Android的Glide、Zxing开源框架,网络通信使用OkHttp、ShowApiRequest框架。客户端与服务器的传输利用JSON进行文本数据传输,JSON数据解析简单,数据包传输效率高。数据请求方式采用的是HTTP中的Get和Post方法。项目架构如图1所示。
3.2 系统功能设计
根据需求分析和系统总体架构,系统功能模块划分如图2所示。
系统分为六个功能,分别为:天气查询、号码归属地查询、物流查询、彩票查询、火车票查询、机器人聊天。六个功能的主要功能如下:
天气查询:系统自动获取当地城市的天气状况,同时也可以选其他城市查看。
号码归属地查询:用户输入手机号后可以查询到对应的手机供应商类型以及号码归属地。
物流查询:通过扫描二维码或者输入快递单号,获取到快递进度详细信息。
彩票查询:用户可以查询到双色球、福彩等多个彩票的开奖情况。
火车票查询:输入对应的出发城市和目的地城市并输入出发日期可以查询到火车票车次及余票情况。
机器人聊天:用户可以手动输入文字跟机器人进行对话,也可以打开语音识别将语音转化为文字进行快速输入,实现与机器人智能聊天功能。
3.3 系统接口设计
用户在使用系统的任一功能时需调用ShowApi后台数据接口,APP会在获取数据的时将调用接口的时间和接口的URL等数据传给ShowApi服务器并写入数据库记录。ShowApi数据后台采用的是MySQL的关系型数据库,数据库表如表1所示。后台分析接口调用次数只需要一张表即可以实现统计,每个用户都可以创建多个应用,每个应用都有一个app-id和一个secret用于匹配对应的应用,独立统计每个应用的接口调用次数。
4 系统实现
4.1 系统主界面
当用户打开首界面,出现六个功能菜单按钮,用户通过点击不同的按钮选择不同的功能。不同的按钮对应的ID不一致,每个按钮都有一个独立的ID,每个ID跳转到对应的界面。核心算法伪代码表2所示。
4.2 天气查询
从首页进入天气查询界面,首先自动调用地图的API获取地理位置,根据位置信息将当天的天气和未来七天的天气信息调用返回结果,系统显示未来七天的最高温度、最低温度、风速等其他天气信息。当用户点击城市的时候会跳转到城市选择界面,用户通过选择其他城市,系统会自动跳转到所选择城市的天气界面,并自动获取对应的天气信息。
5 总结
系统使用MVP模式架构,即Model提供数据,Presenter负责逻辑的处理,View负责显示,MVP架构在功能更改时,代码逻辑清晰,开发效率高。语音功能调用百度语音识别接口,将语音转化为文字,提高用户打字输入的效率。二维码扫描使用Google开源框架Zxing,可以节省输入长条形码的时间,提高用户体验。服务器与手机端通过JSON进行文本数据传输,数据丢包率低,传输效率高。随着互联网技术的发展,系统将会有更多的应用场景,如将APP移植到除手机外的平板电脑、移动电视或者车载导航上,更好的为人们提供便利的资讯服务。
参考文献
[1]候自全.基于Android的天气数据接口应用设计[J].福建电脑,2016,32(12):150.
[2]李璐.基于ZXing的条码技术研究[J].福建电脑,2014,30(05):17-18.
[3]韦银,王杰辉.基于语音识别模块的家庭交互系统设计[J].福建电脑,2016,32(12):22-23.
[4]简靖韡.Android智能手机信息安全问题与对策分析[J].通讯世界,2015(24):33.
[5]孔贝贝.ZXing条形码扫描技术在移动数字图书馆中的应用[J].电脑知识与技术,2016,12(27):196-198.
作者简介
李溪韵(2001-),女,湖北省武汉市人。高中学历。
作者单位
华中师大一附中 湖北省武汉市 430070