更全的杂志信息网

基于DataSnap技术的大学城商圈安卓APP的设计与实现*

更新时间:2009-03-28

0 引言

移动互联时代,移动终端成为大众获取富媒体信息的主要手段,手机中APP应用成为大众获取信息的主要途径之一。大学城商圈娱乐设施完备,文化饮食和公共文化活跃。充分发掘此地域圈内人员活动信息可积累大量可用信息。这些信息对实现目标人群精准导向,提高商圈活跃度,提升公共服务质量会有很大帮助。目前大多数手机APP研究集中在如软件需求分析[1-2]、界面设计[3-4]、某一领域需要[5-7],而对实现相关应用技术细节的文献[8-10]较少。

手机APP程序需要建立服务器平台,开发手机端软件功能。如何实现快速开发,需有一套完整高效的解决方案。本文运用Rest DATASNAP技术,采用跨平台开发工具DELPHI XE10[11]实现高效的手机软件开发。目标是开发覆盖商圈内商家及公共服务设施手机端APP。通过DATASNAP技术以短连接方式,可满足数千用户的并发连接,满足实际的应用需要。

本手机APP实现了分类信息存储及显示、商圈设施定位、显示详细信息,异步更新提高交互性体验、用户信息收集等功能。

根据当前信用体系发展特点,跨境电商零售也将建立一个由独立第三方运作的信用管理体系,以实现对跨境电商零售业务中的商家资质审查、交易评价反馈、机构信用等级评估等功能。在跨境电商零售业务开展过程中,政府也应积极参与其中,制定并形成有效的利益协调机制。此外,在当前企业和个人知识产权保护意识逐渐增强的背景下,知识产权的争端越来越多,相应的争端解决机制必将更加清楚规范地说明用何种法律、如何解决等。

1 服务器端的开发

系统架构如图1所示,数据库存储采用开源数据库MYSQL,通过在数据库中设计地域分类数据表、商家大类和子类分类数据表、商品信息数据表、用户表、访问信息表等实现按地域、地理坐标、商品分类、商品名称、用户关注度等多级信息的分类显示,通过存储访问信息表,存储如IP、位置、手机信息、访问兴趣点信息等,可在用户积累到一定规模后建立大数据信息源,为更加精准的数据服务提供支持。以DELPHI快速建立DATASNAP server三层结构。客户端与服务器间采用REST方式连接DATASNAP Server并访问目标mysql数据库。服务器以TCP/IP短连接方式,通过sqlquery实现接收来自互联网的客户端特定的数据库查询指令,并通过datasetprovider提供远程数据访问服务,可满足数百至上千用户的并发连接。与其他开发方案比较[8,12],服务器端程序通用简化、开发快速,服务器端在同样并发访问量下负荷较小,可提供更多用户的同时访问能力,整体技术方案可靠、高效,相较其他方案更易于实现。

  

图1 系统架构

2 安卓系统客户端程序

2.1 启动画面定制及主界面开发

客户端功能如图2所示。

实验意义:对联,言简意赅,是中华传统文化的瑰宝,在生活中有着广泛的用途,新形势下应让学生继承和发扬。在古代,对对子是私塾的日常功课,是诗词歌赋写作的基本功。在今天,练习对联创作,有助于学生才思敏捷、精练表达。

  

图2 客户端功能

启动画面为手机端程序的流行方式,主窗体通过菜单提供多个不同分类显示。各详细信息窗体显示如:特定分类信息、兴趣点具体信息等。为使手机APP适合各尺寸分辨率的手机,在窗体设计中采用ScaledLayout布局方案,并通过动态获取窗体尺寸完成页面对象自适应布局处理。通过自定义窗体显示内容实现启动画面并通过在启动窗体中使用application.createform 方法,将主界面显示至前台并将启动画面运用destroy方法销毁处理。其代码如下:

Mainform.BringToFront;

then FLastAngle:=LImage.RotationAngle

食品品牌的形象、品牌文化的传播,其实源自品牌企业从上到下的每一个决策、每一次行动、每一点改进、每一步成功,甚至落实到每一个人每一天具体的工作,是否坚持质量第一,是否严把质量安全关,是否细心作业,是否不断拷问良知,是否持续追求卓越,是否始终微笑面对。

Splashform.destroy;

