基于Android的生鲜农产品商城交易设计与实现

摘  要

人们生活水平随着发展不断的提升,人们对生鲜产品消费比越来越依赖,都希望吃到新鲜的食品。消费的加大给生鲜了全新的供应链及销售模式,那种传统的生鲜配送模式也在发生着变化。生鲜系统电商平台在我国目前是属于盛行的电商行业,快递物流配送冷链仍存在这诸多问题,需要解决就近仓库,减少运输成本。电子商务发展条件下,如何能够构建高效的生鲜产品物流冷链供应链模式,保证生鲜产品在整个供应过程中成本最小化。

在传统的生鲜行业中,采用惯例电话、手写、拍照等方式进行下单;平台录单员一边拿着笔记录,一边去发货核对订单。下单的时候有零散、麻烦、易出错的特点,就算是集中精力也还是无法避免出错的情况发生。另外我们生鲜人都知道,人工操作很难对订单行精准、达不到高效统计汇总,小张生鲜通过系统方式解决了该问题;主要功能买家用户的注册和登录、浏览商品、商品信息查询、订购商品、购物车,支付功能、查看订单功能。服务端包括商家用户的注册和登录、商品信息的管理、用户订单的管理功能

关键词:生鲜电商;Android应用开发;sqlite数据库;app开发


Abstract

With the continuous improvement of people's living standards, people are increasingly dependent on the consumption ratio of fresh products, and they all want to eat fresh food. The increase in consumption has created a new supply chain and sales model for fresh food, and the traditional fresh food distribution model is also changing. At present, fresh e-commerce is an emerging e-commerce industry in China, and there are still many problems in its logistics distribution cold chain. Under the development of e-commerce, how can we build an efficient cold chain supply chain model of fresh product logistics to minimize the cost of fresh products in the whole supply process.

In the traditional fresh food industry, orders are placed by conventional telephone, handwriting, photography and other methods; The platform recorder took the notes while checking the order. When placing an order, it is scattered, troublesome and error-prone. Even if you focus on it, you cannot avoid mistakes. In addition, we all know that it is difficult for manual operation to accurately and efficiently summarize the order line. Xiaozhang Fresh Food has solved this problem in a systematic way; The main functions are the registration and login of buyer users, browsing products, product information query, ordering products, shopping cart, payment function, and order viewing function. The server includes the registration and login of merchant users, the management of commodity information, and the management of user orders;.

Key Words: Fresh e-commerce; Android application development; Sqlite database; App development


目  录

1 绪论

1.1 研究背景

1.2 研究现状

1.3 主要工作

2 关键技术简介

2.1 Android技术

2.2 SQLite数据库

2.3 面向对象编程

3 系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2 经济可行性

3.1.3 操作可行性

3.2 系统性能分析

3.3 系统界面分析

3.4 系统UML用例分析

3.5 系统流程分析

3.5.1 登录流程

3.5.2 发布商品流程

3.5.3 购买流程图

4 系统的设计

4.1 系统设计目标

4.2 系统结构设计

4.3 系统顺序图

4.4 数据库设计

4.4.1数据库E-R图设计

5 系统的实现

5.1注册登录页面

5.2首页

7 总结

致  谢

附录1  系统总流程图

附录2  代码

附录3  毕业设计作品说明书

附录4  重复率检测报告

1 绪论

1.1 研究背景

目前我的生鲜系统平台发展速度还是正盛行的时期,民以食为天整个一点都不为过,生鲜也是高频刚需的消费品类。2021年,我国在食品上的消费支出占比人均消费支出比重达30.2%。相对于其他消费品类来说,生鲜的消品具有消费频率高、消费力度速度快等特点,生鲜产品更是具有刚需属性。

我国是人口大国,人口的基数本身就很大,所以需要的生鲜食品量也是很大,而且分配不均匀,南北不同地区温差变化,生鲜生产也不一样,所以需要有生鲜的配送问题,生鲜电商的持续稳定发展,离不开消费者的支持,虽然部分平台的注册用户很多,但是实际长期使用的用户会在注册用户数量上大量减少,很多用户注册并使用的原因都是新人注册后,第一次购物会有极大的优惠力度,或者出于对未知平台的兴趣体验。平台无法通过持续的极大优惠力度留住客户,当优惠下降时对于平台的使用率便会下降;

总而言之,生鲜系统电商平台目前呈现的发展存在一些问题,平台模式被逐渐成熟划分,运营模式也有不尽相同,面对各电商平台都面临着各种挑战和机遇,生鲜电商的发展趋势应该也是百花齐放,如果行业垄断既不符合消费者的利益,也会由于缺乏竞争而影响企业自身的发展;

