《基于Android实现的网上购物app的设计与实现》7400字(论文)_第1页
《基于Android实现的网上购物app的设计与实现》7400字(论文)_第2页
《基于Android实现的网上购物app的设计与实现》7400字(论文)_第3页
《基于Android实现的网上购物app的设计与实现》7400字(论文)_第4页
《基于Android实现的网上购物app的设计与实现》7400字(论文)_第5页
已阅读5页,还剩17页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Android实现的网上购物app的设计与实现摘要基于Android需要如何设计和开发一个购物app的过程是本文的主要内容。首先分析了现在的社会背景环境,然后介绍了需要用到的工具和环境,然后进行了需求分析和购物app的设计,然后再设计好数据库。然后再简单得介绍了商城的具体实现,贴出伪代码和主要代码帮助进行理解。最后进行总结,提出不足和对未来的展望。本文基于Android开发和设计实现了一个购物系统app,使用集成开发环境采用Java语言编写后台api接口,数据库采用的是MySQL。用户可以通过该app实现随时随地购物,让用户体验到网上购物的乐趣。关键词:Android;Java;MySQL;网上购物;app;目录TOC\o"1-3"\h\u14220一、绪论 一、绪论1.1研究背景与意义智能手机人手一部在当今看来已经很正常,并且随着5g时代的到来以及智能手机的不断迭代发展。现在智能手机不管是刷短视频,看直播,购物等等,体验都日益递增。不得不说现在的年轻人思维比较地活跃,比较喜欢尝试新事物。对于新事物的接受程度非常的高,相比于线下购物,他们更热衷与网上购物。尽管已经有了很多不错的购物平台,但是我们可以从不断的更新升级的购物app可以看出。用户的需求不断地改变,消费者的使用习惯和使用感受也可能会随着时间的推移产生变化。设计和开发一个简单易用的网购app也还是可行的方案。这篇论文主要讲述的是如何用Java开发一个操作系统的购物app,当然这个app是基于Android。该系统主要分为Android的前端界面和采用目前非常火的SpringBoot的框架技术来对服务端设计与开发,还有MySQL——一个开源免费好用的数据库。本项目以idea和Androidstudio作为主要开发工具,希望能给用户设计出一个可以便捷实用的购物app。该系统应该实现用户注册登录,浏览商品,搜索商品,根据分类筛选商品,查看商品详情,与客服聊天,购物车等等基本的网购功能。对于商家来说,可以将商品通过该平台进行售卖,获得更大的流量,而且不用担心房租水电等的产生。对于消费者来说,通过智能手机进行网上购物更加方便。只要你有一台能上网的手机,即可在任何地方24小时随时随地查看并购买商品。而且商品内容极其丰富,你更容易买到你想买的小众商品。手机网上购物是时代的选择。1.2开发技术以及环境1.2.1论文的目的、内容网上购物系统,是在网络上建立一个虚拟的购物商场,避免了挑选商品的烦琐过程,使您的购物过程变得轻松、快捷、方便,很适合现代人快节奏的生活;同时又能有效的控制“商场”运营的成本,开辟了一个新的销售渠道。本系统是一个中小型的电子商务系统,可以为各类用户提供方便的在线购物环境,符合目前国内流行的电子商务模式。用户可以在系统中实现注册、登录、修改个人信息、分类查询商品信息、购物、管理购物车、结账和查看各种服务条款等功能。通过后台管理模块可以实现后台管理员对会员、商品、物流、订单和系统管理。1.2.2开发硬件环境笔记本一台:AMDRyzen74800H16.0GBRTX2060Windows11专业版21H2手机一台:RedmiNote7Pro6.0GBMIUI稳定版12.5.4Android10显示器一台:AOC23.8英寸I2490VXH/BS二、系统分析与设计2.1需求功能分析注册功能:用户进入到注册页面中,页面会显示出相对应的提示和输入框。用户可以根据提示在输入框中输入所需要的信息,通过验证没有问题以后用户就可以完成注册。登录功能:用户进入到登录页面中,用户需要根据登录界面所提示的信息进行输入,系统验证无误后即可登录成功。程序首页:首页有一个广告轮播图和一个和搜索框和根据用户喜好进行个性化推荐的商品列表。购物车:在商品详情页面,用户可以通过点击某个图标实现将商品添加到购物车,而且还可以在购物车可以调整数量和显示合计金额。商品分类:用户可以在商品分类列表中可以根据自己的喜好选择某一个分类,然后系统会将所选的分类下对应的商品显示出来。商品查找:在搜索栏输入商品想要查询的商品,可以查询到对应的商品,支持模糊搜索。商品详情页:商品详情页有商品的轮播图,还可以点击查看大图,此外可以对商品进行收藏,查看商品评分。客服咨询:在客服咨询页可以与客服进行沟通。我的收藏:在个人中心可以看到我的收藏入口,用户点击进入后可以在我的收藏页面可以看到已经收藏的商品列表浏览记录:在浏览记录页面可以查看曾经浏览过哪些商品。用户打开app后默认进入商城首页,这时候能进行商品的浏览,根据商品分类查看商品,也可能模糊搜索商品以及查看商品详情等基础功能。不过当用户点击购物车用户信息等需要登录才能使用的功能时,会弹出提示框提示用户前往登录,用户可以选择取消或者继续登录操作。如果用户已经进行了登录,那么就可以体验商城的全部功能,比如说可以进行浏览商品,挑选自己喜欢的商品添加到购物车,完善个人信息比如收货地址联系方式等等,然后就可以生成订单进行支付,就可以完成商品的购买。还可以查看浏览记录,我的收藏等等。基于以上可以得出图2-1用户用例图、图2-2购物流程图、图2-3应用的功能结构图。图2-1用户用例图图2-2购物流程图图2-3功能结构图2.2性能分析启动时间:在普遍的手机配置下,应用的启动时间不应超过5s。响应时间:忽略网络和设备的配置影响,本地测试点击响应速度应为0.5s以内。运行内存占用:用户正常操作情况之下,运行内存占用不应超过100Mb。硬盘空间占用:用户在正常使用的情况之下,包括缓存,合计商城app所占硬盘空间不能超过700M;2.3数据库设计在一个系统设计中当中,选择什么样类型的数据库非常的重要。系统的性能和应用的设计或多或少都会受到数据库的影响。本系统采用了非常火爆的的开源数据库Mysql。它不仅开源免费而且性能还很不错,所以被很多公司所使用。然后我还选择了NavicatPremium作为数据库操作的辅助工具。他有着方便易用的可视化界面。2.3.1数据库的整体设计数据库方面共设计了13个表。分别是用来用户表(储存用户基本信息),用户地址表(为用户保存收货地址)、品牌表(储存所有品牌相关的信息)和优惠券信息表(用于保存优惠券相关信息)、物流表(专门用来储存物流状态等等的信息)、订单表(存放所有用户生成的订单,包括已完成未完成已取消的订单)商品表(存储商品的基本信息)、商品图片表(专门用来保存商品的轮播大图和详情图)、商品类型表(保存一个商品是属于什么类别的)、用户浏览记录表(保存用户浏览记录)、购物车表(用户把商品弄到购物车后的数据就在这里存放)、用户收藏表(保存用户的收藏商品)、用户反馈表(存储用户反馈的内容)。可得数据库的整体关系模型如图2-4所示。图2-4数据库的整体关系模型2.3.2数据库表的具体设计(1)用户表用户表拥有用户id(根据数据库主键按顺序自动生成,每个用户都有不相同的编号)、用户名(由用户自定义,可以由用户进行修改)、密码、昵称(用户可以根据自己的想法给自己取一个名字)、头像、联系电话、邮箱字段。可以得到用户表结构图2-5图2-5用户表表结构图(2)用户地址表用户地址表拥有地址id为主键采用自动生成,此外还有用户id(可以同来关联用户,通过这个字段实现两个表的联系)、收货人(这里主要存的是收货人的名字)、手机号、省市区和详细地址字段。可得用户地址表图,如图2-6所示。图2-6用户地址表表结构(3)品牌表品牌表拥有品牌id(主键,自动生成策略),品牌名和品牌图片地址(主要是存放品牌的logo)。品牌表结构图如图2-7所示。图2-7品牌表结构图(4)优惠券信息表优惠券信息表有优惠券id(主键,自动生成策略)、用户id(用来识别是哪个用户拥有这张优惠券)、优惠券类型、优惠券说明字段(这里存放一段描述,方便用户知道这张优惠券的使用方法)。优惠券信息表结构图如图2-8所示。图2-8优惠券信息表结构图(5)物流表物流表有发货方式、物流id、物流公司、运单id(主要用来保存快递单上的号码,以便查询)、物流详情(主要用来保存物流的状态,随着物流的信息更新,不断增加内容但又不覆盖)字段。其中物流id字段采用主键自动生成策略。物流表结构图,如图2-9所示。图2-9物流表结构图(6)订单表订单表拥有订单id、订单日期、用户id(根据这个字段用来和用户表建立来连接)、订单说明、订单金额(订单的总金额,是用户实际需要付款的金额)、订单状态、优惠券id(根据这个字段来识别用户用的哪一种优惠券)、物流id(根据这个字段用来和物流表建立来连接)、运费、发票、支付模式、支付时间、付款方式字段。其中订单id为主键采用自增的策略。订单表结构图如图2-10所示。图2-10订单表结构图(7)商品表商品表拥有商品id、商品类型id、商品名、商品原价、商品描述、商品新价格(也就是打折后的价格)、商品图片、商品状态(上架或者下架)、商品单位、品牌id、库存(该字段不能为小于0)、上架时间、商品规格字段。其中,商品id为主键,采用自增的策略。通过商品类型id、品牌id去关联相应的表。商品表结构图如图2-11所示。图2-11商品表结构图(8)商品图片表商品图片表拥有商品图片id、商品id、商品图片路径(商品id不唯一,可以通过商品id来存放很多种图片)字段。其中商品图片id采用自增策略。通过商品id去管理相对应的商品。商品图片表结构图如图2-12所示。图2-SEQ图\*ARABIC\s112商品图片表结构图(9)商品类型表商品类型表有商品类型id,商品类型名、商品类型图(主要是透明的logo图)字段。其中商品类型id为自增的主键。商品类型表结构图如图2-13所示。图2-13商品类型表结构图(10)用户浏览记录表用户浏览记录表有用户浏览记录id、用户id、商品id字段。其中以用户浏览记录编号为自增主键,通过用户id和商品id去关联用户表(gd_tbl_user)和商品表(gd_tbl_product)。用户浏览记录表结构图如图2-14所示。图2-14用户浏览记录表结构图(11)购物车表购物车表拥有用户id、商品数量、商品id字段。通过商品id去关联商品表(gd_tbl_product)。购物车表结构图如图2-15所示。图2-15购物车表结构图如图(12)用户收藏表用户收藏表有用户收藏id、用户id、商品编号id字段。其中用户收藏id为递增主键,通过用户id和商品id分别对应去关联用户表(gd_tbl_user)和商品表(gd_tbl_product)。用户收藏表结构图如图2-16所示。图2-16用户收藏表结构图(13)用户反馈表用户反馈表拥有用户反馈id、商品id、用户id(这个字段并不是唯一)、联系方式(可以是邮箱也可以是联系电话)、反馈内容(主要是文本格式)、星级(对该商城的评分)的字段。以用户反馈编号为主键,采用递增的策略。通过用户id和商品id分别去连接用户表(gd_tbl_user)和商品表(gd_tbl_product)。用户反馈表结构图如图2-17所示。图2-17用户反馈表结构图2.4服务端设计服务端负责为购物app提供api接口。采用经典是MVC(Model-View-Controller)设计模式,结构清晰,方便理解使用简单。购物app为了展示数据库的数据,通过对应的方法使用网络请求向服务端发送信息。服务端收到购物app发来的请求后,通过各种相对应的方法对传来的信息进行解析,然后进行数据库处理的操作。然后将数据返回到购物app。2.5购物app前端设计2.5.1用户注册登录功能注册登录是一个商城app必不可少的功能。如果用户需要进行注册登录以体验商城app的全部功能的时候,可以通过弹出的提示对话框进行跳转至相应的注册或者登录页面来进行注册登录。当用户通过点击进入注册页面之后,首先系统会在比较明显的地方提示用户输入相关信息,其中主要信息为用户名和密码,为了防止用户因为某种意外的因素,导致密码输入有误,所以密码需要输入两次。随后前台通过客户端的逻辑判断检验用户两次密码输入一致是否一致,然后再由服务端检查用户名是否已经存在。如果没有存在就可以完成注册的操作。用户注册完毕后会自动给用户跳转到登录页面,用户可以输入用户名和密码进行登录。如果忘记密码,也可以选择进行密码的找回。有一个专门管理找回密码的页面,用户可以在里面输入相关验证信息,通过验证后即可找回修改密码。该页面加入了正则表达式判断用户的输入是否符合规范,避免密码过短过于简单或者是用户名太短的问题。用户的注册以及登录的流程图分别如图2-18和图2-19所示。图2-18用户注册流程图图2-19用户登录流程图2.5.2购物流程设计商品浏览功能为最基本的功能,即便用户不登陆也可以使用。用户通过各种商品列表页可以进行浏览商品,然后点击可以进入商品详情页。当用户登录后还可以在商品详情页用户可以点击页面下方的购物车图标,将商品添加到购物车,还可以与客服聊天,收藏商品等操作。用户登录后商品浏览操作功能流程图如图2-20所示。图2-20用户登录后商品浏览操作功能流程图三、商城功能具体实现3.1注册登录页面的实现在注册登录页面,用户可以输入账号密码通过验证后自动跳转至首页。针对用户的登录行为做了比较晚上的判断。如用户未输入用户名或密码点击登录的话,会提示用户名/密码不能为空。用户也可以点击下面的随便看看,跳过登录步骤进行商城的浏览。整体界面采用的是橙色的主题配色,对按钮进行了圆角处理,同时点击相应的输入框后该框和该框的提示信息也会变成橙色,使界面更加的生动美观。登录界面如图3-1所示。图3-1用户登录界面图在注册界面用户可以输入用户名和密码,通过验证后即可注册成功。如果输入过短或者使用连续数字等安全性极低的密码登录,则会提示用户修改密码以确保安全。注册界面的配色采用了和登录界面统一的配色,按钮和布局都非常接近,使用户跳转到注册页面的时候不至于会感觉到唐突。具体的界面见图3-2用户注册界面图。图3-2用户注册界面图3.2商品列表页实现商品列表页实现的地方这里就选取热门单品分类来说明。列表其实是通过一个个小的item通过遍历实现。首先根据所需要展示的信息,去构建出一个商品的界面,也就是item。然后用列表对服务端返回的数据进行循环,即可生成这样子的一个商品列表页。整体界面见图3-3商品列表图。图3-3商品列表图列表页主要是使用了官方自带的gridView来实现,首先设计一个xml布局文件,然后通过Activity文件配合进行单个商品item的布局设计。然后再对服务端发起请求,服务端会通过数据库来返回相对应的商品列表。然后客户端再通过对返回的Json数据进行解析,获取到其中的商品列表数据,再根据列表循环遍历然后渲染出客户端界面。3.3购物车实现购物车实现相对复杂些,主要需要考虑的因素有商品的多选,数量修改,选中商品价格的合计金额。不能简单的设置单个适配器item就可以实现,要往适配器里添加自定义按钮,实现数量的修改。对数量的调整进行限制,要求数量是不超过商品库存的非0自然数,如果商品数量减到1时还继续点击减数量,则会提醒用户是否把该商品移出购物车。此外,如果想快速从购物车删除某个商品,在购物车左滑可以显示删除按钮。具体页面见图3-4购物车图和图3-5购物车左侧滑图。图3-4购物车图图3-5购物车左滑图四、服务端功能具体实现服务端由springboot实现,服务端文件结构如图4-1。其中config用来储存服务端的相关配置信息,比如说数据库配置文件,日志配置文件,应用配置文件等等。Controller文件里放的是各种api接口。Dao包里主要是操作数据库的集成支持,方便快速地对数据库进行操作,而model放的是实体类,主要是根据数据库文件来生成。采用JDBC驱动来对Mysql数据库和服务端进行连接,还使用了Mybatis框架对数据库进行了一些快捷的映射。通过它可以很好的避免了JDBC代码和手动设置参数。图4-1服务端文件结构图4.1登录注册功能登录功能由login()方法实现,服务端接收到客户端传来的User对象,通过bean来进行解析,再通过遍历数据库,来验证用户名和密码是否正确,如果正确则返回用户信息的数据。商品列表查询功能。注册功能通过join()方法来实现,同登录功能一样,服务端通过接收客户端传来的User对象,然后根据其中包含的用户名字段来对数据库进行遍历查询,如果已经存在那么返回给客户端用户已经存在的。如果遍历查询不存在即可完成注册。4.2商品列表功能商品列表功能比较简单,可以简单划分为查询所有商品,根据查询,模糊查询等。就拿根据品牌查询做例子。购物app通过用户的点击然后根据相对应的品牌id发送给客户端,随后服务端在queryProductType()通过传入的品牌id在数据库进行遍历操作,搜索满足条件的商品,然后将对应的商品列表信息等进行返回。4.3购物车添加/修改功能当用户在购物app上点击添加购物车的时候,会向后端发送一个UserCart对象的http请求,该对象包含用户的id以及商品的信息等。服务端收到后,会遍历查询找到该用户,然后再找到相对应的商品,通过判断用户的购物车里面有没有这个商品,有的话数量加一,如果没有的话就对购物车表进行插入。当用户想要删除购物车中的商品或者进行数量的修改,那么可以通过点击购物车中商品左右两边的加减号或者直接点击商品数量亦或者是直接左滑商品删除,进行对应操作后,客户端就会分别执行对应的方法。向客户端传递相关的数据,然后服务端在相对应的方法接收到数据,然后再对数据库中的商品数据进行检索然后进行修改删除操作。五、总结本片论文的研究主题是基于Android实现的网上购物app的设计与实现。设计开发了一个购物app,主要包含Android前端也就是购物app本身和一个服务器后端。用户可以通过本购物app进行购物。前端使用retrofit2框架进行实现网络请求,采用banner

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论