FDNLMS算法的思想是将NLMS算法转换到频域计算。算法将参考信号分割成N点的块,滤波器系数每N点更新一次,用N个样点的累加进行更新,这样处理可以有效利用FFT计算,同时,保证算法可以同NLMS算法具有相同的收敛速度。分块后,第p块的滤波输出值为第p块参考数据与对应滤波器系数的线性卷积(块内保持不变),计算方法如下

Application.CreateForm(TMainform,Mainform);

Mainform.Activate;

Application.MainForm:=Mainform;

Mainform.Show;

  

图3 主界面

  

图4 分类显示页

主界面图3底部菜单分类显示以tabcontrol控件实现,为增强过渡动画效果,在图片按钮区添加BitmapAnimation控件,定义开始和结束图片,当点击菜单图片时触发动画过渡切换至其他页面,从而提供更友好的访问体验。

2.2 主窗体中可触摸轮换图片实现

轮换图片是在程序中建立tabcontrol多标签页显示不同图片,通过定义timer定时器自动将当前的activetab页自加,并在显示最后一个标签页时将activetab值设定为tabs[0],从而自动循环。手机中最重要的交互功能就是手势,通过在tabcontrol中onGesture识别手势的两种类型sgiLeft、sgiRight并改变activetab值实现跟随手势切换页面。由右向左滑动部分代码如下:

图2(b)是Fe3O4-C磁性空心微球的XRD谱图,其中在2θ为30.06°、35.42°、43.02°、53.41°、56.92°和62.49°处出现了Fe3O4的6个特征衍射峰,分别对应着标准尖晶石结构的220、311、400、422、511和440晶面[10],证明材料中主要是尖晶石结构的Fe3O4组分,且结晶良好,同时也说明硅胶核心的溶蚀过程并未造成Fe3O4组分的破坏。

if SlideImg.ActiveTab<>SlideImg.Tabs[SlideImg.TabCount-1]

抗胃癌植物类中药的抗肿瘤机制主要集中在抑制增殖/生长、调节免疫、诱导凋亡、抑制侵袭/转移等方面,丰度分别为0.741、0.718、0.447、0.271;主要涉及品种包括太子参、胡颓子叶、人参、白术等,详见表1(表中,由于同一植物类中药可能涉及多种抗肿瘤机制,故涉及品种数合计值>85,以下各表类同)。这提示现有植物类中药大多通过上述机制来发挥抗胃癌作用,故在后续中药组方的拟订或新药研发时应予以密切关注。

then begin

SlideImg.ActiveTab=SlideImg.Tabs[SlideImg.TabIndex+1]

else begin SlideImg.ActiveTab:=SlideImg.Tabs[0];

……

case EventInfo.GestureID of sgiLeft:

APP程序中另一个最重要的内容是,显示所需的图文信息,这些信息存储在远端的数据库服务器中,通过用户点击、分类筛选,提供定制化的信息。如图4,客户端多以listview来显示用户筛选信息,通常定义客户端数据库连接单元的方式实现。图5数据访问方式,是客户端通过建立sqlconnection连接远端的DATASNAP服务器,以Dsprovider连接远端DATASNAPserver特定的ServerMethod类,以ClientDataSet接收远端服务器的数据流。通过ClientDataSet.CommandText执行特定数据查询并返回结果。通过手势上下拉加载分页后的数据,采用更改动态查询数据起始序号的方式,设置ListView的OnMouseUp和OnPullRefresh事件来响应上拉和下拉手势完成数据动态分页更新,采用此方法可有效降低网络数据传输量,并可减少由于查询并响应所需时间造成的用户长时间等待,提升用户体验。

  

图5 数据访问方式

参考文献(References):

2.3 POI信息的实现

POI(point of interest)“兴趣点”内信息包括地理位置、名称、附加图片及文字信息描述等。各兴趣点信息可采用传统人工实地采集地理坐标、现场拍照、人工分类获取1手信息,也可采用自动化采集手段,例如通过采集软件“火车头”、“八爪鱼”[13]等,通过自定义规则,进行如美团网、大众点评网等分类数据提取并进行人工处理后导入数据库中。其中最为重要的数据之一是地理坐标信息,美团网采用腾讯地图,人工实地采集采用GPS坐标,各坐标系统不同,定位精准度和位置偏差较大,可采用坐标转换工具进行统一转换[14]。由于多种原因可能造成数据准确度不足,本APP实现采用百度地图方案,将各种方法采集的坐标通过开放的坐标转换工具转换成百度坐标,并根据百度地图中已知标定的几个目标兴趣点,通过建立一元线性方程进行坐标修正,保证在特定小范围区域内偏差在10几米的精度范围。