1.2 研究现状

近年来,我国的生鲜农产品产量不断增长,2001年我国的蔬菜产量仅为6658万吨,而2022年我国的蔬菜产量预计将达到7.56亿吨。对于批发市场,超市或者生鲜市场这样的销售方式,期间的物流环节较多,不管是对商家还是消费者来说都消耗大量的时间和精力,而且对于生鲜的新鲜程度以及损耗也有很大的影响。

随着电子商务近几年在国内的高速发展,像淘宝、京东、唯品会加速了为电子商务服务的软件行业的发展,随之诞生了许多与之密切相关的网店和网上商城系统。随着生鲜电商的发展,手机网上购物系统很好的解决了这些问题,只需要在手机应用程序中查找自己的所需,就可以完成下单购买,对于很少有闲暇时间去商场购物的上班族提供了便捷,节约下了购物的时间,购物变得更加便捷,更加人性化了,而且也很好的解决了当前疫情,购买生活物资的问题。对于生鲜的新鲜程度也能够及实时更新,不仅保证了消费者购买商品的质量,还能减少商家的损失。

现状:

在过去,生鲜都是以批发市场,超市或者生鲜市场的方式进行销售方。这样的方式不仅很耗时间,也使农场品损耗巨大。随着网络的发展,2005年中国第一家生鲜电商“易果网”成立,标志着生鲜电商历史的开端,生鲜电商的发展也是一波三折,2016-2019行业经历了裁员、破产和资金链中断。但是由于2019疫情的影响,人们出门购物很是不方便,居家物资需求激增,网上购物就成为保障居民日常生活的重要渠道,消费者的购物需求旺盛,需求激增导致了濒临崩溃的生鲜电商“重生”,各大生鲜电商平台的订单数量直线上升,生鲜电商发展迅速。

1.3 主要工作

本设计首先对生鲜电商的app进行市场的调研,收集大部分市面的页面设计,菜单分布以及常用的功能模块,利用目前所学知识,软件编程、数据库知识的应用,作为技术基础。

其次,对市场的生鲜平台做了调研进行整理,希望自己能够完成整个app设计,用户界面,业务逻辑的梳理。

最后一步研究开发生鲜平台,程序流程,框架图的等,包含库管理系统,设计数据库信息,编码阶段,测试验证及论文编写。

基于Android平台下实现生鲜线上交易的功能。该系统分为两种角色:普通用户商家。普通用户包括买家用户的注册和登录、浏览商品、商品信息查询、订购商品、购物车,支付功能、查看订单功能。商家包括商家用户的注册和登录、商品信息的管理、用户订单的管理功能。

客户端:

(1)浏览商品:买家注册登录账户后,可以浏览生鲜。

(2)查询商品信息:买家可以根据自己的需要在搜索栏中搜索自己需要的生鲜。

(3)订购商品:买家可以直接购买自己需要的生鲜。

(4)购物车:买家可以把想要购买的生鲜信息先存放在购物车里。

(5)支付功能:买可以购买生鲜产品。

(6)查看订单:买家可以查看购买过的生鲜订单。

服务端:

(1)商品信息的管理:商家注册的登录后,可添加、修改生鲜。

(2)商品订单管理:当接受到买家所下的订单是及时处理订单,并记录发货信息。


2 关键技术简介

2.1 Android技术

Android是一个全身绿色的机器人,半圆形的头部,有两支天线和空白的点作为眼睛。它的头部与身体之间有空白的区域,相似于一枚有平底的鸡蛋,两侧各有两个圆角矩形,作为它的双臂。Android的标志是由Ascender公司设计。

Android的主要硬件平台为ARM架构(包括ARMv7及ARMv8-A ),在更高阶版本的Android中也正式支持x86及x86-64的架构]。非官方的Android-x86的项目在得到官方正式支持之前为x86架构提供支持]。ARMv5TE和MIPS32/64架构于过去得到支持,但在后来的Android版本中遭到删除[132]。自2012年以来,随着拥有英特尔处理器的Android设备开始出现,包括手机[133]及平板电脑。在得到对64位平台的支持同时,Android最初是在64位x86上运行,后来就在ARM64。自从Android 5.0 “Lollipop”以来,除32位变体(32-bit variants)外,还支持所有64位变体(64-bit variants)的平台;

