开发中的关键技术及系统需要达到的指标

1 开发中需要用到的关键技术 百度 Maps API: 该 API 能够将百度地图嵌入到应用程序中,并且还提供了大量实用工具,使用这些实用工具通过多种服务可以处理内容以及将内容添加到地图中。 GPS:GPS 即全球定位系统,利用该系统可以在全球范围内实现全天候、连

1 开发中需要用到的关键技术
 百度 Maps API: 该 API 能够将百度地图嵌入到应用程序中,并且还提供了大量实用工具,使用这些实用工具通过多种服务可以处理内容以及将内容添加到地图中。
GPS:GPS 即全球定位系统,利用该系统可以在全球范围内实现全天候、连续、实时的三维导航定位和测速,同时它还提供高精度的时间传递和定位。
SAX: SAX 解析器采用了基于事件的模型,它在解析XML 文档的时候可以触发一系列的事件,当发现给定的 tag时,它可以激活一个回调方法,告诉该方法制定的标签已经找到。SAX 的解析速度快、对内存的需求低。
Flex:Flex 通常是指 Adobe Flex,最初是由 Macromedia公司在 2004 年 3 月发布的,基于其专有的 Macromedia Flash平台,它涵盖了支持 RIA 的开发和部署的一系列技术组合。
SSH: SSH 在 J2EE 项目中表示了 3 种框架,即 Spring +Struts + Hibernate。
RPC: RPC—远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
渲染器: 即数据的表现方式,指显示每一条数据时采用的形式。在使用数据处理类组件时,只需要把数据按照一定的格式组织好,然后赋予给组件即可。
Activity:Android 程序源代码中的活动类。
2 系统需要达到的各项指标
        数据精确度: 输入、输出的分数精确到个位。时间特性本系统在正常的网络环境下,应能够保证系统的及时响应。数据的转换和传输时间: 即时。性能,效率: 系统处理业务时间最迟时间小于等于 5 秒。安全保密需求。网页端系统的系统架构,以及权限机制可以保证系统的安全性。
3 代码实现
3.1各种信息调用
        本代驾系统中,各进程间需要频繁进行通信,如: 客户需要获取朋友列表时、司机需要调用客户信息时、调度需要查看签约信息时,这些通信都是通过 RPC 连接服务端进行调用的。下列 RPC 代码即实现客户调用朋友列表。
