更全的杂志信息网

基于Android平台的留学生应用系统的设计与实现*

更新时间:2009-03-28

0 引言

教育部网站上数据显示,2016年在华留学生生源国家和地区总数已达205个[1],随着我国经济的快速发展与综合实力的不断提升,越来越多的海外学子到我国留学。据统计,2017年来华留学人数已达150多万人,且每年呈大幅增长趋势,据英国教育机构预测,到2027年中国将超过美国将会成为世界上第一大海外留学目的国家[2]。语言是用来进行文化诊释与交流的最重要的工具。留学生在中国学习的过程中面临的最大的问题是语言沟通和异域文化风俗问题。在中国文化输出过程中,对外汉语教学是关键性的第一步[3-4]

留学生迫切需要一款专门为他们在中国学习及生活的手机软件APP。而目前市场上只有一些翻译软件供留学生使用,而这些翻译软件只能满足最基本的语言需要,对来华留学生来说,他们希望有一款集翻译、学习及生活帮助的手机软件。针对在华留学生这些需求,研发了一款在华留学生学习生活助手软件。通过这款手机APP,帮助来华留学生解决学习、生活上碰到的许多问题。该平台作为社区交流平台,能增加中外学生之间接触的机会,拉近中外学生之间的关系,丰富他们的课余生活。

1 系统需求分析

通过对大量在华留学生学习生活碰到的问题及需求调查,基于整个业务流程,把系统业务分为两大板块:学习和生活。包括用户注册、社区交流、学习、生活助手如快递导航查找、汇率转换、翻译等多种功能。系统架构图如图1所示。分为展示层、业务层、数据层。系统有四个模块:①社区交流模块;②生活应用模块;③文化学习模块;④个人中心模块。

  

图1 系统架构设计图

2 系统设计

2.1 技术结构

考虑到系统集成以及实现各子系统的管理,以达到信息最大程度的共享,也便于今后系统的扩充及增容,系统预留未来的功能扩展接口。在速度方面,外网前台系统要求能响应4000用户的并发访问,内网后台管理要求能响应2000用户的并发访问。

在安全方面,系统中所选用的各个功能子系统设备都具有开放的通讯接口,后台管理系统搭建在内部局域网中以保安全,同时对一些重要数据进行MD5加密存储,同时系统数据库有一套完善的保护方案。另外设计了一套严格的权限认证机制,保证当用户访问站点时系统的安全性。

2.2 Android前端设计

Android是现在最受欢迎的移动平台操作系统之一,也是用户使用最多的手机操作系统,它最大的特点就是代码开源,因此吸引了包括通信运营商、设备制造商、芯片制造商等各类企业[5]。采用安卓系统开发,APP前端技术采用MVP(Model-View-Presenter)三层体系架构,将整个业务应用划分为:模型(Model)、视图(View)、表示器(Presenter)。MVP模式会解除View与Model的耦合,有效的降低View的复杂性,同时又带来了良好的可扩展性、可测试性,保证系统的整洁性和灵活性[6]。MVP模式可以实现同一份逻辑代码搭配不同的显示界面,它们之间并不依赖与具体,而是依赖于抽象。这使得Presenter可以运用于任何实现了View逻辑接口的UI,使之具有更广泛的适用性,保证了灵活,使系统易于维护、易于测试、松耦合度、复用性高、健壮稳定,系统技术体系结构图如图2所示。

  

图2 系统技术体系结构图

2.3 后台架构设计

目前流行的服务端技术有Java、PHP、.NET、Python,由于PHP语言开源性好、跨平台性强、运行效率高[7],我们选择PHP作为服务端开发语言。MySQL是一个免费的关系型数据库系统软件,非常适用于Apache+PHP+MySQL组成的网站建构[8],因此后台数据库采用MySQL。为了提高数据库访问性能和后期大数据分析,引入Redis非关系型数据库。为了提高数据读的性能,在云服务器和数据库之间用缓存,并为数据库主从备份、读写分离。为了应对可能面临的并发问题,云服务器要考虑负载均衡。因为项目中可能存在大量的需要上传和下载照片和视频,所以系统选择腾讯的开放云存储服务,同时为了提升各个地区的下载体验,系统引入CDN。客户端通过API Service和服务端交换数据,图片和视频的下载直接通过CDN。