从只能让设备运行,到让生活更轻松,都是Android在背后提供强力支持。有了Android, 才能让GPS避开拥堵,用手表发短信,让Google助理回答问题。目前有 25 亿部活跃设备搭载了 Android 操作系统。Android 能够为各种设备提供强力支持,从 5G 手机到炫酷的平板电脑,不胜枚举;Android 面向所有人开放,开发者、设计人员和设备制造商均可使用。能让更多人试验、畅想和创造前所未有的事物。

Android 为您提供了开箱即用、持续运作的安全功能。Google Play 保护机制扫描所有应用,软件定期安全更新,平台不断改进。它就像一位毫不懈怠的保安,不眠不休,时刻保障您的安全;

通过上面的介绍,说白了,Android Studio 就是 Google 为 Android 应用开发提供的官方集成开发环境;

2.2 SQLite数据库

SQLite 数据库。程序库实现了多数的SQL-92标准,包括事务,以及实现原子性、一致性、隔离性和持久性(即ACID),但它缺失了某些特性。例如,SQLite 是一个进程内库,它实现了一个 独立的、 无服务器的、 零配置的、 事务性的 SQL 数据库引擎。SQLite 的代码属于 公共领域,因此可以免费用于任何目的,无论是商业用途还是私人用途。SQLite 是世界上部署最广泛的数据库,其应用程序多得我们数不过来,其中包括几个备受瞩目的项目。

SQLite 是一个嵌入式 SQL 数据库引擎。与大多数其他 SQL 数据库不同,SQLite 没有单独的服务器进程。SQLite 直接读写普通磁盘文件。具有多个表、索引、触发器和视图的完整 SQL 数据库包含在单个磁盘文件中。数据库文件格式是跨平台的——您可以在 32 位和 64 位系统之间或大端和 小端架构之间自由复制数据库 。这些特性使 SQLite 成为应用程序文件格式的流行选择。SQLite 数据库文件是 美国国会图书馆推荐的存储格式。不要将 SQLite 视为 Oracle的替代品但作为fopen()的替代品

SQLite 是一个紧凑的库。启用所有功能后,库大小可以小于 750KiB,具体取决于目标平台和编译器优化设置。(64 位代码更大。一些编译器优化,如激进的函数内联和循环展开,可能导致目标代码更大。)内存使用和速度之间存在权衡。SQLite 通常运行得越快,你给它的内存越多。尽管如此,即使在低内存环境中,性能通常也相当不错。根据使用方式,SQLite 可能 比直接文件系统 I/O 更快。

SQLite 在每次发布之前都 经过非常仔细的测试,并以非常可靠而著称。大多数 SQLite 源代码纯粹用于测试和验证。自动化测试套件运行数百万个测试用例,涉及数亿个单独的 SQL 语句,并实现100% 的分支测试覆盖率。SQLite 优雅地响应内存分配失败和磁盘 I/O 错误。事务是 ACID 即使因系统崩溃或电源故障而中断。所有这些都通过使用模拟系统故障的特殊测试工具的自动化测试进行验证。当然,即使进行了所有这些测试,仍然存在错误。但与一些类似的项目(尤其是商业竞争对手)不同,SQLite 对所有错误都是公开和诚实的,并提供 错误列表和代码更改的逐分钟 时间表

2.3 面向对象编程

向对象方法是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,是建立在“对象”概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。


3 系统分析

系统分析可以使我们可以对设计的系统有一个全面的深入的理解需要开发的产品,通过软件系统分析可以让软件设计以及实施中在不确定的情况下,寻找方法,定下目标,找出各和可行的方法,最后可以选择一套最合适的方法,辅助项目开发和论文编辑更加顺畅,同时也让我们做出更加合理和科学的抉择。

3.1 可行性分析

对所有系统完成设计,在技术的基础开发出用户使用型的生鲜系统平台。因此,在开始设计每一个项目的时候,为了保证本中小张生鲜系统的成功开发以及正常运行,进行耗时的可行性研究之前,许多组织会进行初步分析,这就像对项目进行预筛选。初步分析旨在发现无法克服的障碍,这些障碍会使可行性研究变得毫无用处。如果在此预筛选期间没有发现主要障碍,将进行更深入的可行性研究。

3.1.1 技术可行性

本系统的主要包括前端功能的设计主要是安卓移动端实现,Android 目前占有市场率最多的一个手机操作系统用户;Android有海量的app应用程序,技术覆盖方方面面,拥有强大丰富的api,满足用户各种各样的需求,Android拥有丰富的第三方SDK库,可移植性好,另外接入数据缓存的数据库,支持sqlite数据,通过sqlite数据库缓存数据;

3.1.2 经济可行性

