一种基于Android的网购药品应用的App设计的制作方法

文档序号:13660775阅读:1963来源:国知局

本发明涉及android平台技术,是一种移动端技术领域。



背景技术:

手机购物,是指利用手机上网实现网购的过程,属于移动互联网电子商务,进入智能机和4g时代以来,以ios平台和android平台上的手机购物应用为主流模式,国外手机购物发展最好的是日本、韩国等国家,而中国目前手机购物也占到了整个电商业务的3成左右,并且正以极快的速度发展中。



技术实现要素:

药物作为维护人类健康的特殊物品,在研制、生产、销售、使用的各个环节都受到相应法规的严格控制,在网售的过程中要严格遵守各项规定,消费者是网购药品服务的最终使用者,在设计过程中要充分考虑消费者的需求,针对上述需求以及结合目前流行android智能手机的技术,开发了一种基于android的网购药品应用的app。

app系统功能需求如下:

①自助购买:系统提供产品展示功能,用户可浏览药品详情,根据需求自助下单;

②自动匹配药店:结合地图技术与数据库技术,根据收货地址,为用户匹配距离最近、评分最高、价格最低的药店,满足不同用户的需求;

③支付功能:支持在线支付和货到付款两种方式,通过与第三方支付对接,建立网上自助付费系统;

④快速搜索:药品种类众多,生僻字居多,利用手机摄像头进行条形码扫描可快速搜索药品;

⑤分享功能:通过微博、微信、专业知识聚合网站的接入口分享至社交平台,形成良好的互动与推广效果。

app系统总体方案设计

1、系统结构:本系统采用的主体结构是client/server(c/s)体系结构,同时需要搭建数据库对数据进行有效管理:

1)客户端:客户端是提供给注册木系统的用户使用的,以an-droid手机为平台实现,客户端根据用户的操作向服务器端发送不同参数的请求,同时接收并解析响应的数据,显示数据或跳转至不同的界面,根据上一节需求分析,设计客户端主要包括用户注册登录、药品列表展示、药品信息查看、条形码扫描、药品搜索、购物车管理、在线支付、订单查看与管理、地址管理、版木升级、好友分享等功能;

2)服务器端:服务器端应用程序主要是提供客户端与数据库的数据交互功能,接收客户端的请求,并对请求数据进行解析判断,操作数据库,封装处理结果返回客户端,用户客户端的软件所有数据都需要操作都需要服务器的支持,在使用客户端时,必须保证服务器一直运行、本系统采用tomcat容器,因为tomcat是一个技术先进、性能稳定而且兔费的轻量级应用服务器;

2、通信模块实现:android为我们提供了httpurlconnection和httpclient这两个接口,通过这两种方式,可以很方便地开发http协议的程序;

(1)客户端的请求处理:客户端通过http协议发送get请求或者post请求至服务器,并接收响应数据,进行json解析和逻辑处理,本系统将采用android-async-http框架,它是一个开源的android异步网络请求处理库,网络处理均基于android的非ui线程,通过回调方法处理请求结果,可以轻松的获取网络数据或者向服务器发送数据,使用起来非常简单,代码示例如下:

requestparamsparams=newrequestparams();//绑定参数

params.put("userid""1");

asynchttpclientclient=newasynchttpclient();

client.post(url,paramsnewasynchttpresponsehandler(){//发

送post请求

@override

publicvoidonsuccess(stringresponse){

//请求成功处理,进行数据解析

}

@override

publicvoidonfinish(){

//请求失败处理

(2)服务器端的响应处理:当服务器接收到请求时,根据请求参数找到对应的servlet子类httpservlet对象,并创建httoservietreauest和rhttoservietresoonse两个对象,提交给服务器端应用程序进行逻辑处理,通过httpservle-trequest对象获取客户端发送的请求参数,进行相应的数据库操作,并将操作结果封装成json格式写入httpservietre-sponse,服务器把响应结果返回至客户端,

3、app客户端主要模块实现

3、1列表展示:由于药品条目众多,如果一次加载将产生大量数据,不管对于服务端还是客户端来说都是不小的压力,因此将采取分批加载策略,随着用户的滑动从后台动态加载数据,从而改善应用程序的性能和用户体验,listview通过设置适配器adapter,将不同的数据映射到view上,当用户滑动至列表底端时,触发监听事件setonscroiilistener异步加载数据,数据加载结束调用适配器的notifydatasetchanged方法刷新界面;

3、2条形码扫描:通过手机摄像头获取条码图像流并进行解码,获得数字码,然后以参数形式发送到服务器端,在数据库中查找与该数字码匹配的药品,由于实时的解码摄像头获取的图像流,对cpu来说是一个比较大的负荷,而且会阻塞主线程,造成ui的假死现象,在线程设计上采用了两个线程并通过handler消息传递机制来传递扫描结果,本系统基于开源项目zxing实现条形码扫描功能,一个主线程tiaomaaclivity,给用户呈现一个扫描过程的界面,captureacitivtyhandler负责处理接收子线程的解码结果并进行相应的处理,子线程用来与系统的硬件相机通信,配合完成条码图片数据获取并解码,并通过message返回解码结果;

3、3版木升级:应用程序的开发需要不断的功能完善,版木升级是必不可少的功能之一,新版木信息以update.xml文件存放至服务器,用户打开应用时,手机后台会发送请求获取该文件信息,然后对该文件进行解析获取最新版本号,通过与当前版本号比较,判断当前应用是否为最新版木,如果不是,用户可选择下载最新版木或进入首页,

packagemanagermanager=this.getpackagemanager();//获取版

本号

packagelnfoinfo=manager.getpackagelnfo(this.getpackage-

name(),0);

stringversion=info.versionname;

3、4在线支付:在线支付原理类似,木文将以支付宝支付为列进行阐述,客户端发送结算请求到服务器端,服务器端生成订单后,将订单数据回复给客户端,进入支付界面,选择支付宝支付,支付时需要判断是否安装支付宝应用,如果安装了则根据支付宝提供的接口代码示例规范,准备相关订单数据,发送到支付宝的客户端,由支付宝的客户端完成支付操作,当完成支付后,客户端会收到通知,同时支付宝会将处理成功的消息发送至服务器端,服务器端处理后续工作,

数据库设计:在系统开发中,数据库设计是基础性工作,它承担着系统数据的组织、存储和管理职责,搭建数据库对数据进行有效管理,准确地理清楚数据关系和保证数据库的信息完整而又不冗余是非常重要的,设计时需考虑数据存储的稳定性、有效性和可扩展性,本系统选用的是mysql数据库管理系统,数据库设计时应注意以下几个原则:

1)数据库应该满足三范式设计原则,设计时按照3nf进行设计;

2)设计时应考虑并发控制,同一个表同一时间应该只能由一个人控制,其他人只能做查询操作;

3)数据库的操作应该保证准确性和完整性,采用事务回滚、锁机制来保证。

根据需求分析阶段系统的功能需求,规划出本系统中所使用的数据库实体对象分别包括用户、药品、药店、购物车、订单、订单明细等,)据此,设计出数据库概念模型,画出er图,并在powerdesigner工具中进行数据库概念模型设计并最终转换为物理模型,上述app系统己开发完成,测试表明,该app具有可靠性、可扩展性、易用性、兼容性特点,系统的推广应用有利于促进消费者网购药品行为习惯的养成,为以后的医药电商发展打下基础。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1