在手机APP中采用了webbrowser结合baidu javascript api混合实现手机端的定位与显示。手机的实时定位以LocationSensor进行gps及wifi双方式的自动获取,并以此方式获取的位置信息做为查询数据库获得周边信息的位置定界。各“兴趣点”的多张图片信息的显示,可通过动态获得手机尺寸,自适应生成图片列表。除采用异步方式获取网络图片外,当点击某张图片时可以放大到手机全屏并实现放大、旋转等操作。其实现是通过定义窗体的OnGesture事件,在igiRotate和igiZoom中实现。通过Self.ObjectAtPoint(ClientToScreen(EventInfo.Location))获取图片对象并控制图片做旋转及放大处理。其部分代码如下:

那微笑震撼了诸葛玉,他心想:“怎么会有人面对我的剑法还笑得出来?这笑容居然还如此轻蔑?难道……他不怕死吗?”

LObj:=Self.ObjectAtPoint(ClientToScreen(EventInfo.Location));

在设计课堂活动时,教师应走出“小组讨论”“成果展示”等形式,为学生创建基于问题、基于项目、基于任务的“情景化”活动。课堂活动的形式与内容与现实脱节是不能吸引学生的关键因素。“当处于真实情景中时,学习者需要整体考虑所有现实情况,而不仅仅是关注某个正在学习的概念。”[10]更加接近生活的情景,更加现实的问题,能够激发学习者的兴趣并鼓励其调动所有注意力全身心地投入到相应的活动中。教师在此环节为学生创造独特而愉悦的学习经历,同时也能加强教师的“职业认同感”。

他还组织开展了多项专题调查,摸清分局监管家底,有针对性地开展工作。他注重食品化妆品安全的宣传报道,常与白城市电视台、白城日报社联系,发挥媒体的优势,广泛宣传食品安全知识,提升食品药品监管局知名度,连续4年食品安全信息报道稿件超过200余篇。他连续4年被白城市委评为优秀信息先进个人,单位先进个人、优秀共产党员。

if LObj is TImage then begin {rotate the image}

LImage:=TImage(LObj.GetObject);

本文研制的是一种无机泡沫吸波材料,是利用碎玻璃或火山灰等为主要原材料,在其中添加电磁损耗物质,熔融发泡而成的一种隐身材料,如图7所示。

if(TInteractiveGestureFlag.gfBegin in EventInfo.Flags)

Mainform.SendToBack;

else if EventInfo.Angle<>0

then LImage.RotationAngle:=

FLastAngle-(EventInfo.Angle*180)/Pi;

2.4 用户信息获取

获取用户信息,如手机厂商、型号、IMEI、安卓版本、位置信息、访问信息点等是进行数据深度挖掘的基础,通过调用androidapi.JNI.JavaTypes,Androidapi.Helpers,androidapi.JNI.Os;并调用TJBuild.JavaClass.MODEL、TJBuild_VERSION.JavaClass.RELEASE、TJBuild_VERSION.JavaClass.RELEASE可获取到设备相关信息,通过执行sql insert命令将信息存储于远端数据库,对用户登录后访问的兴趣点信息进行记录和传回服务器端,实现用户端信息采集做为大数据信息源,为后继精细化数据服务提供支持。

3 结束语

本文运用Delphi跨平台开发工具,以Rest DATASNAP技术开发多层架构手机APP平台,详细描述了系统整体结构和技术实现。采用以上的设计思想,可满足中小型用户量的手机APP应用需要,在开发周期、易用性、安全可靠能力上都满足需要,解决了手机APP开发整体方案中技术难点及实现细节参考资料缺乏的不足,是开发互联网环境下手机APP的一套快速开发的成熟解决方案。