生鲜系统设计和开发是在校期间对所学的知识开发出一套接近市场使用的生鲜系统,在校期间是承担得起所花费的时间和经济成本,即开发这套生鲜电商系统,从实际意义上改善用户的对生鲜的购买效率、为了更好的用户体验,物流冷库都提供。因此,本系统的开发不仅在经济效益上是可行的,在效益上也是有一定前景的

3.1.3 操作可行性

操作可行性是衡量所提出的系统在多大程度上解决了问题,并利用了范围定义期间确定的机会,以及它如何满足系统开发的需求分析阶段确定的需求。再加上本系统所耗费的资源非常小,因此任何用户只需要在一般的app上面,通过生鲜平台个软件,简单、方便、快捷的实现对财务信息进行管理;

1 完整性要求

功能闭环的完整性,每个功能需要达到闭环的形式;

2 界面要求

     界面整洁清晰,可实现用户交互,良好的用户体验;

3.2 系统性能分析

系统运行稳定,安全,使用同时大部分用户感知到手机的卡顿等性能问题的最主要根源都是因为渲染性能,作为开发者App能够有更多的动画,在图片需要优化流畅的用 户体验。但是android系统很有可能无法及时完成那些复杂的界面渲染操作。Android系统每隔16ms发出VSYNC信号,触发对UI进行渲染, 如果每次渲染都成功,这样就能够达到流畅的画面所需要的60fps,为了能够实现60fps,这意味着程序的大多数操作都必须在16ms内完成;

3.3 系统界面分析

简洁人们的喜欢是比较情有独钟,他们人知觉有一种“简化”倾向,所谓简化并非仅指一般意义上的“简单”,即物体中包含的

3.4 系统UML用例分析

UML 是统一建模语言的简称,它是一种由一整套图表组成的标准化建模语言。UML用于帮助系统开发人员阐明,展示,构建和记录软件系统的产出。UML代表了一系列在大型而复杂系统建模中被证明是成功的做法,是开发面向对象软件和软件开发过程中非常重要的一部分。UML主要使用图形符号来表示软件项目的设计,使用UML可以帮助项目团队沟通、探索潜在的设计和验证软件的架构设计。以下我们将向您详细介绍什么是UML、UML的历史以及每个UML图类型的描述。

系统UML用例图如3-1所示。

图3-1  系统UML用例图

3.5 系统流程分析

3.5.1 登录流程

为了保证系统的安全和隐私,用户只有先进行登录操作才能进入本生鲜管理系统管理系统,用户登录流程图如图3-2所示

图3-2  用户登录流程图

3.5.2 发布商品流程

   

3.5.3 购买流程图

4 系统的设计

4.1 系统设计目标

该系统也具有重要的设计目标有如下几个:生鲜系统主要两个角色,用户和商家;

基于Android平台下实现生鲜线上交易的功能。客户端:

(1)浏览商品:买家注册登录账户后,可以浏览生鲜。

(2)查询商品信息:买家可以根据自己的需要在搜索栏中搜索自己需要的生鲜。

(3)订购商品:买家可以直接购买自己需要的生鲜。

(4)购物车:买家可以把想要购买的生鲜信息先存放在购物车里。

(5)支付功能:买可以购买生鲜产品。

(6)查看订单:买家可以查看购买过的生鲜订单。

4.2 系统结构设计

4.3 系统顺序图

…………………

4.4 数据库设计

4.4.1数据库E-R图设计

4.4.2 数据库表设计

生鲜系统的数据管理需要一个数据库,本系统采用SQliter数据库进行数据的存储,表4-1所示为user表用户信息息表。

表4-1 User工资信息表

列名

数据类型

长度

是否主键

允许Null值

说明

Userid

nvarchar

20

NOT NULL

编号

User

nvarchar

20

NOTNULL

账号

Pwd

nvarchar

20

NOTNULL

密码

Address

50

NULL

地址

表4-1

表4-2所示为Shop表商品信息表。

表4-2 Shop工资信息表

列名

数据类型

长度

是否主键

允许Null值

说明

shopId

nvarchar

20

NOT NULL

编号

shopName

nvarchar

20

NOTNULL

商品名称

shopDec

nvarchar

20

NOTNULL

商品描述

Count

Int

Null

数量

Price

Float

NotNull

价格

续表4-2

表4-3所示为orderp表订单表。

表4-2 Shop工资信息表

列名

数据类型

长度

是否主键

允许Null值

说明

OrderId

nvarchar

20

NOT NULL

订单编号

shopName

nvarchar

20

NOTNULL

商品名称

OrderDecember

nvarchar

20

NOTNULL

订单描述

Count

Int

Null

数量

Price

Float

NotNull

价格

userName

nvarchar

20