3 系统实现

3.1 分布式服务实现业务

随着业务不断增加,后台系统将由单一应用扩展成为多元应用系统,系统中逐渐聚合大量的应用和服务,各个模块之间有很多功能重复实现,这会给开发、运维、部署带来麻烦,为此,数据库服务器采用分布式结构,以方便实现业务复用,如图3所示。

  

图3 分布式服务实现业务的复用

3.2 JSON数据交换格式

JSON是一种轻量级的数据交换格式,采用完全独立于语言的文本格式[9],易于编写,也易于机器解析和生成,比XML格式更省流量,这些特性使得JSON成为理想的数据交换语言,所以系统在手机客户端采用JSON数据交换格式。

3.3 用户验证方案

一般的Web网站使用Cookie+Session来保持用户的登录状态,App后台则使用token进行验证[10],流程如图4所示。

String s1;

test.com/user/update?uid=2&sign=3f1e736bc4ae-958ae7e8500b45aefdbb&age=22。这样token就不需要附在URL上,App后台签名校验流程如图5所示。

  

图4 用户验证方案

  

图5 签名校检流程图

3.4 翻译功能

翻译功能是本系统平台的核心功能之一,系统的学习模块、帮助模块都用到了中英文双向翻译,目前国内外很多公司都开放了翻译平台,供开发者接入,通过比较,系统选择了百度翻译开放平台[11],目前该平台提供两项服务:通用翻译API、定制化翻译API。相关字段及描述如表1所示。

通用翻译API HTTP地址:http://api.fanyi.baidu.com/api/trans/vip/translate。

定制化翻译API地址为:https://fanyi-api.baidu.com/api/trans/vip/translate。

 

表1 字段及描述

  

字段名q from to appid salt sign类型TEXT TEXT TEXT INT INT TEXT必填参数Y Y Y Y Y Y描述请求翻译query翻译源语言译文语言APP ID随机数签名备注UTF-8编码语言列表(可设置为auto)语言列表(不可设置为auto)可在管理控制台查看appid+q+salt+密钥 的MD5值

通过POST或GET方法,发送表2对应的字段来得到相应的服务:

高德地图开放平台提供2D,3D导航,通过卫星多种地图形式供开发者选择。用高德开放平台提供的API和SDK可以轻松完成地图的构建工作。高德地图开放平台同时还提供强大的地图再开发能力,全面的地图数据支持,通过在线、离线两种使用方式,多种地图交互模式,满足各个场景下对地图的需求[12]。在平台中Android Studio开发步骤略。

终身学习是指每个社会成员为适应社会发展和实现个体发展的需要,贯穿于人的一生的持续的学习过程,学习不分年龄和人群,每个人都应具备终身学习的能力,只有不断地学习新知识才能使自己适应新时代图书馆工作的新需求。腹有诗书气自华,只有多读书才能让自己成为做人做事具有大格局的人,因此,抓住机遇,与时俱进,树立终身学习理念,追求终身学习目标,才是新世纪每个图书馆员的不二之选。[4]

 

表2 对应的字段来得到相应的服务

  

字段名from to trans_result src dst类型TEXT TEXT MIXED LIST TEXT TEXT描述翻译源语言译文语言翻译结果原文译文

将apple从英文翻译成中文,请求的参数为:

q=apple from=en to=zh appid=2015063000000001 salt=1435660288,平台分配的密钥为12345678来生成sign。其中拼接字符串为:appid=2015063000000001+q=apple+salt=1435660288+密钥=12345678由此得到字符串 1=2015063000000001apple143566028812345678。计算后得到签名sign(对字符串1做md5加密,计算md5之前,串1必须为UTF-8编码):

apple&from=en&to=zh&appid=2015063000000001&salt=

(2015063000000001apple143566028812345678)

sign=f89f9594663708c1605f3d736d01d2d4

于是的完整请求为:

http://api.fanyi.baidu.com/api/trans/vip/translate?q=

sign=md5