4月16日,青海省水利厅抗震救灾领导小组紧急召集西宁市、共和、贵德、平安、乐都、民和、循化和化隆县水务局负责人,就保障灾民和救援人员供水问题作出安排部署,并组建了由145人组成的8支水利供水工程应急抢险队,携带共计折合人民币300余万元的抗震救灾物资和生活必需物品赶往玉树灾区,抢修水毁设施,恢复供水工程。

Listview中显示图片和文本信息是APP中常采取的方法,由于网络的原因,如果图片信息同样存储在数据库中将会随着数据库信息量的增加,其访问时长会受到较大影响,为提高交互访问体验,采用了以下方法。①数据库中仅存储图片网络地址的形式,当手机端访问时借助远端DATASNAP Server访问数据库并提供给手机端,手机端APP按照所获取的图片地址去访问并显示在手机端,这在一定程度上降低了服务器的负荷,可提供更多、更流畅的客户访问体验。②在手机端通过异步的方法同时获取接收到的多个图片,并显示在手机端,使手机端访问体验更佳。③为进一步提供访问的实时交互性,可将访问的图片进行预处理,将图片按照访问需要存储成不同尺寸的文件以加快访问速度。④图片异步访问通过建立图片访问的类,以匿名线程的方法,通过idhttp组件获取图片数据流并显示在listview中,防止主窗体假死现象。在异步显示图片中,设计预加载图片,预加载图片以图片流形式保存为全局变量,在加载网络图片前加载显示在相应图片区,在加载网络图片后被替换,这使得显示效果更加理想。⑤在程序中做容错处理,合理利用try except可防止由于网络不稳定、访问异常等造成的程序崩溃事件的发生。通过以上方式,可在上下拉后页面得到快速更新,效果良好。

[1]刘丹,胡卫星,李玉斌,李畅.移动教育APP的研发现状与应用问题分析[J].电化教育研究,2016.8:47-52

[2]马玉慧,赵乐,李南南,王硕烁.新型移动学习资源——教育APP发展模式探究[J].中国电化教育,2016.4:64-70

[3]谭坤,刘正宏,李颖“.非遗”传承创新语境下的APP界面设计研究[J].包装工程,2015.8:60-3,115

上级相关部门要开展组织化和常态化的培训,成立专业培训机构,制定相应培训计划,与各县、区相关部门协调对接,定期对人员进行专业培训。定期轮换、选派相关人员到外地学习考察,开拓眼界,为团结乡乡村旅游的发展提出更多建议。

[4]郑文静,殷俊.基于O2O模式的外卖订餐APP的设计研究[J].艺术与设计(理论),2015.9:101-3

[5]陈俊杰,黄国凡.移动图书馆APP的构建策略和关键技术——以iOS为例[J].现代图书情报技术,2012.9:75-80

[6]杨艳妮,明均仁,张杰.基于Android的移动图书馆APP功能设计与实现[J].图书馆学研究,2015.7:24-30,23

[7]周宇,尹生强,王冬青,王英杰.基于Eclipse和Android系统的App开发平台搭建研究[J].青岛大学学报(工程技术版),2016.3:49-53

[8]黄悦深.基于HTML5的移动Web App开发[J].图书馆杂志,2014.7:72-7

[9]张言林,李博,王文博,张财学,张刘通.基于数字化校园的手机app客户端设计初探——东北林业大学“移动校园”手机APP客户端设计[J].设计,2014.2:81-2

加入金丰公社,是各位事业合伙人致富道路的开始,更是2019年金丰公社蓬勃发展、走向辉煌的崭新篇章。至此,这场饱含所有与会人员攻坚克难并收获满满的游学盛会圆满结束!

[10]张利军.智能手机APP应用前景及发展瓶颈探析[J].电子技术与软件工程,2015.10:69

[11]高勇.Delphi XE6 Android编程入门教程[M].西安出版社,2014.

[12]韩文智,骆文亮.Android平台的移动APP开发方法与应用研究[J].四川理工学院学报(自然科学版)2015.3:22-6

[13]崔玉洁,廖坤.借助八爪鱼采集器实现过刊网刊元数据的自动提取[J].编辑学报,2016.5:485-8

[14]姜楠.坐标转换算法研究与软件实现[D].安徽理工大学硕士学位论文,2013.

 
吴顺利,张旭,孙伟,史国滨
《计算机时代》 2018年第05期
《计算机时代》2018年第05期文献

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

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