notNull

下单姓名

Address

nvarchar

50

NotNull

收货地址

续表4-2


5 系统的实现

基于Android平台下实现生鲜线上交易的功能。该系统分为两个部分:客户端和商户端。客户端包括买家用户注册以及登录、生鲜商品浏览、商品查询、订购商品、购物车,支付功能、查看我的订单功能。商户端包括商家用户的注册和登录、商品信息的管理、用户订单的管理功能。

5.1注册登录页面

管理员是默认使用admin账号和密码进行登录,普通用户是需要注册才能登录

5.2首页

首页主要是三部分,头部的banner  商品菜单  底部tab栏

5.3商品列表

5.4商品详情

5.5购买下单

5.6购物车

购物车
6 系统测试

系统测试是漫长的的阶段,在开发管理信息周期中,会显得尤其重要。测试的目的是为了能

安全测试检查软件是否容易受到网络攻击,并测试恶意或意外输入对其操作的影响。安全测试提供证据表明系统和信息是安全可靠的,并且它们不接受未经授权的输入。

安全测试是一种非功能测试。与侧重于软件功能是否正常工作(“软件做什么”)的功能测试不同,非功能测试侧重于应用程序是否正确设计和配置(“它如何”工作)。

安全测试的主要目标:

识别资产——需要保护的东西,例如软件应用程序和计算基础设施。

识别威胁和漏洞——可能对资产造成损害的活动,或可能被攻击者利用的一项或多项资产的弱点。

识别风险——安全测试旨在评估特定威胁或漏洞对业务造成负面影响的风险。通过识别威胁或漏洞的严重性以及利用的可能性和影响来评估风险。

执行修复——安全测试不仅仅是对资产的被动评估。它为修复发现的漏洞提供了可操作的指导,并可以验证漏洞是否已成功修复。b)  易恢复性测试

测试在系统失效的情况下,软件产品重建规定的性能级别并恢复受直接影响的数据的能力。如遇到系统崩溃、硬件损坏或其他灾难性问题,系统能否在规定时间内自动重启并恢复损坏或丢失的数据。

 界面测试

UI 测试启动一个应用程序(或其中的一部分),然后模拟用户交互,最后检查应用程序是否做出适当的反应。它们是集成测试,范围从验证小组件的行为到遍历整个用户流的大型导航测试。它们对于检查回归和验证与不同 API 级别和物理设备的兼容性很有用

  性能测试

处理移动应用程序性能测试与Web 性能测试完全不同。对于 Web 性能,我们从两个方面探讨了该主题,将工具分为专用于前端和后端测试的工具。至于移动应用程序测试流程,我们需要考虑三个性能支柱:

设备性能

网络性能

后端性能

虽然后端性能通常可以使用上面链接的文章中描述的工具进行测试,但设备和网络性能测试需要使用一组不同的工具来完成。

使用分析可以避免性能问题,即跟踪我们的应用程序是否充分利用了 CPU、内存、电池和网络等资源。可以想象,这非常耗时,因为不仅需要在不同的系统 (iOS/Android) 上而且还需要在不同的设备型号上分析您的应用程序。

安卓性能测试工具

在移动领域,性能是绝对的关键。用户很快就会放弃运行缓慢或存在错误的应用程序,因此开发人员在发布前花时间测试潜在的性能问题至关重要。幸运的是,有许多可用的工具可以帮助对Android 应用程序进行移动性能测试。

通过开发者工具进行分析

基本 GPU 性能分析可以通过开发人员工具在设备上执行,使用监控部分下的配置文件 GPU 渲染选项(或配置文件 HWUI 渲染,取决于设备上运行的 Android 版本)。

作为输出,您会得到一个图表,其中每个条形代表一个应用程序框架。帧的高度表示在屏幕上渲染帧所需的时间。

虽然开发人员工具允许我们进行一些快速分析,但对于 Android,我们通常会利用 Android Profiler。它是由顶级 Android IDE Android Studio 提供的一套全面的工具。它提供了 CPU、内存、网络和电池使用情况的共享时间线视图。

借助其预构建的 APK 分析器,我们还可以调试和分析 APK,而无需使用 Android Studio 构建它,并且仅启用调试。有用的是记录会话并在它们之间切换的可能性——由于此功能,可以比较不同场景和移动设备之间的性能指标。

此外,还可以使用特定工具详细分析前面提到的每个资源。

内存分析器

Android内存泄漏问题也是性能要求的一部分因此,观察可用内存的利用率对于确保应用程序始终如一地执行至关重要。