元祐七年(1092)三月,苏东坡赴任扬州知府。苏东坡来,米芾走。本来在扬州做官的米芾,奉调雍丘任县令。苏东坡于是做东,招待朋友,顺便为米芾饯行。苏东坡虽然官做得不是很大,但人缘极好。听说苏东坡请客,一时名士云集,高朋满座。大家尽兴而来,乘兴而饮。米芾喝得有点高。他端着酒杯走到苏东坡面前,问:“世人都说我是个癫子,今天我要当面问一问苏大哥,请您来评一评,我到底是不是癫子?”(“世人皆以芾为颠,愿质之子瞻!”)

public AMapLocationClientOption mLocationOption=null;

对于后台PHP服务器,提供服务的主要算法:

public static String getTranslateURL(String mWord)

{String mUrl=null;

按照上面的验证流程App将直接获取token值,这样容易被黑客攻击。为了用户安全,系统将不在网络上传输token,而采用签名校验(使用URL签名)的方式,API请求加上URL签名sign以及用户id,格式如下:

String s2;

String s3;

String MD5string;

String salt=String.valueOf(System.currentTimeMillis());

s3=mWord;

try{

MD5 getMD5=new MD5();

s2=URLEncoder.encode(mWord,"utf-8");

2.3 早期肾功能损伤检测阳性率比较 轻度组、重度组孕妇血清Cys-C、Hcy及尿mALB联合检测早期肾功能损伤阳性率均高于单独检测,差异有统计学意义(χ2=34.072、27.651,P<0.05)。见表3。

<meta-data android:name="com.amap.api.v2.apikey"

究竟用什么焊条才能保证接头的强度和焊缝的严密性,又能保证焊道有良好的背面成型?由焊接工程师黄显炳领导的焊接技术小组反复研究,先选定结426、结427、结506等低氢型焊条及上海产的结422酸性焊条,进行工艺性能对比试验。

MD5string=getMD5.GetMD5Code(StringOfID.

BAIDU_APP_ID+s1+salt+StringOfID.BAIDU_KEY);

小组学习、学生课堂、课外训练都是以学生为主体,但由于其形式和过程不同,教师可以看到学生学习过程中更加丰富的表现,利于开展学生知识、技能、情意的多维度评价。另外,小组学习、项目学习为学生提供了课外共同学习的机会,虽然组内成员主动学习的表现有差异,但是共同学习时优秀组员的榜样作用是一直存在的,而且长期的共同学习更利于其他组员模仿优秀组员的行为,也为学生间相互评价创造了条件。多种学习方式还促进了学生职业岗位胜任力提升,实验组多项岗位胜任力平均分为良好,达到了课程教育目标,强化了课程内涵建设。

mUrl=UrlString.mUrlNOChangeForward+s2+

UrlString.mUrlNOChangeBehind+StringOfID

.BAIDU_APP_ID+"&salt="+salt+"&sign

="+MD5string;

//System.out.println(mUrl);

}catch(UnsupportedEncodingException e){

//TODO Auto-generated catch block

e.printStackTrace();

在项目策划阶段,基建管理部门要认真仔细研究农业主管部门发布的各项申报指南,并争取列入相关行业发展规划。为避免出现项目规划申报时间短来不及精心编报项目内容的情况,申报单位可以在日常工作中提前准备项目需求,编列单位自己的项目规划库。在项目前提策划过程中形成的成果是下一步项目立项申报的重要基础,为了保证项目内容的科学性,应组织专家对其进行审核和确认。

}

return mUrl;

}

商业贿赂发生的领域较集中,主要集中在房地产、建筑工程、医药购销领域。英国政府针对本国医药行业商业贿赂比较突出的状况,对医药行业进行重点规制。先后制定了《药物法》《药物广告法》,对医药行业存在的商业贿赂行为作出明确的处罚规定[16]。因此我国也应该借鉴英国的做法,对我国易发生商业贿赂的重点行业颁布较高层次的法律进行重点治理。

3.5 地图定位及导航功能

为了更好地服务在华留学生,让留学生在校园内能很快找到教室、图书馆、指导教师的位置及相应的服务机构,系统平台提供了地图定位及导航功能,平台采用高德地图开放平台接口。

因为要离开,驮子把许多带不走而剩下的家当一样一样分给了大家,这样一来,我们岭北人又是高兴又是舍不得,说,唉,这么好的人离开了。说这样的话时还顺便叹口气,搞得好像驮子是去赴死一样的。

