




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计题目:基于Android平台的移动商城设计与实现姓名:张三学号:000000000000学院:XXXXXXXX专业:XXXXXXXX同组人:指导教师:XXX2000年X月X日摘要Android是基于Linux内核的软件平台和操作系统,以其特有的开放性在智能、平板电脑等领域广泛应用。近几年电子商务得到了迅速的开展,通过Internet进行交易己成为一种潮流。两者的结合,便产生了具有巨大开展潜力的移动电子商务。本系统主要是探索Android与电子商务的结合,利用SSH框架设计后台管理,AndroidSDK设计客户端。以商城为例,实现用户浏览,搜索,购置商品等功能。由于选择Mysql作为数据库,故部署了效劳器作为客户端与数据库通信的桥梁。后台管理系统采用SSH框架技术控制逻辑及数据库操作,并且将CSS应用在JSP页面实现页面美化。实现对数据库中商品进行增,删,改,查的功能,并对客户订单进行管理。该系统较平常购物系统有更好的移动性与跨平台性。通过测试,已能够在Android上运行使用其各项购物流程。在本文的最后阐述了将来进一步可以完善的一些相关工作。关键词:网络JAVAAndroid;SSH;网上购物AbstractAndroid
operatingsystem
originallydevelopedby
founder
AndyRubin.Anditonlysupportedphonesatfirst.Itwasacquired
ofinjectionbyGooglein2005.AndGoogledrawin
anumberof
manufacturers
formed
theOpenHandsetAlliance
(OpenHandsetAlliance)
todevelopandimprovethesystemandextendto
the
tabletPC
andother
areasgradually.Attheendof2021,thedatashowedthatAndroidhadbecamethemostpopularsmartphone
platformbeyondtheNokia
Symbian
system.ThissystemmainlyexploresthecombinationofAndroidande-commerce.UsingtheSSHFrame,themanagementsystemisdesigned.TheclientisdesignedwithAndroidSDK.Usingthephoneasanexample,achievetheuserstobrowsesearchbuygoodsandotherfunctions.BecauseoftheselectionofMysql,wedeployaserverasthebridgebetweenthedatabaseandtheclient.ThemanagementsystemcontrolsthelogicandtheoperationonthedatabasebytheSSHFrame.CSSisappliedtotheJSPtomaketheinterfacemorefriendly.Therealizationofadatabaseofgoodstoincrease,delete,change,searchfunction,andcustomerordermanagement.Thesystemis
better
thanthe
usual
shoppingsystem
onmobilityand
cross-platform.Bythetest,itcanruneveryfunctionofshoppingontheAndroid-mobilephone.Keywords:Android;SSH;E-commerce;OnlineShopping目录摘要 IAbstract II目录 III引言 11.课题研究背景 21.1Android平台 21.23G时代购物与网络购物的比拟分析 31.3集成开发环境Eclipse 51.4Android模拟器61.4.1模拟器概述61.4.2模拟器和真机的区别71.5研究的目的和主要内容 71.5.1研究的目的 71.5.2研究的主要内容 81.6论文组织结构82.基于Android平台的移动商城开发环境和相关技术82.1开发环境及硬件需求 92.2Java语言特点 92.3关于ECLIPSE132.4数据库需求分析132.5本章小结133.系统总体设计 143.1总体功能 143.2E-R图153.3初步设计方案163.3.1客户端的登录和注册163.3.2客户端的浏览功能173.3.3购物车功能173.3.4订单功能183.3.5效劳器管理功能193.4系统流程概述 193.5系统框架图203.6数据库设计213.7本章小结 234.系统详细设计244.1总体流程概要设计 244.2Android系统客户端逻辑结构设计及其内容编码254.2.1客户端登陆功能内容254.2.2客户端注册功能内容26客户端商品和搜索功能内容284.2.4客户端购物车功能内容394.2.5客户端订单功能内容494.2.6客户端client534.3系统后台逻辑结构设计及其程序开发554.3.1系统后台管理员和用户登录程序内容564.3.2系统后台商品管理程序内容594.3.3系统后台订单管理程序内容624.4本章小结655.系统的具体实现665.1前台android客户端主要功能的实现675.1.1登入界面675.1.2注册界面685.1.3商品主界面685.1.4商品服装的详细页面705.1.5htc商品的详细界面和将想要购置的参加购物车界面715.1.6购物车界面725.1.7订单结算界面735.2后台web端主要功能的实现745.2.1后台登入界面745.2.2后台主界面755.2.3商品列表界面765.2.4后台添加商品界面775.2.5后台编辑商品界面785.2.6后台订单管理界面805.3本章小结806.总结和展望816.1基于Android平台的移动商城的设计回忆816.2Android平台的移动商城的设计经验总结816.3本章小结 82结论 83致谢 84参考文献 86引言Java语言是由美国SunMicrosystem的詹姆斯·高斯林、PratrickNaughton及MikeSheridan等人在1991年精心设计出来的计算机编程语言,它的设想在于实现可以在不同的平台上运作使用同一种编程语言所编写出来的程序。这种架构是具有革命性的对于消费性电子产品而言,因为在消费性电子产品中的操作系统及处理器各不相同,如果要在不同的平台上开发程序就必须要了解和熟悉各个平台的特性,以及其供给的API使用方式,必须分别开发不同的版本才可以执行,这就影响了应用程序的普便性。近几年,由于移动互联网作为全新的时代背景,甚至有业内人士大胆预测随着无线互联不断蚕食着有线互联市场,未来可能接近7成都将是无线互联的市场,人们日常上网的主要的产品将是。正是预见到用户的无线市场有着巨大的开展潜力,各行各业都不断加速抢占无线互联的市场。移动电子商务在未来的巨大开展潜力是吸引京东、当当、卓越以及淘宝等各大电子商务企业进入这一领域的主要原因。程善宝指出,淘宝、京东等传统电子商务企业进入移动电子商务,根据商品渠道、运营经验等方面的经验的优势,在移动电子商务领域将会比电信运营商、software提供商和新兴的移动电子商务企业具有着更好的远景。由于移动通信的不断开展和互联网转向移动终端的推广,用户和网络对移动终端的要求与日俱增,因为WindowsMobile,Symbian,PalmOS等平台过于陈旧与封闭,不能很好的满足用户的需要和要求,所以市场急迫需要着开放性很强的一个平台。随着多年的开展,第三代数字通信(3G)技术获取了市场广泛的关注和接受,它为移动终端用户提供了更快捷的数据传输速率。随着3G网络的使用,移动终端不再只是通讯网络的终端,还将成为互联网的终端。所以,移动终端的应用软件以及需要的效劳将会有着很大开展的空间。Google就为此在2007年的11月推出了一个专门为了移动设备设计的一个软件平台——Android。Android是一套真正意义上的具有开放性的移动设备的综合平台,它包括操作系统、中间件和一些关键的平台应用。Android是由Linux+Java构成的开源软件,允许所有厂商和个人在其根底上进行设计开发。Android平台具有的开放性等特点既能促进移动通信技术的不断创新,也将有助于对开发本钱的降低,还可以使得运营商非常方便的制定出具有自己特色的产品。因此,它是具备很大的市场开展潜力。1.课题研究背景1.1Android平台1.Android平台:Android是Google基于Linux平台研发出来的操作系统。是google公布的应用平台。它包括用户界面,操作系统和移动工作所需要的全部软件。它使用软件堆层的构架主要有3局部,最底层是以Linux内核工作为根底的。谷歌通过与运营商,设备制造商,开发商和其他相关方面的深厚的合作伙伴关系,希望能够通过创立一个标准的,开放的软件平台,在移动通信行业形成一个开放的生态系统。2.Android系统的优势以及特点:开放性。Google与开放联盟合作开发了Android,谷歌通过与运营商,设备制造商,开发商和其他相关方面的深厚的合作伙伴关系,希望能够通过创立一个标准的,开放的软件平台,在移动通信行业形成一个开放的生态系统。应用无国限。在Android设备上的应用程序可以通过标准API访问核心移动。通过互联网,应用程序的功能可以宣布它们提供给其他应用程序。在平等根底上创立应用程序。在移动设备上的应用程序可以被替换或扩展,即便是拨号程序,或在主屏幕上的核心部件也可以。应用程序可以很容易地嵌入到网络。应用程序可以很容易地嵌入在HTML、JavaScript和样式表,并且也可以通过WebView将网络内容显示。在应用程序中可以实现并行运行。在Android这种完整的多任务环境中,应用程序可以在实现并行运行。并且后台运行的时候,应用程序能产生通知以引起注意。3.Android的应用开展现状因为现如今有很多的厂商看到了Android的美好开展前景,所以从外国到内陆很多厂商都已经利用Android来生产和平板电脑等的电子产品。像戴尔这样有实力的厂商也是如此,例如戴尔推出的平板电脑streak就是使用的Android系统,与苹果ipad的功能相比几乎不相上下,甚至用户在使用感受上和通用性能上会比ipad更加优秀。在国内,许多厂商在全力追求具有高清播放能力的电子产品的情况下也都同时使用了Android作为他们自己产品的使用的系统。甚至还有很多的山寨产品也全是使用的Android的操作系统来生产他们的产品,虽然还是和模仿的产品有多少的差距,但是从外观和价格的角度上来讲山寨的产品还是有它的市场。这些都证实了当今Android的应用现状是非常受认可的。4.开发基于Android平台的应用在Android平台上,可以开发出各式各样的应用。Android的应用程序是用Java语言开发的,也就是说,只要会Java语言就可以比拟容易地开发出Android的应用。如果不了解Java也没有关系,通过一段时间对Java语言的学习,也可以很快进入Android开发领域。加上Android平台提供了2D、3D的图形支持、数据库支持〔SQLite〕,并且集成了浏览器。基于Android的平台,我们可以开发出丰富多彩的应用,这些应用可以涉及工具、管理、互联网、游戏等,在此开放的平台上,这一切都取决于程序员的自由发挥和创意。1.23G时代购物与网络购物的比拟分析1.购物的概念购物指的是使用上网从而实现在网络上购物的过程,属于移动电子商务。其购物的原理与在使用电脑网购一样,仅仅是载体从电脑变成了网络。国内的3G业务将有可能与网络购物和网络支付等平台联手,通过网速的超高速率来实现“购物〞。在不久的将来中国的购物将会迎来一个高速的增长期,用户只要开通的上网效劳,就可以通过查询商品信息,并且可以在线支付购置产品。不用去实体店铺,也不用坐在电脑前“淘货〞,一部就可以完成挑选、选购和支付的全过程。据了解,目前运营商和网购平台以及网付平台三方已有意向进行合作,一旦“购物〞的铁三角形成,用户不仅购物将会更加的便捷,运营商和网购平台以及网付平台三方也将从中获益匪浅。实际上,此前国内的局部网购商曾经推出过“购物〞业务,但是由于2G的网速较慢,用户浏览网店以及网上支付的效果并不是很好。2.外国的购物开展如今将近九成的日本以及韩国的用户都已经习惯了购物,即便是购置食品、洗浴用品这样的在日常生活中不可缺少的用品。在最早开通3G效劳的日本,网络购物的交易额已经占电子商务总体交易额的四成左右。由于移动电子商务的高速开展,为日本的众多商业企业提供了更多的销售渠道,将近全部的网络经营者都同时经营着自己的移动商铺。与传统的互联网购物相比,用户消费者用购物更加的方便、保密、共享。购物已经成为日本、韩国等国“快时尚〞标志,在城市德年轻人当中深受喜爱。3.当今购物在中国的开展与问题在当今大城市的地铁中出现了这样的奇特情景:在行人匆匆走过的地铁通道中,出现了超市中才能见到的商品货架,琳琅满目的商品,就像是在大型超市一样,但走进才发现“货架〞竟然是“贴在〞墙上的,可乐、奶粉、甚至还有尿不湿,每一种产品下方都有相应价格和唯一的二维码。这究竟是何物呢?来这个“墙壁超市〞是电商企业1号店进一步开拓潜在市场所推出的一种全新尝试,属于国内首创的虚实结合移动电子商务应用,12年7月25日早在今年年初,中国主力电子商务军真正向无线应用发起进军,不再是前两年的“雷声大、雨点小〞。移动互联网俨然成为电子商务争抢的香饽饽,电子商务网站纷纷启动了移动互联网战略。目前,电子商务企业推出、PC客户端早已不是新鲜事,淘宝网、乐淘网、麦考林、凡客诚品、当当网、卓越网等均相继推出各种类型操作系统的客户端产品。而今年第一季度中国移动互联网用户规模到达了约3.5亿人,同比增速高达66.5%,其中移动购物第一季度收入突破15亿,占移动互联网总收入的14.20%。无论是网络的便捷性、物流的畅达性、产品的多样性、经营方式上的灵活性,抑或是对于消费者生活方式的改变,各种优势都在进一步挤压传统零售商的生存空间。同时也触动了他们对市场的敏感,面对此庞大的市场蛋糕开始蠢蠢欲动。以目前国内产业的开展趋势来看,数量巨大的移动互联网用户,为移动电子商务的开展提供了潜在的用户根底,巨大的利益也引来了众多企业纷纷参加。不过,移动电子商务还不能到达炉火纯青的地步,比方上网不够快、资费仍然偏贵、移动终端的平安性、支付的平安性等制约着移动电子商务的开展。在市场化的过程中显露出的一系列问题,终将由市场来解决,移动电子商务也必将有广阔的市场前景。4.与传统网络购物相比,购物具有的优势分析购物具有很好的便捷性购物用户群体数量多3G技术的支持购物具有"随时随地"等特点购物有较好的身份认证的根底与传统网络购物相比,购物存在的问题购物形式单一(2)支付体系的建立和完善尚需时间(3)相比网络购物具有更大的不平安因素1.3集成开发环境EclipseEclipse是一个开放源代码的、与NetBeans、SunONEStudio和BorlandJbuilder类似的一种基于Java的整合型可扩展开发平台,也是目前最著名的开源工程之一。其本身而言,它只是一个框架和一组效劳,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具〔JavaDevelopmentTools,JDT〕。其未来的目标不仅仅是成为专门开发Java程序的IDE环境,根据Eclipse的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。同时可以通过开发新的插件扩展现有插件的功能,比方本文为了进行即时网络游戏的开发,就是通过J2ME插件的扩展来加以实现的。Eclipse的跨平台性很强,可以通过无限扩展各厂商的专有SDK,来实现应用程序在各种型号不同的上的应用,而且它本身有着统一的外观,操作和系统资源管理,这正是Eclipse的潜力所在[4]。相比其他的专用开发工具,Eclipse有如下几个优点:①、丰富的观察窗口。视图是Eclipse的最灵活的局部,可以自定义每个视图中包含的观察窗口种类,也可以自定义一个新视图。当然,每个视图的观察窗口都是可配置的,多样化的视图不但可以帮助程序员以不同角度观察代码,也可以满足不同的编程习惯。②、强大的调试功能。Eclipse有多种跟踪方式,断点设置,变量值观察窗口等,而且根据所安装插件的不同,Eclipse存在多种运行/调试程序的方式。这样可以使程序员能更快的发现问题和解决问题,提高开发的效率。③、强大的插件加载功能。这正是Eclipse实现跨平台特性的真正魅力所在,也是提高游戏移植效率的有效方法。④、快捷的代码显示切换功能。Eclipse提供了只显示所选单元的代码显示切换功能,这在编辑Java程序的时候可以以方法为单位进行编辑,不仅代码的显示更加简捷,而且还有助于编写封装性更好的类。正是由于Eclipse的种种优秀特性,使得Eclipse在众多整合型开发平台中脱颖而出,成为不少从事软件开发的程序员的首选开发工具,这也是本文中的即时网络游戏选用Eclipse进行开发的真正原因。1.4Android模拟器模拟器概述Android模拟器的主界面,如图1-1所示图1-1安卓模拟器的主界面如1-1图所示的是模拟器的主界面全景图,从图中我们可以看出模拟器主要是由两个局部组成的,上图左边的局部模拟的是的显示界面,主要分布有按钮,主菜单按钮和上网按钮,右面的局部模拟的是的键盘输入。在模拟的局部内置了一些Google公司自带的程序,如打,发短信以及其他程序。Android模拟器中AndroidSDK自带一个移动模拟器。它是一个可以运行在你电脑上的虚拟设备。Android模拟器可以让你无需使用物理设备便可预览、开发和测试设计的Android应用程序。Android模拟器能够模拟除了接听和拨打外的所有移动设备上的典型功能和行为。Android模拟器提供了大量的导航和控制键,你可以通过鼠标或键盘点击这些按键来为你的应用程序产生事件。同时它还有一个屏幕用于显示Android自带应用程序和你自己的应用程序。为了便于模拟和测试应用程序,Android模拟器允许你的应用程序通过Android平台效劳调用其他程序、访问网络、播放音频和视频、保存和传输数据、通知用户、渲染图像过渡和场景。Android模拟器同样具有强大的调试能力,例如能够记录内核输出的控制台、模拟程序中断(比方接受短信或打入)、模拟数据通道中的延时效果和遗失。下面的章节将提供关于模拟器的详细信息,以及如何在开发应用程序中使用模拟器。模拟器和真机的区别Android的模拟器功能很强,但是模拟器仍然只能尽量去模拟,有些的功能还是模拟不了,下面做一个简单的说明。模拟器不支持呼叫来电和接听实际来电,但可以通过控制台模拟呼叫。模拟器不支持USB连接。模拟器不支持相机/视频捕捉。模拟器不支持音频输入,但支持输出。模拟器不支持拓展耳机。模拟器不支持蓝牙。模拟器不能确定连接状态。模拟器不能确定电池电量水平和充电状态。(9)模拟器不能确定SD卡的插入和弹出。1.5研究的目的和主要内容研究的目的题目要求研究并完成一个基于Andriod平台的网上购物商城,在此设计使用商城,用户可以通过Android系统登录该商城,而且可以进行查询和购置商品等功能,就如京东,当当等网站一样,提供用户对商品的一些简单的操作.此购物系统使得用户使用的时候自由度较高,并非非要通过电脑来进行购置商品,只需要有个Android系统的就可以无时无刻的进行购物了.不但解放了时间和空间的限制,也增加了购物的效率,和购物的乐趣.研究的主要内容(1)用户可以进行注册并成为会员(2)用户可以通过用户名登录(3)用户可以对自己想要浏览的商品进行查询和搜索(4)用户可以对商品进行浏览(5)用户可以添加想要购置的商品进入购物车(6)用户也可以将已经添加到购物车的商品删除或修改(7)登录的用户可以对订单进行查询(8)管理员管理商品的根本信息(9)管理员可以对该网站的商品进行添加或删除(10)管理员管理订单的根本信息1.6论文组织结构本论文的引言局部和第一章中阐述了基于Android平台的移动商城的当今概况,并介绍了网络购物在当前社会的开展潜力,以及程序设计的一些研究背景。并且对基于Android平台的移动商城研究的目的和主要内容进行了说明。本文其余局部的内容如下:第二章介绍了Java语言的特点、本程序的开发环境及其相关工具的原理和使用。第三章中介绍了网络商城程序的根本流程和框架。对商城根本框架等做了详细表达。第四章主要介绍了网络商城设计的详细过程,还对其重要局部的编程和代码进行了分析和讲解。第五章中在Eclipse开发平台下,使用Andriod模拟器对该购物商城系统进行测试实现。第六章中回忆了基于Android平台的移动商城设计过程中的遇到的难题,总结了设计过程中得到的经验与启示。2.基于Android平台的移动商城开发环境和相关技术介绍2.1开发环境及硬件需求Windowsxp较好的兼容性,内存资源占用少的特点是我选择作为本次开发的主系统的重要依据。考虑到机器的性能方面,在数据库的选择上,选用相对小型的Mysql5.0,更有利于系统的开发。Tomcat是一个轻量级应用效劳器,占用系统资源少,扩展性好,性能稳定,是现在比拟流行的Web应用效劳器MyEclipseforSpring8.6集成了很多eclipse没有的插件,对于Web的开发有很好的帮助。EclipseIndigo是开发Android系统的相对较好,稳定的开发工具。此次java开发环境沿用的是一直很熟悉的JDK1.6,在android方面用的是最先版本SDK。自身电脑完全可以支持本次系统的开发,硬件支持较好。2.2Java语言特点Java与C++语言相比,去掉了C++语言的复杂性和二义性的成分,增加了平安性和可移植性的成分。Java语言具有如下特点:简单性、面向对象、平台无关性、可移植性、解释性、髙性能、动态性、可靠性和平安性、多线程、分布式处理等。下面将介绍Java语言的主要特点2.3关于ECLIPSEEclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组效劳,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具〔JavaDevelopmentTools,JDT〕。虽然大多数用户很乐于将Eclipse当作JavaIDE来使用,但Eclipse的目标不仅限于此。Eclipse还包括插件开发环境〔Plug-inDevelopmentEnvironment,PDE〕,这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。2.4数据库需求分析基于功能需求中的各项功能,总结出数据库需要的主要有四张表。分别是:用户表,商品表,订单表。用户表需要包含用户昵称,密码,性别等较为详细的信息;商品表那么需要包含商品名称,数量,价格等商品所应具备的根本信息;订单表需要包含订单编号,用户昵称,用户地址,订单状态等详细信息。2.5本章小结第二章介绍了Java语言的特点、本程序的开发环境及其相关工具的使用原理和使用方法。3.系统概要设计3.1总体功能该系统分为前端的客户端和后端的管理端,前端也就是客户端主要包括用户的浏览商品,注册,登录,商品搜索以及购物,添加到购物车,订单等重要功能.后端主要是管理员和用户的登陆与管理员对商品的订单信息和商品信息的管理,在整个系统中各自有不同的功能和权限.系统实现的大致过程是客户端连接效劳器,效劳器链接数据库;客户端连接数据库是网络连接,基于TCP/IP连接。效劳器是通过jdbc接口与数据库连接的客户端的主要使用对象是普通的注册后的会员用户,后端管理模块的使用对象是管理人员和用户系统的概要设计流程如图3-1所示用户注册用户注册登录登录客户端商品搜索客户端商品搜索购物系统数据库浏览购物系统数据库浏览后台管理购物车后台管理购物车订单查询订单查询管理员管理员登录管理员管理员登录商品信息管理商品信息管理订单信息管理订单信息管理图3-1系统的概要设计流程图3.2E-R图1.系统管理员主要管理用户,商品的添加和删除,订单,商品类型四个方面。2.用户主要包含了,ID,昵称,密码等属性。3.商品主要包含ID,名称,价格等属性。4.订单主要包含ID,订单状态等属性。5.商品类型主要包含ID,类型名称等属性。如以下图3-2所示:用户昵称用户昵称用户ID管理员用户时间商品订单管理管理管理密码等级号码性别余额商品ID规格价格图片数量描述商品名称用户姓名订单ID用户总价订单日期收货地址订单状态管理商品类型类型ID类型名mmm1111m图3-2E-R图3.3初步设计方案客户端的登录和注册客户端的登录和注册是指一个用户如果要进行购置等商品时必须要有会员号,这是就需要注册商城是自己成为商城的会员,必须要填写用户自己想要在网站上使用的用户名还有密码,并且还要再次输入密码使得密码是确定唯一的。还要写入自己的号以便将来忘记密码时可以及时地找回并且还要填入性别。以上信息填写好后就可以生成一个属于用户个人的该网站的会员号。记住会员号和其对应的密码通过用户名和密码的填写可以进行登陆,假设密码或用户名中出现与注册时不相同的信息那么不能够登陆成功,将提示从新登陆。假设用户名和密码填写正确后的用户可以登陆成功。通过挑选商品添加到购物车,方便下订单和之后的操作。客户端登陆注册流程如图3-3所示:手机主界面手机主界面登陆/注册登陆/注册注册界面登陆界面Noyes注册界面登陆界面No验证验证验证验证yes注册用户的主界面注册用户的主界面图3-3客户端的登陆与注册流程图客户端的浏览功能浏览功能是当一个用户进行注册和登陆成功后可以看到商城的主界面,主界面中具有五大类商品的按钮,其中有服装/服饰,电视机/显示器,/数码,皮包/包包,还有运动鞋等商品。点击5个图片按钮的操作程序按钮,点击后即可以显示该类商品的具体有哪些商品的信息。使得用户进行浏览和选购。客户端的浏览功能图如3-4所示主界面主界面电脑照相机其他电脑照相机其他图3-4浏览功能的流程图购物车功能购物车功能是对注册完成的商城的会员可以进行登陆,登陆成功之后的用户可以对自己中意的商品添加到购物车中,假设用户还需要继续购物那么可以回到商品区继续进行购物从而再把自己喜欢的商品添加到购物车,假设购物完成后那么可以在购物车中进行管理,可以对自己选入购物车的商品进行筛选,最终将所选择的商品进行购置或者将购置的商品下订单等.客户端购物车功能如图3-5所示客户端本地请求,读取本地文件,造型为对象点击购物车Tab客户端本地请求,读取本地文件,造型为对象点击购物车Tab将列表中元素在客户端显示将列表中元素在客户端显示点击结算,将数据写成字节流,发送至效劳器点击结算,将数据写成字节流,发送至效劳器效劳器读取数据,写入数据库效劳器读取数据,写入数据库图3-5客户端购物车功能图订单功能订单功能是对注册完成后的商城的会员可以进行对所选择的商品从购物车中下订单进行购置。订单界面中显示用户自己的账户余额,还有用户所要下订单的商品的价格,假设要下订单必须要正确地填写用户的家庭住址以及联系,以便送货人员可以快速而又准确的配送;并且还要输入注册时填写的密码,假设填写正确那么下订单成功,假设填写不正确那么要继续填写正确前方可完成购置。订单系统的流程图如图3-6所示主界面主界面商品浏览商品浏览no订单订单用户登录状态用户登录状态yes接受订单接受订单图3-6订单功能的流程图效劳器管理功能效劳器管理功能是指商城的网站管理员通过用户名以及密码的正确填写后登录到后台主页面,在商品管理的商品列表中通过数据库可以对产品的具体信息进行查询,修改,添加以及删除。管理员通过对商品信息的编辑可以添加商品。例如管理员要对打折期间的促销商品进行修改价格等操作或新上架的商品进行编辑从而使得普通用户可以在客户端浏览其信息。管理员在订单管理中可以看到用户下的订单,并且对客户的订单进行完成。效劳器后台的大致流程如3-7所示管理员登录管理员登录数据库管理数据库管理删除增加修改查询删除增加修改查询数据库数据库图3-7效劳管理流程图3.4系统流程概述(1)用户如果要浏览网站得时后首先应该看到的就是网站首页,在首页用户可以浏览近期发布或更新的最新商品,还有网站的热门产品和该网站推荐的产品,而且还可以对的商品的信息进行搜索。(2)如果用户想要购置某些商品的时候用户需要注册成为该网站的会员。(3)如果用户浏览完商品的具体信息后,还可以把自己想买的商品放入购物车,也可以随时增加和删除或修改购物车里已添加的商品。(4)如果购物车里的商品用户已经满意就可以去下单。(5)相关的程序模块会将用户所填写的所有信息内容都记录在数据库内,使网上商城的管理人员可以准确和快速的核对信息内容,以便发送货物(6)假设用户已经确认收到了购置的产品后整个购置的过程就结束了。(7)管理员在电子商城的后台管理方面还需要添加,修改,删除商品,同时要对商品进行分类和订单处理都是需要后台的管理人员来操作的。3.5系统框架图后台管理框图如图3-8所示后台管理订单管理会员管理商品管理订单管理会员管理商品管理删除添加查找删除添加删除添加查找删除添加图3-8后台管理流程〔2〕用户端框图如图3-9所示用户订购商品查找商品浏览商品注册登订购商品查找商品浏览商品注册登录图3-9用户端框图3.6数据库设计本系统采用的是Mysql数据库,为了将在系统页面中显示的动态数据存放在后台数据库中,便于修改、更新和信息隐藏,因此,将E-R图转换成关系模型,即在数据库中建立实体关系表。用户表用户表具有用户昵称、密码、、等根本信息。设置uid为主键,主键的生成策略采用自动生成方式。用户的属性图如图3-10所示:用户用户用户ID密码用户昵称等级性别余额号码图3-10用户属性图根据图3-10可定义出用户的数据表user,用户表用来保存所有用户的信息。结构如表3-11:表3-11用户表列名数据类型说明useridIntprimarykeyauto_increment用户IDusernamevarchar用户昵称pwdvarchar密码phonevarchar用户号码Power1varchar等级sexvarchar性别Yu_eInt余额商品表商品表具有商品名称、数量、价格、图片等根本信息。设置pid为主键,主键的生成策略采用自动生成方式。商品的属性图如图3-12所示:商品商品商品ID数量商品名称规格价格描述图片图3-12商品属性图根据图3-12可定义出商品的数据表product,商品表用来保存所有商品的信息。结构如表3-13:表3-13商品表列名数据类型说明idIntprimarykeyauto_increment商品IDNamevarchar名称fujiavarchar规格jiaqianInt价格shuliangvarchar数量tupianvarchar图片miaoshuvarchar描述订单表订单表具有用户昵称、用户姓名、商品名称、、地址、订单日期、订单处理状态等根本信息。设置sid为主键,主键的生成策略采用自动生成方式。订单的属性图如图3-14所示:用户用户订单ID用户姓名时间总价收获地址订单明细订单处理状态图3-14订单属性图根据图3-14可定义出订单的数据表salesorder,订单表用来保存所有订单的信息。结构如表3-15:表3-15订单表列名数据类型说明IdIntprimarykeyauto_increment订单IDshijianvarchar订单时间kewuvarchar客户shouhuodizhivarchar收获地址Jin_eint总价mingxivarchar订单明细zhuangtaivarchar状态phonevarchar3.7本章小结第三章中介绍了程序的根本流程和框架。对商城根本框架等做了详细表达。具体算法的代码实现和详细流程将在下章介绍。课题详细设计4.1总体流程概要设计用户通过登录进入系统,可以进行修改自己的信息,浏览、订购商品,查看、取消订单等操作。通过管理员的权限可以进入后台管理系统分别对商品信息管理、订单信息管理、进行添加、删除、修改和查看等操作。系统工作流程图如图4-1所示。管理员用户管理员用户登入后台登入客户端登入后台登入客户端订单管理商品管理注册、登录浏览商品订单管理商品管理注册、登录浏览商品数据数据库购物车购物车图4-1系统工作流程图4.2Android系统客户端逻辑结构设计及其内容编码客户端登陆功能内容调用Client这个类,实现与后台数据库的连接。运用sql语句查询数据库中用户的信息,与登入界面中输入的信息相匹配,如果匹配错误,那么提示错误,如匹配正确,便可实例化一个Intent对象,并调用其方法,实现登录界面的成功跳转。如图4-2所示:客户端将输入内容以字节流发送至客户端效劳器输入用户名,密码 客户端将输入内容以字节流发送至客户端效劳器输入用户名,密码用户名,密码判断用户名,密码判断 True False客户端接收数据,做相应跳转 客户端接收数据,做相应跳转图4-2客户端登陆流程图登陆功能内容编码的翻译解释packagecom.shopping;--这个类放在了com.shopping这个文件夹下面importandroid.app.Activity;--引入Activity这个类,因为之后会用到这个类中的一些方法importandroid.content.Intent;--Android系统起步开机importandroid.content.SharedPreferences;--SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比方窗口状态es.Editor;--设置Android信息的保存和读取importandroid.os.Bundle;--引入Bundle这个类,Android使用Bundle进行数据传递分析importandroid.os.StrictMode;--规定android的模式importandroid.preference.PreferenceManager;--引入PreferenceManager类,用来保存简单的数据类型importandroid.view.View;Android.view.view--应该是android的封装类,引入后就可以用view中的方法了importandroid.view.View.OnClickListener;--引入onClickListener类,是一种处理的是点击事件的接口。importandroid.widget.Button;--引入widget.Button这个类,就可以使用该类中按钮的一些使用方法importandroid.widget.EditText;--引入widget.EditText这个类,即可以在下面程序中使用编辑文本框中的方法了importandroid.widget.Toast;--引入widget.Toast这个类,作用是实现在界面上弹出一个悬浮提示框importcom..client;--引入Client这个类,Client是ApacheJakartaCommon下的子工程,可以用来提供高效的、最新的、功能丰富的支持协议的客户端编程工具包,Java应用程序需要直接通过协议来访问网络资源。publicclassloginextendsActivity{privateButtonb1;--定义按钮b1privateButtonb2;--定义按钮b2privateEditTexte1;--定义一个编辑文本框e1privateEditTexte2;--定义一个编辑文本框e2SharedPreferencessh;--工程中需要对用户输入的信息进行存储,然后在后续程序中读取使用,利用到了SharedPreferences类。Editore;--编辑器@OverridepublicvoidonCreate(BundlesavedInstanceState)--这是Activity建立的时候一定会调用的onCreate()方法{super.onCreate(savedInstanceState);--继承onCreate()方法setContentView(R.layout.login);--载入登录页面这个视图internet();sh=PreferenceManager.getDefaultSharedPreferences(this);--拿到控件在SharedPreferences中存储的数值e=sh.edit();b1=(Button)findViewById(R.id.login_button1);--从R文件下调出登录页面的button1的按钮符b2=(Button)findViewById(R.id.login_button2);--从R文件下调出登录页面的button2的按钮符e1=(EditText)findViewById(R.id.login_editText1);--从R文件下调出登录页面editText1编辑文本框e2=(EditText)findViewById(R.id.login_editText2);--从R文件下调出登录页面editText2编辑文本框这段代码为用户“登录〞操作代码会出现4种结果:1、显示“用户名不存在〞2、登录成功并显示用户信息;包括1、用户名;2、余额3、显示“密码错误〞4、如果没填写用户名或密码那么显示“您是不是有东西没填啊〞b1.setOnClickListener(newOnClickListener(){--设置一个登录按钮publicvoidonClick(Viewv){--点击这个“登录〞按钮并执行该按钮下的操作if(!e1.getText().toString().equals("")||!e2.getText().toString().equals("")){clienthc=newclient("l=1&sql=select@*@from@user1@where@username='"+e1.getText().toString()+"';");//"+e1.getText().toString()+"--访问网络资源,用户通过填写用户名,以及登录密码进行登录操作,后台将该用户的用户名及密码进行验证操作Stringstr=hc.getshuju();--得到数据信息//Log.d("Jersey",str);--输出数据str,且数据颜色为蓝色if(str.equals("")){Toast.makeText(login.this,"用户名不存在!",Toast.LENGTH_LONG).show();--如果str为空集,弹出一个文本框显示信息“用户名不存在〞return;--返回结果}else{String[]str1=str.split(",");--将得到的信息以,分隔开if(e2.getText().toString().equals(str1[2])){e.putString("id",str1[0]);e.putString("name",str1[1]);e.putString("yu_e",str1[6]);emit();--当str不为空集,可能出现的情况1:那么显示用户的id号码,名字,余额信息,并将信息以“,〞分隔开Inteni=newIntent(login.this,ShoppingActivity.class);--切换到新的界面startActivity(i);--执行跳转到新界面的操作login.this.finish();--登录操作完成}else{Toast.makeText(login.this,"密码错误!",Toast.LENGTH_LONG).show();--当str不为空集,可能出现的情况2:弹出一个文本框,显示“密码错误〞}}}else{Toast.makeText(login.this,"您是不是有点东西没填啊!",Toast.LENGTH_LONG).show();--当str不为空集时,可能出现的情况3:弹出一个文本框显示“您是不是有点东西没填啊〞即可能是用户名没填,或者登录密码没有填写}}});如果未注册那么点击注册按钮先进行注册b2.setOnClickListener(newOnClickListener(){--设立一个注册按钮publicvoidonClick(Viewv){--点击“注册〞按钮,并执行该按钮下的操作Intenti=newIntent(login.this,zhuce.class);--切换到注册界面startActivity(i);--执行跳转新界面的操作login.this.finish();--完成操作}});}这段程序是用来实现连接网络的功能;android系统固定模块程序privatevoidinternet(){StrictMode.setThreadPolicy(newStrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());StrictMode.setVmPolicy(newStrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().detectLeakedSqlLiteObjects().penaltyLog().penaltyDeath().build());}}客户端注册功能内容同样是调用Client这个类,连接到数据库,将输入的信息插入到后台数据库中,两次密码输入一致便可实现注册,如不一样,需重新输入。信息输入正确后实例化Intent对象,调用其方法,并跳转到登入界面。如图4-3所示:密码判断客户端将输入内容以字节流发送至客户端效劳器输入注册信息密码判断客户端将输入内容以字节流发送至客户端效劳器输入注册信息 true false客户端接收数据,做相应的跳转客户端接收数据,做相应的跳转图4-3客户端注册流程图注册功能内容编码和局部解释packagecom.shopping;--这个类放在了com.shopping这个文件夹下面importandroid.app.Activity;--引入Activity这个类,因为之后会用到这个类中的一些方法importandroid.content.Intent;--引入Intent类,用于Android系统起步开机操作importandroid.os.Bundle;--引入Bundle这个类,Android使用Bundle进行数据传递分析importandroid.os.StrictMode;--规定android的模式importandroid.view.View;--android.view.view应该是android的封装类,引入后就可以用view中的方法了nClickListener;--引入onClickListener类,是一种处理的是点击事件的接口。importandroid.widget.Button;--引入widget.Button这个类,就可以使用该类中按钮的一些使用方法importandroid.widget.EditText;--引入widget.EditText这个类,即可以在下面程序中使用编辑文本框中的方法了importandroid.widget.RadioGroup;--调用可以给用户提供多项选择一机制的实现方法importandroid.widget.Toast;--引入widget.Toast这个类,作用是实现在界面上弹出一个悬浮提示框importcom..client;--引入Client这个类,Client是ApacheJakartaCommon下的子工程,可以用来提供高效的、最新的、功能丰富的支持协议的客户端编程工具包,Java应用程序需要直接通过协议来访问网络资源。publicclasszhuceextendsActivity{privateButtonb1;--定义按钮b1privateEditTexte1;--定义一个编辑文本框e1privateEditTexte2;--定义一个编辑文本框e2privateEditTexte3;--定义一个编辑文本框e3privateEditTexte4;--定义一个编辑文本框e4privateRadioGroupr1;--定义一个多项选择一机制菜单r1privateStringsex;--定义性别参量@OverridepublicvoidonCreate(BundlesavedInstanceState){--这是Activity建立的时候一定会调用的onCreate()方法super.onCreate(savedInstanceState);--继承这个方法setContentView(R.layout.zhuce);--载入zhuce〔注册页面〕这个视图internet();--连接网络b1=(Button)findViewById(R.id.zhuce_button1);--从R文件下调出注册页面的button1按钮ce_editText1);--从R文件调出注册页面的editText1编辑文本框1e2=(EditText)findViewById(R.id.zhuce_editText2);--从R文件调出注册页面的editText1编辑文本框1e3=(EditText)findViewById(R.id.zhuce_editText3);--从R文件调出注册页面的editText1编辑文本框1e4=(EditText)findViewById(R.id.zhuce_editText4);--从R文件调出注册页面的editText1编辑文本框1r1=(RadioGroup)findViewById(R.id.radioGroup1);--从R文件调出注册页面的radioGroup1多项选择一机制菜单r1设立一个注册按钮,点击该页面上的注册按钮后可进入页面填写注册信息可能的结果:1、注册成功;2、注册失败原因:两次密码输入不一致;3、注册失败原因:您是不是有东西没填啊b1.setOnClickListener(newOnClickListener(){--设立一个可点击的注册按钮publicvoidonClick(Viewv){--点击这个“注册〞按钮,并执行该按钮下的操作if(!e1.getText().toString().equals("")&&!e2.getText().toString().equals("")&&!e3.getText().toString().equals("")&&!e4.getText().toString().equals("")){f(e2.getText().toString().equals(e3.getText().toString())){--点击注册按钮后,进入注册页面,填写该页面上需要填写的信息内容if(r1.getCheckedRadioButtonId()==R.id.radio0)sex="男";elsesex="女";--该页中有二选一按钮,性别可以选择“男〞或者“女〞其中一个选项clienthc=newclient("l=2&sql=insert@into@user1(username,pwd,phone,power1,sex)@values('"+e1.getText().toString()+"','"+e2.getText().toString()+"','"+e4.getText().toString()+"',2,'"+sex+"');"--访问网络资源,将注册用户的名字,,性别等信息参加到数据库中 Stringstr=hc.getshuju();--得到到数据并放到str中if(str.equals("1")){--如果str=1 Toast.makeText(zhuce.this,"注册成功!",Toast.LENGTH_LONG).show();--注册操作成功并弹出文本框显示提示信息为“注册成功〞 Intenti=newIntent(zhuce.this,login.class);--切换到新的界面startActivity(i);--执行跳转新界面的操作zhuce.this.finish();--完成注册操作 }}else{当str不等于1时会出现下面两种情况Toast.makeText(zhuce.this,"两次密码没填对!",Toast.LENGTH_LONG).show();--情况1:注册时需要填写两次密码,两次密码填写必须一致,如果不一致那么弹出文本框显示提示信息为“两次密码没填对〞 } }else{Toast.makeText(zhuce.this,"您是不是有点东西没填啊!",Toast.LENGTH_LONG).show();--情况2:当注册信息有的工程没有填写时,那么弹出文本框显示提示信息为“您是不是有点东西没填啊!〞 } } });}这段程序是用来实现连接网络的〔android固定模块程序〕privatevoidinternet(){ StrictMode.setThreadPolicy(newStrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());StrictMode.setVmPolicy(newStrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().detectLeakedSqlLiteObjects().penaltyLog().penaltyDeath().build()); }}客户端商品和搜索功能内容会员用户在客户端选择具体商品在客户端选择具体商品显示商品详细信息显示商品详细信息选择数量,参加购物车,并购置选择数量,参加购物车,并购置图4-4客户端商品搜索流程图商品搜索的sql语句在ListInfo类中,调用这个类的方法,实例一个List<HashMao<String,Object>>集合,将搜索出来的商品保存在这个集合中,实例SimpleAdapter对象,List集合中的商品,以列表的形式显示在页面中。1.商品搜索功能内容编码和局部解释packagecom.shopping;--这个类放在了com.shopping这个文件夹下面importjava.util.HashMap;--引入util.HashMap这个类,可以调用HashMap中的“链接〞方法importjava.util.List;--引入util.List这个类,可以使用list进行批量数据序列操作istActivity;--引入ListActivity这个类,该类是绑定到一个数据源,用来显示这一串数据的importandroid.content.Intent;--引入Inrent类,用来实现Android系统起步开机操作importandroid.os.Bundle;--引入Bundle这个类,Android使用Bundle进行数据传递分析importandroid.view.View;--android.view.view应该是android的封装类,引入后就可以用view中的方法了importandroid.view.View.OnClickListener;--引入onClickListener类,是一种处理的是点击事件的接口。importandroid.widget.ArrayAdapter;--引入widget.ArrayAdapter,可以使用将数据放到一个数据以便使用的方法importandroid.widget.Button;--引入widget.Button这个类,就可以使用该类中按钮的一些使用方法importandroid.widget.EditText;--引入widget.EditText这个类,即可以在下面程序中使用编辑文本框中的方法了importandroid.widget.ListView;--引入widget.ListView这个类,该类的作用是可以实现以列表的形式展示具体内容,并且能够根据数据的长度自适应显示importandroid.widget.SimpleAdapter;--引入Simple.Adapter这个类,可以将静态数据映射到XML文件中定义好的视图importandroid.widget.Spinner;--引入Spinner类,用来实现Spinner就是下拉菜单的操作importandroid.widget.TextView;--引入TextView类,该类具有用来显文本框的作用importandroid.widget.Toast;--引入widget.Toast这个类,作用是实现在界面上弹出一个悬浮提示框importcom.adapter.ImageSimpleAdapter;--引入ImageSimpleAdapter类,可以实现将静态图片数据映射到XML文件中定义好的视图importcom.list.listinfo;--引入listinfo类,之后会用到该类中的一些方法publicclasssousuoextendsListActivity{privatestaticfinalString[]m={"服装","包包","电视","运动鞋",""};--定义5个字符串分别是:“服装〞、“包包〞、“电视〞、“运动鞋〞、“〞privateEditTexte1;--定义一个编辑文本框e1privateButtonb1;--定义一个按钮b1privateSpinnerspinner;--定义一个下拉菜单privateArrayAdapter<String>adapter;--定义一个数据和视图之间的桥梁,数据在adapter中做处理,然后显示到视图上面@Override从R.java文件中调出sousuo页面所需要的文本框TextView:1、name名字;2、miaoshu描述;3、shuliang数量;4、lujing路径;5、jiage价格;6、id;7:biaoming说明protectedvoidonListItemClick(ListViewl,Viewv,intposition,longid){--是ListView对应的响应事件,一共有四个参数:ListView就是用户单击项所在的列表;View就是我们单击项的视图;Position单击在列表的位置;Id单击项的idTextViewt1=(TextView)v.findViewById(R.id.text1);--从R文件中调出文本框t1TextViewt2=(TextView)v.findViewById(R.id.yin_miaoshu);--从R文件中调出描述商品的文本框t2TextViewt3=(TextView)v.findViewById(R.id.yin_shuliang);--从R文件中调出显示商品数量的文本框t3TextViewt6=(TextView)v.findViewById(R.id.yin_id);--从R文件中调出显示商品id的文本框t6in_biaoming);--从R文件中调出显示说明信息的文本框t7TextViewt4=(TextView)v.findViewById(R.id.yin_lujing);--从R文件中调出显示商品路径信息的文本框t4TextViewt5=(TextView)v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 承包合同终止协议
- 木材公司销售合同
- 平面模特拍摄合同
- 电力施工劳务合同
- 漫画助理外包合同
- 油漆劳务分包合同协议书
- 无人机物流配送运营合作项目合同
- 商丘幼儿师范高等专科学校《旅行社经营管理》2023-2024学年第二学期期末试卷
- 山东管理学院《高阶地质资源勘查与评价》2023-2024学年第二学期期末试卷
- 文华学院《地理科学类专业导论》2023-2024学年第二学期期末试卷
- 溶剂油MSDS危险化学品安全技术说明书
- 马工程西方经济学(第二版)教学课件-2
- 慢阻肺的慢病管理课件
- (中职)化学分析技术项目一 走进化学分析实验室教学课件
- 探放水工培训教材
- 某县某年度高标准基本农田建设项目复核报告
- 秘书实务完整版课件全套ppt教程
- 酒店电子商务全套课件
- 质量体系的职能架构
- 《旅游经济学》全书PPT课件
- 幼儿园一日活动流程表
评论
0/150
提交评论