除了对内存分配的高级概述之外,Memory Profiler 还允许我们创建堆转储,因此我们可以查明内存泄漏发生的位置以及导致应用程序性能问题的位置。

根据设计的需求编写测试计划

测试计划如下表2-1所示。

表2-1  测试计划

测试模式

测试功能

测试步骤

期望效果

功能测试

注册登录

启动项目 注册用户  然后登录

实现验证成功

页面能否跳转

单击页面

页面实现跳转

商品列表

商品详情页

显示正常

查看个人信息

不进入我的页面

个人信息展示正常

6.2测试方法

白盒测试

在白盒测试中,测试人员根据软件的源代码设计测试用例和测试。测试人员知道并理解代码结构,而不是黑盒测试或灰盒测试(测试人员对代码结构的了解有限)。由于这种可观察性,它也被称为清晰、透明或玻璃盒测试。

白盒测试技术侧重于应用程序的内部工作和软件组件,以从内部测试其设计和结构。测试团队可以将此技术应用于系统、集成和单元测试。

在白盒测试的详细指南(即将推出)中了解更多信息

灰盒测试

灰盒测试是白盒和黑盒测试的混合体——黑盒测试涉及内部结构未知的测试对象;白盒测试需要完全了解应用程序的内部结构。在灰盒测试中,测试人员可以部分了解系统的内部结构和工作原理。

测试人员可以基于对应用程序的底层架构和代码的有限理解来进行测试。因此,测试对象是半透明的或“灰色的”。这种方法结合了白盒和黑盒测试技术,以充分利用两者。灰盒测试人员将白盒测试的代码目标与黑盒测试的多种创新方法(例如功能和回归测试)相结合。测试人员可以同时评估软件的用户界面和内部运作。


7 总结

通过这生鲜管理系统的开发功能主要有包含注册和登录、浏览商品、商品信息查询、订购商品、购物车,支付功能、查看订单功能。服务端包括商家对商品信息的管理、用户订单的管理功能。

互联网+”深刻地改变着人们的生活生产方式。生鲜电商更是给人们带来更便利的日常购物体验,也给农产品商户提供了更广阔的销售渠道和更低廉的销售成本。本课题要求设计开发一套基于Android的生鲜农产品商城交易系统;

由于条件的不足,没有进行应用市场发布实际投入使用,这需要通过不断的努力继续,软件需要不断验证调式;此项目离使用还存在很多的不足,希望能在积累知识点的同时继续完善功能,尽量满足每一个功能,能够达到投入使用的状态,解决用户求购生鲜的需求,主要问题是云交互阶段和跨端的调式,也是我需要继续挖掘和学习的地方;

此项目虽然不是很完美,但是从中学习到了一个项目的整体设计和实现过程,把理论知识应用到实践中,提升实践能力

“互联网+”深刻地改变着人们的生活生产方式。生鲜电商更是给人们带来更便利的日常购物体验,也给农产品商户提供了更广阔的销售渠道和更低廉的销售成本。本课题要求设计开发一套基于Android的生鲜农产品商城交易系统;


致  谢

   首页感谢老师的培养和教导,此项目得与开发还是离不开老师的教导,在开发过程遇到不少问题也是在老师的帮助下完成,主要体现在sqlite数据库的应用,解决疑难问题,调式过程中经常卡克,另外需要感谢同学的鼓励和帮助,是他们一起学习生活中渡过一段时光,在枯燥乏味的日子,同学们的欢声笑语滋润了心田,是他们的一起前行中学习到了每个知识点,课外经常讨论不明白的问题,梳理了不少疑惑。

    此项目离使用还存在很多的不足,希望能在积累知识点的同时继续完善功能,尽量满足每一个功能,能够达到投入使用的状态,解决校园的需求,主要问题是云交互阶段和跨端的调式,也是我需要继续挖掘和学习的地方;

生就像一面镜子,你用什么样的态度去面对她,她就会用同样的结果反馈给你。面对论文,如果你用认真的态度面对它,你所获得的将会是满意的成绩和丰收。论文能够顺利完成,首先需要感谢的就是我的论文指导老师对我的细心指导,同时他也用行动告诉我该怎样去面对社会、面对人生。同时感谢其他给予我帮助的老师和同学。

参考文献

[1]谢细全.Android Studio使用中的问题及解决方法[J].电脑编程技巧与维护,2020,(02):45-47.

[2]马获蕾,汤海凤.Android系统中SQLite数据库的研究[J].电脑知识与技术,2013,9(28):6243-6245+6256

[3]彭艳,杨欧.Android平台的数据存储技术[J].计算机系统应用,2012,21(05):192-194.