由表14说明,土样2土壤中添加2%土壤修复剂Ⅱ(E)时,土壤中的重金属锌、铅、铬、铜、砷、镉含量均有所下降。其中在种有狼尾草的土壤区域主要污染物锌含量下降幅度最大,下降值为145.7mg/L。在种有狼尾草的土壤区域主要污染物砷含量下降幅度最大,最大值为3.75mg/L。

在Android系统中地图定位SDK是一套简单的LBS服务定位接口,使用这套定位API可获取定位结果、逆地理编码(地址文字描述)、以及地理围栏功能[13]。主要算法如下:

由折线图可知,在使用与润滑剂浸泡后的O型圈之后,气缸的泄漏量都不同程度地受到了影响。对于各类O型圈来说,在润滑剂中浸泡时的温度越高,其对气缸泄漏量的影响越大。对于在I类与II类润滑油中浸泡的O型圈来说,其对应气缸的泄漏量比使用未经过润滑剂浸泡的O型圈的气缸小。而对于与IV类润滑油浸泡过的O型圈来说,其对应气缸的泄漏量有所增大。

⑴ 配置好XML布局以及相关权限;

⑵ 声明Service组件:

<service android:name="com.amap.api.location

.APSService"></service>

⑶ 设置高德Key:

s1=ReplaceABC.mReplace(s3,"+","");

android:value="key"> </meta-data>

⑷ 初始化定位:

//声明AMapLocationClient类对象

全方位对外开放的格局一定,企业需要面对更为复杂的国际国内市场竞争环境,数量更多,质量更高,实力更强的竞争对手会以更快速度进入国内市场。面对人民对美好生活的强烈需求和政府执行更严厉的环境资源宏观经济政策,企业特别是中国的企业经营者,要想在这种激烈竞争的市场环境生存和发展,必须坚持中国新时代营销观念,积极参与国际、国内两个市场的竞争,大力进行供给侧结构性改革,转变市场营销观念,转换发展方式,促进产业迈向高质量,迈向中高端,抢抓机遇,迎接挑战,在已经到来的第四次工业革命中取得新一轮的竞争优势,才能无愧于新时代,真正成为实现中华民族伟大复兴的脊梁和重要贡献者。

public AMapLocationClient mLocationClient=null;

//声明定位回调监听器

public AMapLocationListener mLocationListener

=new AMapLocationListener();

//初始化定位

良好的政府合同管理水平和能力有利于政府规避责任风险、寻租风险、道德风险和逆向选择风险等。然而,由于专业人员的缺乏,导致社区居家养老PPP项目分析合同条款的能力不足,主要体现为合同文本分析、合同风险分析和技术性分析等方面的能力不足。因此,只有具备合同管理方面的专业人才,才能够实施良好的PPP项目合同制治理。因此,政府应该加强合同业务技能和合同管理方面能力的培训,提高合同管理人员PPP项目合同条款分析能力、合同策划能力、合同讨价还价能力和合同谈判能力,使PPP项目合同条款能够更加全面、准确、无歧义。

mLocationClient=new AMapLocationClient

(getApplicationContext());

//设置定位回调监听

mLocationClient.setLocationListener(mLocationListener);

⑸ 配置参数并启动定位:

//声明AMapLocationClientOption对象

“您送我去澧州中学吧。”看她露出一丝窘意,我打住调侃。这么晚去澧州,她有些迟疑,对我一番上下打量,在确定我不像个坏人后便把犹豫和不决抛进了澧水河。

1435660288&sign=f89f9594663708c1605f3d736d01d2d4

//初始化AMapLocationClientOption对象

mLocationOption=new AMapLocationClientOption();

Android导航SDK是一款针对在线导航的产品,产品功能涵盖路径规划、模拟导航、GPS定位、自定义导航界面、获取导航播报信息等。该产品的导航路径计算与实时交通信息相结合,力求为用户提供更加合理、准确、人性化的导航服务[14]。实现算法略。

3.6 语音处理

