一个基于Android 的绿色交易系统数据库App的设计与实现
2024-09-14郑瑛
摘要:文章介绍了一个基于Android的绿色交易系统数据库App的设计。该系统由Android前端界面、Spring Boot框架服务端和MySQL数据库共同组成。设计选用了idea和Android Studio作为主要开发工具,旨在为用户提供一个便捷、实用的绿色交易系统数据库,使用户可以通过移动App在各种场合查询和进行绿色交易。
关键词:绿色交易系统;数据库设计;App
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2024)23-0078-04
开放科学(资源服务)标识码(OSID)
随着全球对可持续发展的关注日益增加,绿色交易逐渐成为经济活动中的重要组成部分,并从传统的线下操作逐渐向“线上+线下”转型。对于用户来说,通过智能手机进行线上交易比仅依赖PC端操作更加方便。一方面,用户可以随时随地通过手机浏览和购买与环保、清洁能源、低碳经济等相关的商品;另一方面,供应商可以建立实时的用户反馈和评价系统,让用户对购买的绿色商品和服务进行评价和打分,为商家提供改进产品的依据。基于这一背景,本设计旨在开发一个基于Android操作系统的绿色交易移动端数据库App,为用户提供一个便捷、实时的交易平台。
1 开发技术以及环境
本设计选取的Android系统,涵盖了Spring boot框架以及MySQL作为本设计的开源数据库[1]。究其原因,是因为MySQL对PHP有着较好的支持,可借助GPL协议修改源码来开发实现MySQL系统。
1.1 开发软件环境
本设计选取的Android Studio,是基于IntelliJ IDEA专门为Android开发定制的一个集成开发环境。
1.2 开发硬件环境
笔记本一台:AMD Ryzen 7 4800H/16 GB/RTX2060/Windows 11专业版21H2;手机一台:Redmi Note 7 Pro/6.0GB/MIUI稳定版12.5.4/Android10;显示器一台:AOC 23.8英寸 I2490VXH/BS。
2 系统分析与设计
2.1 需求功能分析
注册功能:用户输入相应的信息即可完成注册。
登录功能:用户在登录界面输入信息后,系统验证无误即可成功登录。
程序首页:包括一个广告轮播图、一个搜索框和一个推荐商品列表。
绿色交易车:用户可将商品添加到绿色交易车,并在绿色交易车中调整数量,显示合计金额。
商品分类:在商品分类列表中,可根据所选的一级分类找到对应的二级商品。
商品搜索:在搜索栏中输入想要查询的商品,可以查询到对应的商品,支持模糊搜索。
商品详情页:展示商品的轮播图,并可点击查看大图,还可以收藏商品和查看商品评分。
客服咨询:用户可以与客服进行沟通。
我的收藏:在“我的收藏”中,用户可以查看自己收藏的商品列表。
浏览记录:用户可以查看曾经浏览过的商品记录。
用户完成注册后,首先点击登录按钮进入首页进行商品浏览。然后可以利用商品分类和搜索功能来挑选喜欢的商品。接下来,在商品详情页中,用户可以查看相关信息,筛选适合自己的绿色交易商品,并将其添加到交易车中。最后,在确认个人信息(如收货地址和联系方式)无误后,用户可以生成订单并进行支付,完成最终的商品购买。绿色交易流程图与功能结构图见图1。
2.2 性能分析
启动时间:在市场上常见的安卓和苹果智能手机配置下,应用的启动时间应该在5秒之内。
响应时间:在忽略网络和设备配置的情况下,本地测试显示点击的响应速度应该在0.5秒以内。
运行内存占用:在用户正常操作的情况下,应用的运行内存占用不应超过100 MB。
硬盘空间占用:在用户正常使用的情况下,包括缓存,商城App所占据的硬盘空间总量应不超过700 MB。
2.3 数据库设计
考虑到数据库的选择和设计会直接影响到系统的性能和应用的设计[2],因此在本设计中,选择了当前市场上使用频率较高的开源数据库MySQL,并且采用方便、易用、可视化界面的Navicat Premium作为数据库操作的辅助工具。在数据库的整体框架上,本系统共设计了13个表,它们分别是:用户表、用户地址表、品牌表、优惠券信息表、物流表、订单表、商品表、商品图片表、商品类型表、用户浏览记录表、绿色交易车表、用户收藏表、用户反馈表。
2.3.1 用户表
用户表包含用户id(user_id) 、用户名(username) 、密码(password) 、昵称(nike_name) 、头像(head_pic) 、联系电话(telno) 、邮箱(email) 字段。设置用户id为主键,自动生成。
2.3.2 用户地址表
用户地址表设置地址id(address_id) 为主键,采用自动生成,此外还包含用户id(user_id) 、收货人(Consignee) 、手机号(telno) 、省市区(province_and_city) 和详细地址(detailed_address) 字段。
2.3.3 品牌表
品牌表包含品牌id(brand_id) 、品牌名(brand_name) 和品牌图片地址(brand_pic_url) 字段。
2.3.4 优惠券信息表
优惠券信息表包含优惠券id(discount_volume_id) 、用户id(user_id) 、优惠券类型(discount_volume_type) 、优惠券说明(preferential_volume_content) 字段。
2.3.5 物流表
物流表包含发货方式(preferential_volume_content) 、物流id(logistics_id) 、物流公司(logistics_company) 、运单id(waybill_id) 、物流详情(logistics_details) 字段。其中物流id字段采用主键自动生成策略。
2.3.6 订单表
订单表包含订单id(order_id) 、订单日期(order_date) 、用户id(user_id) 、订单说明(receiver_information) 、订单金额(order_money) 、订单状态(order_status) 、优惠券id(discount_volume_id) 、物流id(logistics_id) 、运费(freight) 、发票(invoice_rise) 、支付模式(delivery_mode) 、支付时间(delivery_time) 、付款方式(payment_method) 字段。其中订单id为主键采用自增的策略,通过用户id、优惠券id、物流id去关联相应的表。
2.3.7 商品表
商品表包含商品id(product_id) 、商品类型id(product_type_id) 、商品名(product_name) 、商品原价(old_price) 、商品描述(description) 、商品新价格(new_price) 、商品图片(product_pic_url) 、商品状态(flag) 、商品单位(unit) 、品牌id(brand_id) 、库存(inventory) 、上架时间(time) 、商品规格(specification) 字段。其中,商品id为主键,采用自增的策略。通过商品类型id、品牌id去关联相应的表。
2.3.8 商品图片表
商品图片表包含商品图片id(pic_id) 、商品id(product_id) 、商品图片路径(product_pic_url) 字段。其中商品图片id采用自增策略。通过商品id去管理相对应的商品。
2.3.9 商品类型表
商品类型表包含商品类型id(product_type_id) 商品类型(product_type_name)、商品类型图(product_type_pic_url) 字段。其中商品类型id为自增的主键。
2.3.10 用户浏览记录表
用户浏览记录表包含用户浏览记录id(user_browse_record_id)、用户id(user_id)、商品id(product_id) 字段。其中以用户浏览记录编号为自增主键,通过用户id和商品id去关联用户表(tbl_user) 和商品表(tbl_product) 。
2.3.11 绿色交易车表
绿色交易车表包含用户id、商品数量、商品id字段。通过商品id去关联商品表(tbl_product) 。
2.3.12 用户收藏表
用户收藏表包含用户收藏id(tbl_product) 、用户id(user_id) 、商品编号id(product_id) 字段。其中用户收藏id为递增主键,通过用户id和商品id分别对应去关联用户表(tbl_user) 和商品表(tbl_product) 。
2.3.13 用户反馈表
用户反馈表包含用户反馈id(user_feedback) 、商品id(product_id) 、用户id(user_id) 、联系方式(contact_information) 、反馈内容(feedback_content) 、星级(star_class) 字段。以用户反馈编号为主键,采用递增的策略。通过用户id和商品id分别去关联用户表(tbl_user) 和商品表(tbl_product) 。
2.4 绿色交易系统数据库前端设计
2.4.1 用户注册登录功能
在本次基于Android的绿色交易系统数据库App设计中,注册页面要求用户输入用户名和两次密码。只有在验证用户名没有重复且两次密码输入一致时,才能成功完成注册。注册完成后,用户将自动跳转到登录页面。如果用户忘记密码,可以选择“找回密码”操作来重新找回并完成密码重置。此外,本设计还在用户名和密码的输入上加入了正则表达式来判断用户的输入是否符合规范,这样可以避免密码过短、过于简单,或者用户名太短的问题。这些措施旨在提高系统的安全性和用户体验。
2.4.2 绿色交易流程设计
商品浏览功能是本设计中最基本的功能之一,即使用户没有登录也可以使用。如图2所示,用户可以通过各种商品列表页来浏览商品,然后点击进入商品详情页。在用户登录后,他们还可以在商品详情页上对商品进行选择。例如,他们可以选择是否将商品加入绿色交易车,是否需要与客服进行咨询确认,或者是否将商品仅供暂时收藏等操作。这些功能的存在为用户提供了更加灵活和便捷的购物体验。
3 服务端功能的具体实现
服务端采用Spring Boot框架实现。其中,config包用于存储服务端的相关配置信息,包括数据库配置文件、日志配置文件、应用配置文件等。Controller包中存放各种API接口[3]。Dao包主要用于提供对数据库的集成支持,方便快速地进行数据库操作。而model包则包含实体类,这些实体类是根据数据库表结构自动生成的。
3.1 登录注册功能
登录功能由login()方法实现,服务端接收客户端传来的user对象,然后通过遍历数据库验证用户名和密码是否正确。如果验证成功,则返回包含用户信息的数据。
3.2 商品列表查询功能
商品列表查询功能相对简单,可以分为查询所有商品、根据条件查询和模糊查询等。在本设计中,绿色交易系统数据库会传入相应的品牌ID,然后服务端根据传入的品牌ID去搜索满足条件的商品,并最终返回结果[4]。
3.3 交易车添加、修改功能
当用户在绿色交易系统数据库上点击添加到绿色交易车时,会向后端发送一个包含UserCart对象的HTTP请求[5]。该对象包含用户ID和商品信息等。服务端收到请求后,会遍历查询找到对应的用户,再找到相应的商品,并进行绿色交易车表的插入操作。
3.4 相关功能测试
首先,在登录注册功能的测试方面,该功能逻辑清晰,易于理解。通过对User对象进行验证,能有效防止非法用户访问系统。同时,该功能还提供了用户信息的安全存储,为后续的个性化服务和操作打下了坚实的基础。
其次,在商品列表查询功能的测试中,能够为用户提供清晰的浏览和搜索商品的能力。通过将绿色交易系统数据库与品牌ID相结合,实现了精确和高效的查询。这种设计不仅简化了查询过程,还为用户提供了更个性化的搜索体验。此外,该功能还支持模糊查询和分页查询,进一步增强了其实用性。
最后,在交易车添加、修改功能的测试中,该功能允许用户对感兴趣的商品进行管理,并能随时更新购买意向。当用户点击添加绿色交易车时,会发送包含用户ID和商品信息的UserCart对象。服务端在接收到请求后,能够快速定位到用户和相应的商品,并进行插入操作。这样的设计保证了数据的准确性和一致性,并为用户提供了流畅的购物体验。
综上所述,绿色交易系统数据库App的数据库设计在服务端功能上具有很高的可行性和实用性。这些功能不仅满足了用户的基本需求,还通过高效的数据库操作和逻辑设计提高了系统的性能和稳定性。
4 结论
绿色交易的目的是通过交易的方式强调节约能源和材料消耗,减少环境污染,并实现社会环境资源的可持续发展。本设计是基于Android的绿色交易系统数据库App,主要包含Android前端(绿色交易App本身)和一个服务器后端。用户可以通过App进行绿色交易。前端使用Retrofit2框架实现网络请求,通过Banner实现轮播图,并通过自定义控件实现绿色交易车的相关功能。此外,本设计还通过自绘控件完成了客服咨询界面的实现。在未来的研究中,希望能对代码进行进一步优化,以实现多人同时进行虚拟化交易,推动绿色交易行业的高效运转。
参考文献:
[1] 王子静,刘思雨.基于ECharts的交易数据可视化系统的设计与实现[J].集成电路应用,2023,40(5):244-245.
[2] 于树科,严晨雪.基于区块链技术的物联网数据交易系统的设计和实现[J].信息系统工程,2022(12):51-54.
[3] 李群,孙永忠,郭宁远.Oracle数据库数据备份与还原系统设计与实现[J].网络安全和信息化,2023(5):75-77.
[4] 杜欣笑.基于区块链技术的物联网数据感知与自动交易系统设计与实现[D].西安:西安电子科技大学,2019.
[5] 黄永锋,芮国荣,王嘉玮,等.基于区块链技术的房地产预售资金托管系统探究:以正泰公司托管系统改造为例[J].江苏理工学院学报,2022,28(6):107-121.
【通联编辑:张薇】