[4]甘文丽,刘雅琴,杨鸿霄.基于Android的果蔬生鲜移动电子商城设计与实现[J].电脑知识与技术,2018,14(33):260-262.

[5]柳迪,章国宝.基于Android的网购药品应用的设计与实现[J].工业控制计算机,2016,29(04):121-122+134.

[6]吴思莹,张坤涛,王世华.基于Android的校园购物系统的设计与实现[J].电子技术与软件工程,2021(14):45-47.

[7]陈婷.基于Android平台的生鲜超市App的设计与实现[J].海峡科学,2017,(05):99-104+109.

[8] 卞秀运.基于Android平台的网上商城系统设计与实现[J].电脑知识与技术,2012,8(32):7866-7870+7876.

[9]王娟.基于Android系统的手机网上商城设计与实现[J].电子技术与软件工程,2021(03):43-44.

[10] 刘科课.基于Android的生鲜农产品商城设计[D].导师:顾沈明.浙江海洋大学,2020.

[11]符豪. 基于Android的生鲜农产品商城的设计与实现[D].中南林业科技大学,2019.

[12]Viswanath N.,Kiran Siddharth,Jaya Krishna,Caroline. STICKAPP Android Application using Android Studio[J]. International Journal of Inventive Engineering and Sciences (IJIES),2020,5(1).

[13] Ku Azir K.N.F.,Junita M.N.,Loke E.Y.N.,Zul M.F.,Roszaki M.A.A.,Zakaria N.H.,Abdalla J.A.. UniCycle: An Android Application of Bike Sharing System in the Digital Campus[J]. Journal of Physics: Conference Series,2021,1755(1).


附录1  系统总流程图


附录2  代码


附录3  毕业设计作品说明书

一、作品名称

基于android的生鲜农产品商城交易系统设计

二、作品功能

  1. 浏览商品:买家注册登录账户后,可以浏览生鲜。
  2. 查询商品信息:买家可以根据自己的需要在搜索栏中搜索自己需要的生鲜。
  3. 订购商品:买家可以直接购买自己需要的生鲜。
  4. 购物车:买家可以把想要购买的生鲜信息先存放在购物车里。
  5. 支付功能:买可以购买生鲜产品。
  6. 查看订单:买家可以查看购买过的生鲜订单。

三、运行环境

    硬件环境

Windows PC   安卓智能手机

    软件环境

Android studio  java 1.8

四、操作步骤

    1、配置好java AndroidSDK 环境

    2、通过Android studio导入工程  

    3、编译运行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/131182.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法:经典贪心算法--跳一跳[2]

1、题目: 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i j] 处: 返回到达 nums[n - 1] 的最小跳跃次数。生…

消息队列MQ

一、消息队列 网络端的Http请求默认采用的是同步请求方式,客户端与服务器端是基于请求和响应模式进行通信的。也就意味着,客户端发起请求。必须要等待服务器端完成处理结果给客户端才能继续进行下一步操作,如果服务器发送网络延迟、宕机、卡顿…

Redis哨兵集群的介绍及搭建

Redis 是一款开源的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。然而,作为一个单点服务,Redis 在面临硬件故障或者网络问题时可能会导致服务不可用。为了解决这个问题,Redis 提供了哨兵模式,一个…

jmeter采集ELK平台海量业务日志( 采用Scroll)

由于性能测试需要,需采集某业务系统海量日志(百万以上)来使用,做稳定性压测使用。但Elasticsearch的结果分页size单次最大为10000(运维同事为保证ES安全)。为了能够快速采集ELK平台业务日志,可以…

Tomcat多实例 + Tomcat负载均衡、动静分离(Nginx联动)

多实例联动 一、Tomcat 多实例1.1 什么是Tomcat多实例?1.2 配置思路1.3 配置实现1.3.1 安装jdk1.3.2 安装tomcat1.3.3 配置 tomcat 环境变量1.3.4 修改端口号1.3.5 修改各 tomcat 实例中的 startup.sh 和 shutdown.sh 文件,添加 tomcat 环境变量1.3.6 启…

Java实现合并多个excel操作

涉及较多封装的工具类,所有依赖的工具类均提供代码,根据名称新建对应的类,在每个工具类中再引入相应的依赖即可 首先需要明确的是,需要合并的每个excel的表头名称必须是相同的, 针对表头,建立传输的dto&a…

可视化大屏设计模板 | 主题皮肤(报表UI设计)