客户端接口:
publicinterfaceIdaijia {
public String getfriend_group( String yhid) ;
 
}
服务端实现类:
public class shoujiService extends HessianServlet imple-
ments Idaijia {
public String getfriend_group( String yhid) {
ApplicationContextctx = new ClassPathXmlApplication-
Context(
" / applicationContext. xml" ) ;
shoujishouji = ( shouji) ctx. getBean( " FriendGroupD-
AO" ) ;
returnshouji. getfriend_group( yhid) ;
}
}
客户端调用
publicstatic String url = " http: / /10. 0. 2. 2: 8080 / TNT _
NOONE / hello. do" ;
publicstaticHessianProxyFactoryfactory = newHessian-
ProxyFactory( ) ;
privatestaticIdaijiashouji = null;
publicstatic List < Map < String,Object > > getfriend _
group( Context context,
String yhid) {
try {
factory. setDebug( true) ;
factory. setReadTimeout( 5000) ;
shouji = ( Idaijia) factory. create ( Idaijia. class,url,
context. getClassLoader( ) ) ;
} catch ( MalformedURLException e) {
e. printStackTrace( ) ;
}
returngetsaxvalue( shouji. getfriend_group( yhid) ) ;
}
3.2二维码调用
由于移动设备使用上的一些缺陷,为了简化用户输入代驾司机信息及添加朋友的步骤,本系统采用了二维码扫描技术,使用 Google 提供的 ZXing 开源项目。下列二维码扫描解码即为用户扫描司机身份证的二维码用以确认需要代驾的司机,同时也可将其添加为好友。
publicclassCaptureActivityextends Activity implements Call-
back {
@ Override
publicvoidonCreate( Bundle savedInstanceState) {
super. onCreate( savedInstanceState) ;
setContentView( R. layout. qrcodedecoder) ;
CameraManager. init( getApplication( ) ) ;
ffImageButton_register( ) ;
viewfinderView = ( ViewfinderView) findViewById( R.
id. viewfinder_view) ;
hasSurface = false;
inactivityTimer = newInactivityTimer( this) ;
ImageButton_register. setVisibility( View. INVISIBLE) ;
}
protectedvoidonResume( ) {
super. onResume( ) ;
SurfaceViewsurfaceView = ( SurfaceView) findViewBy-
Id( R. id. preview_view) ;
SurfaceHoldersurfaceHolder = surfaceView. getHolder
( )
 
if ( hasSurface) {
initCamera( surfaceHolder) ;
} else {
surfaceHolder. addCallback( this) ;
surfaceHolder. setType( SurfaceHolder. SURFACE_TYPE
_PUSH_BUFFERS) ;
}
decodeFormats = null;
characterSet = null;
playBeep = true;
AudioManageraudioService = ( AudioManager) getSys-
temService( AUDIO_SERVICE) ;
if ( audioService. getRingerMode( ) ! = AudioManager.
RINGER_MODE_NORMAL) {
playBeep = false;
}
initBeepSound( ) ;
vibrate = true;
}
publicvoidhandleDecode( Result obj,Bitmap barcode) {
inactivityTimer. onActivity( ) ;
viewfinderView. drawResultBitmap( barcode) ;
playBeepSoundAndVibrate( ) ;
txtResult. setText( obj. getText( ) ) ;
string = obj. getText ( ) ; ImageButton _ register. setVisi-
bility( View. VISIBLE) ;
}
}
3.3在线支付
        当客户需要代驾时,需要先支付费用至第三方,待代驾完成后,再由第三方转至代驾方,该操作过程在手机上完成,整个过程快捷而方便。本系统在线安全支付服务是安装在本地 Android 操作系统上的一个组件,主要用来向其它的应用程序提供便捷、安全以及可靠的支付服务。下列代码即实现用户使用支付宝支付代驾费用:
privatevoidffImageButton_buy( ) {
ImageButton _buy = ( ImageButton) findViewById ( R.
id. ImageButton_buy) ;
ImageButton _ buy. setOnClickListener ( newOnClickLis-
tener( ) {
publicvoidonClick( View v) {
MobileSecurePayHelpermspHelper = newMobileSecure-
PayHelper( daijia_zixun_ensemble_list. this) ;
booleanisMobile_spExist = mspHelper. detectMobile_sp
( ) ;
if ( ! isMobile_spExist)
return;
if ( ! checkInfo( ) ) {
BaseHelper. showDialog ( daijia _ zixun _ ensemble _ list.
this," ,R. drawable. infoicon) ;
return;
}
try {
String orderInfo = getOrderInfo( user) ;
String signType = getSignType( ) ;
String strsign = sign( signType,orderInfo) ;
strsign = URLEncoder. encode( strsign) ;
String info = orderInfo + " &sign = " + " ”" + str-
sign + " ”" + " &" + getSignType( ) ;
MobileSecurePayermsp = newMobileSecurePayer( ) ;
booleanbRet = msp. pay( info,mHandler,AlixId. RQF_
PAY,daijia_zixun_ensemble_list. this) ;
if ( bRet) {
closeProgress( ) ;
mProgress = BaseHelper. showProgress ( daijia _ zixun _
ensemble_list. this,null," 正在支付" ,false,true) ;
} else;
} catch ( Exception ex) {
Toast. makeText ( daijia _ zixun _ ensemble _ list. this,R.
string. remote_call_failed,
Toast. LENGTH_SHORT) . show( )
}
}
} ) ;
}
        通过以上叙述,利用 Android 系统自带部分功能和第三方插件,可以圆满的实现客户通过 Android 手机端随时随地寻求代驾。系统预先加载的缓存处理,保证了操作的流畅,并且通过整合大量信息,让客户更方便的查找。但是在使用过程中也有运用百度地图时用户加载地图会比较慢,以及 Flex初始加载界面速度较缓慢的问题。目前,我们开发的这款代驾 APP 所有功能均已实现,系统调试和功能完善已经完成,经过测试,该软件手机端在Android 1.6版本以上都可以完美运行,适应能力好; 网页端在 IE5.0 以上都能够运行,适应能力良好。可维护性和可扩展。网页端系统的应用平台设计中选择 B/S 结构,采用基于 JAVA 技术并且符合 Java EE 开发规范的系统应用平台,并采用三层结构,使系统具有良好的可维护性和可扩展性。
开发中的关键技术及系统需要达到的指标
4.系统主要功能概述
        系统既为一款代驾 APP ,首先应该方便客户快速查找自己想要的代驾信息,并且能够轻松选择代驾服务。客户快速查找代驾信息时,系统应即时定位客户所在位置,快速提供客户周边比较近的代驾公司或人员,而当客户选定代驾人员后,手机端应支持在线安全付账。对于使用该款 APP 的代驾公司而言,系统应能够随时发布代驾信息,接收客户代驾需求,提供电子签约,监督代驾司机等。
        该系统是一个基于地理位置信息的移动移动代驾系统平台,登录该系统,可随时随地查看附近移动代驾系统服务、发布移动代驾信息,查询移动代驾系统服务,收藏移动代驾系统服务,并且能在地图上以气球标识显示附近移动代驾系统服务的位置。该移动代驾系统平台还实现了分享功能,用户能将移动代驾系统服务信息分享给QQ 好友、微信好友或者分享到微信朋友圈。该系统将实现以下功能:
1.登录与注册
        该移动移动代驾系统不仅拥有自己的用户系统,能够完成登录和注册功能,而且还支持第三方账号登录。使用第三方账号登录系统,方便快捷,用户使用在新浪微博、腾讯QQ、人人网等第三方社交平台上的账号来实现一键登录,提升了用户的上网体验。用户使用第三方账号登录,不需要额外注册账号,减少了忘记密码的麻烦。该系统将实现使用 QQ 和新浪微博账号实现授权登录功能。
2.查看附近移动代驾系统
        在主界面中,默认选中首页标签,显示距离我当前位置 5000 米内的所有移动代驾系统信息。在移动代驾系统列表中每一项都显示一个移动代驾系统的信息,包括移动代驾系统服务的名称、移动代驾系统服务的缩略图、服务的价格、与代驾司机的距离。点击移动代驾系统列表的某一项后,即跳转到移动代驾系统详细信息界面。
3.发布移动代驾服务
        用户登录成功后,在主界面中,选中发布移动代驾系统标签,进入发布移动代驾系统界面。用户输入移动代驾系统服务的详细信息,包括服务名称、价格、类型、描述和服务图片,点击发布移动代驾系统按钮将服务信息和位置信息上传并存储到百度云端。
4.服务地图展示
        在主界面中,选中服务地图标签,进入服务地图界面。系统通过调用百度地图定位API 自动获得用户当前的位置,然后请求当前位置附近移动代驾系统的位置信息,最后将移动代驾系统的位置信息在百度地图上以气球标识显示。用手指滑动地图,可以在地图上查看其他移动代驾系统服务。点击地图上某一移动代驾系统服务的气球标识,显示移动代驾系统服务名称,然后跳转到移动代驾系统详细信息界面。
5.我的移动代驾
        用户登录成功后,在主界面中,选中我的标签,进入我的移动代驾系统界面。在我的移动代驾系统界面中,可以查看我收藏的移动代驾系统、我发布的移动代驾系统、我使用的移动代驾系统,还能根据移动代驾系统的未开始、进行中和已完成三种状态进行查询。
6.查询移动代驾
        用户可以设置不同的查询条件搜索移动代驾系统服务。如按照服务的类型搜索、服务的价格搜索和移动代驾系统的距离搜索。搜索结果以移动代驾系统列表的形式显示,点击移动代驾系统列表的某一项后,跳转到移动代驾系统详细信息界面,查看服务的具体信息和商家的详细信息。
7.分享移动代驾系统信息
        用户登录成功后,在移动代驾系统详细信息界面,点击分享按钮,弹出分享界面,可以点击分享给 QQ 好友图标、微信朋友圈图标和微信好友图标,打开进入 QQ 或微信客户端,确认后分享。
8.使用服务
        用户登录移动代驾系统,浏览移动代驾系统服务列表,选中自己喜欢的服务与商家进行交流,咨询有关服务的信息,交流后如果对服务满意点击使用按钮,提交订单使用服务。若交流后不满意,返回到移动代驾系统服务列表界面继续浏览其他服务。
4.2 系统框架设计
        在传统的 LBS 应用开发模式中,开发者需要自己创建数据库来存储位置数据,自己编写位置数据检索模块来实现空间计算并且需要自己解决海量数据检索时的并发问题,这样开发者不仅要关注 LBS 应用本身的业务数据和逻辑,还要解决位置数据存储、检索等问题,严重影响了开发效率和进度,增加了开发成本。本系统接入百度 LBS 开放平台,采用 LBS.云开发 LBS 应用的全新模式,在百度LBS 云服务上存储应用的位置数据和部分业务数据,由百度管理和维护数据库信息,同时百度提供自定义扩展字段存储,通过字段配置,业务数据也能够参与筛选排序检索,实现个性化数据检索。百度提供数据存储和空间运算能力,这样开发者只需关注于LBS 应用本身的业务逻辑,大大节约了开发成本,便于实现敏捷开发。该系统的本地服务器部署到个人计算机上,LBS 应用客户端安装到 Android 手机上。传输协议类采用HTTP 协议,数据类以 JSON 格式进行传输。
4.3 客户端功能模块划分
        根据系统总体分析,该移动客户端主要分为六大功能模块包括登录与注册模块、发布移动代驾系统模块、服务查询模块、服务地图模块、使用移动代驾系统服务模块和我的移动代驾系统模块。其中,登录与注册模块包括用户登录和注册新用户两个功能,服务查询模块包括按关键字查询、按价格查询、按类型查询和按距离查询等功能,我的移动代驾系统模块包括收藏的移动代驾系统、发布的移动代驾系统和使用的移动代驾系统等子模块。

原创文章,作者:写文章小能手,如若转载,请注明出处:https://www.sbvv.cn/chachong/645.html,文章版权申述

(0)
上一篇 2017年9月18日 上午1:10
下一篇 2017年9月18日 上午1:16

相关推荐

My title page contents