系统中单词学习、短文朗读、智能导航都用到了语音处理功能,平台采用讯飞语音开放平台。作为全球首个开放的智能交互技术服务平台,讯飞致力于为开发者打造一站式智能人机交互解决方案[15]。讯飞开放平台以“云+端”的形式向开发者提供语音合成、语音识别、语音唤醒、语义理解、人脸识别、个性化彩铃、移动应用分析等多项服务。用户可通过互联网、移动互联网,使用任何设备、在任何时间、任何地点都能享受讯飞开放平台提供的“听、说、读、写……”等全方位的人工智能服务。本系统主要接入平台中的语音识别和语音合成功能。其中语音识别主要算法如下:

⑴ 导入相关SDK、添加获取相关权限;

⑵ 初始化SDK:

APPID申请地址:http://www.xfyun.cn

SpeechUtility.createUtility(context,SpeechConstant

.APPID+"=APPID");

⑶ 语音识别主要调用模块:

mAsr.setParameter(SpeechConstant

.CLOUD_GRAMMAR,null);

mAsr.setParameter(SpeechConstant.SUBJECT,null);

mAsr.setParameter(SpeechConstant.ENGINE_TYPE,engineType);

mAsr.startListening(mRecogListener);

⑷ 语音合成主要调用模块:

mTts.setParameter(SpeechConstant.ENGINE_TYPE,engineType);

mTts.setParameter(SpeechConstant.ENGINE_MODE,engineMode);

4 结束语

国外留学生来华求学,除了在校园接受正规系统学习专业知识外,很多学生通过“抱团”方式在中国学习及生活,他们通过小群体相互帮助传授经验来解决日常生活中的一些困难,基于Android平台的留学生系统,通过手机APP通过帮助留学生解决在华学习、生活中碰到的困难,除提供学习资源、生活知识外,更重要的是让他们通过平台来感受中国的文化、习俗,迅速融入中国的学习和生活,这不仅提高了我国的影响力,更重要的体现在一带一路建设中,让我国发挥更大的作用。

参考文献(References):

[1]教育部“.一带一路”沿线国家来华留学生数据增幅明显[EB/OL].http://www.moe.edu.cn/jyb_xwfb/xw_fbh/moe_2069/xwfbh_2017n/xwfb_170301/170301_mtbd/201703/t20170302_297943.html,2017-03-12/2017-03-12

[2]鑫鑫.来华留学人数创新高,中国已成最受欢迎的海外留学国家[EB/OL]..https://baijiahao.baidu.com/s?id=15834021 30664478769&wfr=spider&for=pc,2017-11-07.

[3]周可依,周原,刘钰森.留学生移动辅助汉语学习的需求分析[J].现代教育论丛,2017.5:87-88

[4]蒲瑶,张文涛,彭惠.华留学生的跨文化适应问题调查及建议——以西北工业大学为个案[J].西北工业大学学报(社会科学版),2013.1:112-116

[5]刘彬彬,李永忠,舒俊.Android平台下的病毒原理分析及其防御技术研究[J].电子设计工程,2013.21(4):40-43

[6]李晓杰.基于JAVA EE的毕业设计管理系统的设计研究[J].电脑知识与技术,2013.19:4420-4428

[7]张晋芳.PHP在网站后台建设中的优势[J].电脑开发与应用,2012.25(12):39-40

[8]赵鹤芹.设计动态网站的最佳方案:Apache+PHP+MySQL[J].计算机工程与设计,2007.28(4):933-934

[9]赵鹏,骆德汉,梅领亮.一种基于JSON的Android终端远程获取解析数据的方法[J].微型机与应用,2017.21:57-60

[10]黄娈.校园网统一身份认证系统的研究与实现[J].天津大学学报,2013.55:256-257

[11]黄皓.百度翻译和有道翻译API的封装与利用[J].电脑编程技巧与维护,2014.16:90-93

[12]张恒喜,史争军.基于SQLite的Android数据库编程[J].电脑编程技巧与维护,2011.21:30-31

[13]王雨.高德开放平台发布全新地图SDK[J].计算机与网络,2017.43(9):31-31

[14]曹勇.高德开放平台推出骑行导航SDK[J].计算机与网络,2016.42(23):37-37

[15]赵欢.我听,你说——吉利汽车与科大讯飞战略合作携手打造领先汽车语音应用[J].时代汽车,2015.8:66-66

 
吴国娟,何明昌,王鹏,吴汉魏,廖海玲
《计算机时代》 2018年第05期
《计算机时代》2018年第05期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号