下载使用可视化大屏设计模板,减少重复性操作,提高报表制作效率的同时也确保了报表风格一致,凸显关键数据信息。 软件:奥威BI系统,又称奥威BI数据可视化工具 所属功能板块:主题皮肤上传下载(数…

Vue-video-player下载失败(npm i 报错)

Vue-video-player下载失败 最近在做项目时涉及到视频的播放组件,看了一下选择了Vue-video-player这个工具,实际在操作中是遇到许多问题的。 Q1:不支持谷歌 对于 “vue-video-player” 使用时出现 Adobe Flash 不再支持的提示,这是因为 Ado…

2023/09/12 qtc++

实现一个图形类(Shape) ,包含受保护成员属性:周长、面积, 公共成员函数:特殊成员函数书写 定义一个圆形类(Circle) ,继承自图形类,包含私有属性:半径 公共成员函数:特殊成员函数…

华为云云耀云服务器L实例评测 | 开启OPC UA之旅

OPC Unified Architecture (OPC UA)是一种用于工业自动化的M2M协议(Machine-to-machine),具有平台独立性,在Windows和Linux上都可以运行。随着云服务在工业现场的不断普及,OPCUA服务也开始大量部署在云端。 本文以华为云云耀云服务器L为基础…

MySQL内连接和外连接及七种SQL JOINS的实现

1. 内连接 2.外连接左外连接:右外连接:满外连接: 3. SQL99语法实现多表查询 3.1 SQL99实现内连接 3.2 SQL99语法实现外连接 3.2.1 左外连接3.2.2 右外连接 3.2.3 满外连接 4.总结:七种SQL JOINS的实现 4.1 内连接 4.2 左…

学习Bootstrap 5的第十三天

目录 提示框 如何创建提示框 实例 指定提示框的位置 实例 弹出框 如何创建弹出框 实例 指定弹出框的位置 实例 关闭弹出框 实例 提示框 提示框是一个小小的弹窗,在鼠标移动到元素上显示,鼠标移到元素外就消失。 如何创建提示框 Bootstrap…

大数据课程K22——Spark的SparkSQL的API调用

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 掌握Spark的通过api使用SparkSQL; 一、通过api使用SparkSQL 1. 实现步骤 1. 打开scala IDE开发环境,创建一个scala工程。 2. 导入spark相关依赖jar包。 3. 创建包路径以object类。 4.…

Java复习-多线程编程

多线程编程 解决并发访问的问题。 一. 继承 Thread 类实现多线程 1. 继承实现 继承thread类 class MyThread extends Thread{}覆写run主方法 多线程要执行的功能都应该在 run() 方法中定义。 class MyThread extends Thread { // 线程的主体类private String title;public…

100道基于Android毕业设计的选题题目,持续更新

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 大家好,我是程序员徐师兄、今天给大家谈谈基于android的app开发毕设题目,以及基于an…

30岁游戏服务端开发者的独立游戏梦想,你不敢想的事他都做了!

小的时候家里就是开电动游戏厅的,所以我从小就喜欢玩游戏,尤其是那些有创意和故事性的游戏。 我梦想着有一天能够制作出自己的游戏,让更多的人享受到游戏带来的乐趣。 为了实现这个梦想,我选择了学习计算机科学,并在毕…

数字化新零售营销模式如何落地?数字化新零售营销功能推荐

​通过科技手段,针对对线下零售店面的客户进行消费行为、频次等的分析,并进一步整合线上线下资源,实现实体零售的效率充分化,便是目前很火的新零售营销模式,能够将实体门店与数字化技术进行有机结合,通过为…

windows安装pytorch

windows安装pytorch 1. 安装cuda pytorch官网我要安装1.12.1对应的cuda有三个版本,我选了11.6 去官网安装这个版本的cuda下载链接 安装后打开命令行输入nvcc -V,可以显示版本则安装成功,如果显示nvcc不是外部命令,进入安装文件…

【个人博客系统网站】我的博客列表页 · 增删改我的博文 · 退出登录 · 博客详情页 · 多线程应用

【JavaEE】进阶 个人博客系统(4) 文章目录 【JavaEE】进阶 个人博客系统(4)1. 增加博文1.1 预期效果1.1 约定前后端交互接口1.2 后端代码1.3 前端代码1.4 测试 2. 我的博客列表页2.1 期待效果2.2 显示用户信息以及博客信息2.2.1…

springboot使用freemarker导出word

springboot使用freemarker导出word 一、需求说明二、制作模板文件1.修改word留下占位符并另存为.xml文件2.将xml文件后缀名改为.ftl3.打开ftl文件格式化内容4.将占位符替换成变量 三、代码实现1.引入依赖2.将模板引入resource下3.编写word导出工具包4.创建接口调用 一、需求说明…