(赠源码)java+springboot+msyql基于Android位置服务的个性化推荐应用开发80646-计算机原创毕设项目选题推荐

 摘  要

本研究旨在基于SpringBoot框架和Android位置服务开发一个个性化推荐应用,涵盖餐厅信息、购物商城、影院信息和导航地图等功能。通过整合SpringBoot后端和Android前端,实现用户定制化的推荐体验。用户可以浏览餐厅信息、购物商城、影院信息,并利用导航地图服务进行位置导航和推荐。系统包括查看详情、搜索功能,用户可根据餐厅名称、类型、点赞数等进行搜索和点赞、收藏、评论喜欢的餐厅、商城或影院。导航地图功能推荐使用百度地图app,提供生活服务、出行服务、热门推荐等信息。

通过该应用,用户可以便捷地获取周边餐厅、商城、影院信息,并利用导航地图服务规划出行路线。系统充分利用Android平台的用户友好性和交互便捷性,提供个性化推荐和定位服务,提升用户体验。实验结果表明,该应用能准确呈现各类场所信息,并根据用户需求进行个性化推荐,为用户提供了便捷、实用的服务体验。本研究为基于Android位置服务的个性化推荐应用开发提供了有效的技术支持和方法指导,具有一定的实际应用和推广价值。

关键词SpringBoot;Android位置服务;个性化推荐。

Development of personalized recommendation application for Springboot based on Android location service

ABSTRACT

This study aims to develop a personalized recommendation application based on the SpringBoot framework and Android location services, covering functions such as restaurant information, shopping mall, cinema information, and navigation maps. By integrating the SpringBoot backend and Android frontend, users can achieve a customized recommendation experience. Users can browse restaurant information, shopping malls, and cinema information, and use navigation map services for location navigation and recommendations. The system includes functions such as viewing details and searching. Users can search, like, bookmark, and comment on their favorite restaurants, malls, or cinemas based on the restaurant name, type, and number of likes. The navigation map function is recommended to use the Baidu Map app, which provides information such as lifestyle services, travel services, and popular recommendations.

Through this application, users can conveniently obtain information about surrounding restaurants, shopping malls, and cinemas, and use navigation map services to plan travel routes. The system fully utilizes the user-friendly and interactive convenience of the Android platform, providing personalized recommendations and location services to enhance the user experience. The experimental results show that the application can accurately present various venue information and provide personalized recommendations based on user needs, providing users with a convenient and practical service experience. This study provides effective technical support and method guidance for the development of personalized recommendation applications based on Android location services, and has certain practical application and promotion value.

Keywords: SpringBoot; Android location service; Personalized recommendations.

   

第1章 绪论

1.1. 课题背景

1.2  研究意义

第2章 关键技术的研究

2.1前端开发技术:

2.2 SpringBoot框架

2.3 MYSQL数据库

2.4 B/S结构

2.5 Android开发工具

第3章 需求分析与可行性分析

3.1 可行性分析

3.2.1技术可行性

3.2.2经济可行性

3.2.3操作可行性:

3.2 功能需求分析

3.3 系统性能分析

第4章 系统总体设计

4.1 系统的结构划分

4.2 系统的流程分析

4.2.1登录流程

4.2.2添加信息流程

4.2.3删除信息流程

4.3. 数据库设计

4.3.1 数据库实体

4.3.2数据表

第5章 系统实现过程(详细设计)

5.1 普通用户模块

5.1.1 用户首页界面

5.1.2 用户注册界面

5.1.3普通用户登录界面

5.1.4餐厅信息界面

5.1.5 购物商城界面

5.1.6 影院信息界面

5.1.7导航地图界面

5.1.8 我的界面

5.2管理员功能模块

5.2.1系统用户界面

5.2.2 餐厅信息管理界面

5.2.3购物商城管理界面

5.2.4 影院信息界面

5.2.5 系统管理界面

第6章 系统测试

6.1系统测试的目的

6.2系统测试方法

6.3功能测试

第7章 总结

参考文献

致  谢

  1. 绪论

1.1. 课题背景

随着移动互联网的迅猛发展和智能手机的普及,人们对个性化推荐应用的需求日益增长。在当今快节奏的生活中,用户希望能够便捷地获取周围环境的信息,如附近的餐厅、购物场所和娱乐场所,以满足日常生活和消费需求。移动应用的普及为个性化推荐提供了更广阔的发展空间,使得用户能够根据自身喜好和位置获取定制化的服务推荐。

在城市生活中,人们越来越依赖移动设备来获取信息和享受生活。个性化推荐应用不仅可以帮助用户发现新的餐饮、购物和娱乐选择,还可以节省用户的时间和精力,提升用户体验。随着定位服务的发展和智能推荐算法的应用,个性化推荐应用成为了人们获取信息和享受生活的重要途径之一。

然而,目前市场上的个性化推荐应用仍存在一些挑战,如推荐结果准确性不高、用户体验不佳等问题。因此,开发一款基于 Android 平台的个性化推荐应用,结合定位服务和智能推荐算法,成为了当前研究和开发的热点之一。这样的应用将能够为用户提供更加个性化、精准的本地服务推荐,满足用户对快捷、便利服务的需求,提升用户在移动应用中的体验。

因此,本课题旨在探索基于 Android 平台的个性化推荐应用开发,结合百度地图的定位服务,为用户提供更准确、个性化的本地服务推荐,涵盖各类生活场所信息,以提升用户体验、节省用户时间和促进商业发展为目标。通过该课题的研究与实践,将为个性化推荐应用的发展和实际应用提供有益的经验和指导。

1.2  研究意义

随着移动互联网和定位服务的普及,人们越来越依赖移动设备获取周围环境的信息。在城市生活中,个性化推荐应用已成为人们获取信息和享受生活的重要途径之一。本项目旨在开发一款基于 Android 平台的个性化推荐应用,结合百度地图的定位服务,为用户提供准确、个性化的本地服务推荐,包括餐厅、购物、娱乐等各类信息。

这一项目具有重要意义:提升用户体验,通过个性化推荐算法,根据用户地理位置和历史行为,提供精准、个性化的服务推荐,提升用户移动应用体验。节省用户时间和精力,个性化推荐应用能自动分析用户偏好,提供符合需求的推荐结果,节省用户时间和精力,避免手动搜索。促进商业发展,推荐用户感兴趣的商家和服务可增加客流量和销售机会,促进商家发展,实现商业双赢。探索定位服务与推荐算法结合,结合定位服务和推荐算法,探索如何利用用户地理位置信息提供个性化推荐服务,为研究和应用领域提供借鉴。保护用户隐私,设计应用时重视用户数据安全和隐私保护,确保数据不被泄露或滥用,提高用户对应用的信任度。

本项目有望在提升用户体验、促进商业发展、推动技术研究和保护用户隐私等方面发挥重要作用,为移动应用推荐系统的发展和实践做出贡献。

  1.  关键技术的研究

2.1前端开发技术:

前端开发是Android位置服务的个性化推荐用户界面的关键部分。研究和应用现代化的前端开发技术,如HTML5、CSS3、JavaScript等,能够实现良好的用户交互体验和界面设计。

JAVA语言功能:

面向对象:面向对象是Java编程语言的标志之一,是一种软件开发方法。最重要的是将所有东西变成对象,然后以某种方式编程。编程时,代码和数据写在每个对象上。 面向对象编程方法的出现使得人们在编程过程中的设计思考和操作变得非常简单,同时也提高了程序的安全性。

跨平台:Java流行的一个关键特性是它的跨平台特性,这使得用Java编程变得容易。您可以用Java编写程序并在其他地方运行它,而无需在编译后更改它。

2.2 SpringBoot框架

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。

2.3 MYSQL数据库

系统的开发必须配套相应数据库,数据库具有一定的组织结构,能够存放和管理数据信息,在以前数据库的功能仅仅是数据保存和管理操作,但是时代的变迁和发展,现在的数据库演变成了数据处理的方式,数据库从最开始的简单存放数据表格信息到现在的能够存放成千上万数据的大型数据库,其间还是经历了许多的改革。

本次开发的Android位置服务的个性化推荐使用的数据库是MYSQL数据库,该数据库运行速度快,安全性能也很高,而且对使用的平台没有任何的限制,所以被广泛应用到系统的开发中。MySQL是一个开源和多线程的关系管理数据库系统,MySQL是开放源代码的数据库,具有跨平台性,虽然功能未必强大,导致很多人不了解这个数据库的基本应用,在数据库中,总共建立了10几个表,这里面每个表都是相对应的,都各自有各自的联系,数据库意义重大,如果没有数据库的链接,就没办法运行程序,这显然可以看见数据库与程序的重要性,是紧密连接的。

2.4 B/S结构

B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。只需要用户在客户端安装360浏览器、谷歌浏览器、QQ浏览器等当前大众浏览器,在电脑里面安装sqlserver、mysql数据库等数据库。安装好的浏览器与服务器端的数据库进行信息数据的交互。很多专门软件能够做到的事情,采用B/S结构模式也能实现,它能够结合Web浏览器技术,ActiveX技术以及多种脚本语言等技术。帮助程序开发者节约了不少开发成本。目前B/S结构成为程序开发主流结构,它最好的地方就是没有地点限制还不用专门安装软件,笔记本或者电脑能够上网就能访问系统。系统使用B/S进行开发在后期系统维护上面就会很省事,不用什么问题都在服务器上面操作,简单的客户端处理就解决部分问题,开发出来的程序跟用户交互性上面也会增强,还可以实时刷新浏览器进行程序局部的数据信息更新。

图2-1 B/S模式三层结构图

2.5 Android开发工具

  

Android是基于Linux内核的操作系统,早期由Google开发,后由开放手机联盟开发。它采用了软件堆的架构,主要分为三部分。底层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。Android在未公开之前常被传闻为GPhone。

它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分:底层以Linux核心为基础,由c语言开发,只提供基本功能。中间层包括函数库Library和虚拟机Virtual Machine,由C++开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java编写。

  1.   需求分析与可行性分析

3.1 可行性分析

3.2.1技术可行性

本系统基于移动平台的Android位置服务的个性化推荐在Windows操作系统中进行开发,利用PC机性能足以胜任作为普通系统的web服务器。系统开发所采用的技术是广泛应用且成熟的技术之一,适用于当前移动应用开发的需求。

系统的开发环境和配置可以轻松自行安装,采用Java开发工具,结合成熟稳定的MySQL数据库进行前后台数据交互。通过技术语言对数据库进行调整和维护,提高系统稳定性和安全性,确保系统正常运行。

采用SpringBoot框架开发Android位置服务的个性化推荐,结合安卓APP的特性,能够提供更加高效、稳定的位置服务系统。SpringBoot作为一种轻量级的Java开发框架,能够简化开发流程,提高系统性能,为移动应用的开发和运行提供可靠支持。同时,与MySQL数据库的结合能够满足系统对数据存储和管理的需求,保障用户信息的安全和稳定性,为位置服务的顺利实现和运行提供了坚实基础。

(1)硬件可行性分析

Android位置服务的个性化推荐及信息分析的设计对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是打开系统必须顺畅,不能停顿太长时间;性价比高;安全性高。

(2)软件可行性分析

针对基于移动平台的Android位置服务的个性化推荐,进行了系统可行性研究,着重考虑了流量的可扩展性和基于流量的智能调整。通过分析系统开发过程中的可行性,确保系统的顺利实施。

经过可行性研究,系统开发没有问题,能够满足流量的可扩展性和智能调整的需求。系统的设计和开发将充分利用流量的可扩展性,实现根据实际流量需求动态调整资源的功能,确保系统的稳定性和性能表现。同时,基于流量的智能调整能够根据流量情况自动调整系统资源的分配,提高资源利用效率和系统的响应速度。

通过系统可行性研究,确认了系统开发符合需求并具有可行性,可有效保障系统的安全性和数据信息的及时备份,确保系统的稳定运行和用户体验。这将为位置服务的顺利实现和运行提供有力支持,提升Android位置服务系统的效率和便捷性,满足用户需求,促进Android位置服务系统质量的提升和数字化管理的推进。

3.2.2经济可行性

在Android位置服务的个性化推荐开发之前所做的市场调研及其他的Android位置服务的个性化推荐相关的管理系统,都是没有任何费用的,都是通过开发者自己的努力,所有的工作都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于Android位置服务的个性化推荐的开发在经济上是完全可行的,没有任何费用支出的。

使用比较成熟的技术,系统是基于springboot的开发,采用Mysql数据库。所以系统在开发人力、财力要求不高,具有经济可行性。

3.2.3操作可行性: 

可操作性主要是对Android位置服务的个性化推荐设计完成后,用户的使用体验度,以及管理员可以通过系统随时管理相关的数据信息,并且对于管理员、普通用户两个角色,都可以简单明了的进入到自己的系统界面,通过界面导航菜单可以简单明了地操作功能模块,方便用户信息的操作需求和管理员管理数据信息,对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以在系统的可操作性是完全可以的。本系统的操作使用的是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。

3.2 功能需求分析

为了提高餐厅工作人员的工作效率并更方便快捷地满足顾客需求,以及更好地存储所有数据信息并实现快速便捷的检索功能,本项目旨在开发基于SpringBoot的个性化推荐应用,结合Android位置服务。通过借鉴发达系统的经验,对系统的各个模块进行合理分析,考虑用户操作性,并遵循系统优化原则进行开发。经过全面调查和研究,旨在打造一款高效、智能的应用,为餐厅管理提供便捷的解决方案。

系统所要实现的功能分析,对于现在网络方便的管理,系统要实现用户可以直接在电脑上查看所有数据信息,根据需求可以进行在线添加,删除或修改Android位置服务的个性化推荐信息,这样既能节省时间,不用再像传统的方式耽误时间,真的很难去满足用户的各种需求。所以Android位置服务的个性化推荐的开发不仅仅能满足用户的需求,还能提高管理员的工作效率,减少原有不必要的工作量。

普通用户用例图如下所示。

图3-1普通用户用例图

管理员用例图如下所示。

图3-2 管理员用例图

3.3 系统性能分析

(1)界面简洁清晰:系统界面要求简单明了,容易操作,符合用户操作习惯。

(2)储存性高:因为Android位置服务的个性化推荐中有很多的信息需要存储,因此对于系统的存储量有很大的要求,需要有一个强大的数据库的支持才能确保所有的信息都能安全稳定的进行存储。

(3)易学性:该系统在操作上必须简单好上手,没有很多复杂的操作,只需要简单的进行学习就能操作该系统。

(4)稳定性需求:开发的Android位置服务的个性化推荐要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。

(6)稳定性:开发的Android位置服务的个性化推荐要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。

基于Android位置服务的个性化推荐应用开发我划分为了管理员、普通用户这两大部分。

  1. 普通用户管理模块
  1. 注册登录:用户通过注册登录系统,可通过点击头像中我的账户,对个人信息进行增删改查。比如个人资料、头像和密码修改。
  2. 首页:普通用户在前台可以浏览轮播图、菜单栏信息,获取餐厅、购物商城和影院的最新动态。还能查看导航地图,快速定位并获取生活服务与出行建议。此外,用户还能浏览网站公告,了解平台最新动态。
  3. 餐厅信息:用户可以浏览餐厅信息列表,查看餐厅的图片、名称、类型、地址等详细信息。通过筛选条件,如餐厅名称、类型、点赞数、点击数或发布时间,来快速找到心仪的餐厅。同时,用户还可以对喜欢的餐厅进行点赞、收藏和评论,分享自己的用餐体验。
  4. 购物商城:在购物商城部分,用户可以浏览商城列表,查看商城的图片、名称、类型、位置等信息。通过搜索功能,用户可以快速定位到感兴趣的商城。此外,用户还可以对商城进行点赞、收藏和评论,分享购物心得。
  5. 影院信息:用户可以查看影院信息列表,包括影院名称、类型、地址等。通过搜索功能,快速找到想去的影院。同时,用户可以查看影院详情,并对喜欢的影院进行点赞、收藏和评论,分享观影感受。
  6. 导航地图:在导航地图部分,用户可以查看详细的地图信息,并使用百度地图app进行导航。此外,用户还可以查看地图上的生活服务,如美食、酒店、景点和电影等,以及出行服务,如地铁图、公交站和打车等。热门推荐功能为用户提供了更多发现和选择的机会。
  7. 网站公告:用户可以在此查看平台发布的最新公告,了解平台的最新动态和通知。
  8. 我的:在个人中心,用户可以查看和修改自己的基本资料,如密码等。同时,用户可以管理自己的收藏,包括餐厅、商城和影院等信息,还可以进行删除操作。
  1. 管理员管理模块:
  1. 登录:管理员的账号是在数据列表中直接设置生成的,不需要进行注册,可直接输入账号密码登录,同时可对管理员资料进行增删改查。
  2. 系统用户管理:管理员可以全面管理系统内的用户,包括管理员和普通用户。他们可以对用户进行增删改查操作,如添加新用户、删除不再需要的用户,修改用户信息,查询用户详情等。
  3. 餐厅信息管理:管理员可以方便地管理餐厅信息,包括查看餐厅列表、添加新餐厅、查看餐厅详情等。同时,他们还可以处理与餐厅相关的用户评论,进行信息的增删改查操作。为了快速定位特定餐厅,管理员可以通过餐厅名称或餐厅类型进行搜索。
  4. 餐厅类型管理:管理员能够管理餐厅的类型,包括查看类型列表、添加新类型、查看类型详情等。他们还可以根据需要对餐厅类型进行增删改查操作,并可以通过餐厅类型进行搜索,以快速找到相关餐厅。
  5. 购物商城管理:管理员同样可以管理购物商城的信息,包括查看商城列表、添加新商城、查看商城详情等。对于商城内的用户评论,管理员也有权进行处理。他们可以通过商城名称或商城类型进行搜索,以便快速找到目标商城。
  6. 商城类型管理:商城类型的管理也是管理员的职责之一,他们可以查看商城类型列表、添加新类型、查看类型详情等。对于不再需要的商城类型,管理员可以进行删除操作。同时,他们还可以通过商城类型进行搜索,以快速定位相关商城。
  7. 影院信息管理:管理员可以管理影院信息,包括查看影院列表、添加新影院、查看影院详情等。他们还可以处理与影院相关的用户评论,并进行相应的增删改查操作。通过影院名称或影院类型进行搜索,管理员可以迅速找到目标影院。
  8. 影院类型管理:管理员负责管理影院的类型,包括查看类型列表、添加新类型、查看类型详情等。他们可以根据需要对影院类型进行增删改查操作,并可以通过影院类型进行搜索,以便快速找到相关影院。
  9. 系统管理:管理员负责系统的轮播图管理,包括查看轮播图列表、添加新轮播图、查看轮播图详情等。他们还可以对轮播图进行增删改查操作,以确保系统界面的更新和准确性。
  10. 通知公告管理:管理员可以发布通知公告,并查看已发布的公告详情。他们还可以对公告进行增删改查操作,以确保公告信息的准确性和时效性。通过标题进行搜索,管理员可以快速找到特定的公告信息。
  1.   系统总体设计

4.1 系统的结构划分

系统可以分为:管理员、普通用户两个功能模块。

后台管理端的功能:首页、系统用户(管理员、普通用户)、餐厅信息管理、餐厅类型管理、购物商城管理、商城类型管理、影院信息管理、影院类型管理、系统管理(轮播图管理)、通知公告管理、个人中心(个人信息、修改密码)等功能。

普通用户的功能:注册登录、首页、餐厅信息、购物商城、影院信息、导航地图、我的、基本信息、收藏等功能。

Android位置服务的个性化推荐的结构图4-1所示:

图4-1 系统结构

登录系统结构图,如图4-2所示:

图4-2 登录结构图

这些功能可以充分满足Android位置服务的个性化推荐的需求。系统功能结构如图4-3所示。

图4-3系统功能结构图

4.2 系统的流程分析

4.2.1登录流程

系统登录流程图,如图所示:

图4-4登录流程图

4.2.2添加信息流程

添加信息流程图,如图所示:

图4-5添加信息流程图

4.2.3删除信息流程

删除信息流程图,如图所示:

图4-6删除信息流程图

4.3. 数据库设计

4.3.1 数据库实体

对于一个要开发的系统来说,E-R图可以让别人能更快更轻松的了解此系统的事务及它们之间的关系。根据系统分析阶段所得出的结论确定了在Android位置服务的个性化推荐中存在着多个实体分别是首页、食堂公告、新闻资讯、菜品信息等。

系统总体ER图如下图所示。

 图4-7 系统总体ER图

4.3.2数据表

将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表cinema_information (影院信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cinema_information_id

int

10

0

N

Y

影院信息ID

2

cinema_name

varchar

64

0

Y

N

影院名称

3

cinema_type

varchar

64

0

Y

N

影院类型

4

cinema_address

varchar

64

0

Y

N

影院地址

5

cinema_images

varchar

255

0

Y

N

影院图片

6

cinema_introduction

text

65535

0

Y

N

影院简介

7

hits

int

10

0

N

N

0

点击数

8

praise_len

int

10

0

N

N

0

点赞数

9

recommend

int

10

0

N

N

0

智能推荐

10

location_address

varchar

64

0

Y

N

当前位置

11

location_lng

varchar

64

0

Y

N

当前位置经度

12

location_lat

varchar

64

0

Y

N

当前位置纬度

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表cinema_type (影院类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cinema_type_id

int

10

0

N

Y

影院类型ID

2

cinema_type

varchar

64

0

Y

N

影院类型

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表mall_type (商城类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

mall_type_id

int

10

0

N

Y

商城类型ID

2

mall_type

varchar

64

0

Y

N

商城类型

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

regular_users_id

int

10

0

N

Y

普通用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_gender

varchar

64

0

Y

N

用户性别

4

contact_information

varchar

64

0

Y

N

联系方式

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表restaurant_information (餐厅信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

restaurant_information_id

int

10

0

N

Y

餐厅信息ID

2

restaurant_name

varchar

64

0

Y

N

餐厅名称

3

restaurant_type

varchar

64

0

Y

N

餐厅类型

4

restaurant_address

varchar

64

0

Y

N

餐厅地址

5

restaurant_image

varchar

255

0

Y

N

餐厅图片

6

restaurant_introduction

text

65535

0

Y

N

餐厅简介

7

hits

int

10

0

N

N

0

点击数

8

praise_len

int

10

0

N

N

0

点赞数

9

recommend

int

10

0

N

N

0

智能推荐

10

location_address

varchar

64

0

Y

N

当前位置

11

location_lng

varchar

64

0

Y

N

当前位置经度

12

location_lat

varchar

64

0

Y

N

当前位置纬度

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表restaurant_type (餐厅类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

restaurant_type_id

int

10

0

N

Y

餐厅类型ID

2

restaurant_type

varchar

64

0

Y

N

餐厅类型

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表shopping_mall (购物商城)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

shopping_mall_id

int

10

0

N

Y

购物商城ID

2

mall_name

varchar

64

0

Y

N

商城名称

3

mall_type

varchar

64

0

Y

N

商城类型

4

mall_location

varchar

64

0

Y

N

商城位置

5

mall_image

varchar

255

0

Y

N

商城图片

6

introduction_to_the_mall

text

65535

0

Y

N

商城简介

7

hits

int

10

0

N

N

0

点击数

8

praise_len

int

10

0

N

N

0

点赞数

9

recommend

int

10

0

N

N

0

智能推荐

10

location_address

varchar

64

0

Y

N

当前位置

11

location_lng

varchar

64

0

Y

N

当前位置经度

12

location_lat

varchar

64

0

Y

N

当前位置纬度

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

  1.   系统实现过程(详细设计)

5.1 普通用户模块

5.1.1 用户首页界面

进入系统首页,系统以上中下的布局进行展示,首先映入眼帘的是系统的首页,下面是轮播图展示,再往下是餐厅信息、购物商城、影院信息、导航地图等,其主界面展示如下图所示。

图5-1前台首页界面图

5.1.2 用户注册界面

注册模块满足用户两部分,当用户想要进行资料相关信息的查询管理的时候,就必须进行登录,如果没有账号的话,在登录界面,点击“注册”按钮就会跳转到注册的界面,根据提示填写好账号、密码、昵称、邮箱、身份、用户姓名、用户性别、联系电话等注册信息,添加提交,注册的信息在数据库中就添加完成了,然后再输入填写好的账号和密码进行登录,其注册主界面展示如下图所示。

图5-2用户注册界面图

 注册关键代码如下:

/

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        query.put("username",user.getUsername());

        List list = service.select(query, new HashMap<>()).getResultList();

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        user.setUserId(null);

        user.setPassword(service.encryption(user.getPassword()));

        service.save(user);

        return success(1);

}

/

     * 用户ID:[0,8388607]用户获取其他与用户相关的数据

     */

    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    @Column(name = "user_id")

    private Integer userId;

    /

     * 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

     */

    @Basic

    @Column(name = "state")

    private Integer state;

    /

     * 所在用户组:[0,32767]决定用户身份和权限

     */

    @Basic

    @Column(name = "user_group")

    private String userGroup;

    /

     * 上次登录时间:

     */

    @Basic

    @Column(name = "login_time")

    private Timestamp loginTime;

    /

     * 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "phone")

    private String phone;

    /

     * 手机认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "phone_state")

    private Integer phoneState;

    /

     * 用户名:[0,16]用户登录时所用的账户名称

     */

    @Basic

    @Column(name = "username")

    private String username;

    /

     * 昵称:[0,16]

     */

    @Basic

    @Column(name = "nickname")

    private String nickname;

    /

     * 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

     */

    @Basic

    @Column(name = "password")

    private String password;

    /

     * 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "email")

    private String email;

    /

     * 邮箱认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "email_state")

    private Integer emailState;

    /

     * 头像地址:[0,255]

     */

    @Basic

    @Column(name = "avatar")

    private String avatar;

    /

     * 创建时间:

     */

    @Basic

    @Column(name = "create_time")

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

    private Timestamp createTime;

    @Basic

    @Transient

    private String code;

}

5.1.3普通用户登录界面

普通用户在登录界面输入账号+密码,点击“登录”按钮,系统在用户数据库表中会对用户的账号进行匹配,账号+密码正确的话,就会登录到系统中各个用户的主管理界面,否则提示对应的信息,返回到登录的界面,其登录主界面展示如下图所示。

           

图5-3普通用户登录界面图

登录关键代码如下:

 /

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

            String res = String.valueOf(service.runCountSql(sql).getSingleResult());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            tokenService.save(accessToken);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

5.1.4餐厅信息界面

用户可以浏览餐厅信息列表,查看餐厅的图片、名称、类型、地址等详细信息。通过筛选条件,如餐厅名称、类型、点赞数、点击数或发布时间,来快速找到心仪的餐厅。同时,用户还可以对喜欢的餐厅进行点赞、收藏和评论,分享自己的用餐体验。餐厅信息界面如下图所示。

图5-4餐厅信息界面图

5.1.5 购物商城界面

在购物商城部分,用户可以浏览商城列表,查看商城的图片、名称、类型、位置等信息。通过搜索功能,用户可以快速定位到感兴趣的商城。此外,用户还可以对商城进行点赞、收藏和评论,分享购物心得。购物商城界面如下图所示。

图5-5购物商城界面图

5.1.6 影院信息界面

用户可以查看影院信息列表,包括影院名称、类型、地址等。通过搜索功能,快速找到想去的影院。同时,用户可以查看影院详情,并对喜欢的影院进行点赞、收藏和评论,分享观影感受。影院信息界面图如下图所示。

图5-6影院信息界面图

5.1.7导航地图界面

在导航地图部分,用户可以查看详细的地图信息,并使用百度地图app进行导航。此外,用户还可以查看地图上的生活服务,如美食、酒店、景点和电影等,以及出行服务,如地铁图、公交站和打车等。热门推荐功能为用户提供了更多发现和选择的机会。导航地图界面图如下图所示。

图5-7导航地图界面图

5.1.8 我的界面

在“我的”菜单里,用户可以管控所有的功能并进行相应的操作:基本信息、收藏等。我的界面图如下图所示。

           

图5-8我的界面图

5.2管理员功能模块

5.2.1系统用户界面

管理员可以全面管理系统内的用户,包括管理员和普通用户。他们可以对用户进行增删改查操作,如添加新用户、删除不再需要的用户,修改用户信息,查询用户详情等。系统用户管理界面如下图所示。

图5-11 系统用户管理界面图

5.2.2 餐厅信息管理界面

管理员可以方便地管理餐厅信息,包括查看餐厅列表、添加新餐厅、查看餐厅详情等。同时,他们还可以处理与餐厅相关的用户评论,进行信息的增删改查操作。为了快速定位特定餐厅,管理员可以通过餐厅名称或餐厅类型进行搜索。餐厅信息管理界面如下图所示。

图5-12餐厅信息管理界面图

餐厅信息管理关键代码如下:

  @PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

public Map<String, Object> addMap(Map<String,Object> map){

    service.insert(map);

     return success(1);

 }

5.2.3购物商城管理界面

管理员同样可以管理购物商城的信息,包括查看商城列表、添加新商城、查看商城详情等。对于商城内的用户评论,管理员也有权进行处理。他们可以通过商城名称或商城类型进行搜索,以便快速找到目标商城。购物商城管理界面如下图所示。

图5-13购物商城管理界面图

5.2.4 影院信息界面

管理员可以管理影院信息,包括查看影院列表、添加新影院、查看影院详情等。他们还可以处理与影院相关的用户评论,并进行相应的增删改查操作。通过影院名称或影院类型进行搜索,管理员可以迅速找到目标影院。影院信息界面如下图所示。

图5-14影院信息管理界面图

5.2.5 系统管理界面

管理员负责系统的轮播图管理,包括查看轮播图列表、添加新轮播图、查看轮播图详情等。他们还可以对轮播图进行增删改查操作,以确保系统界面的更新和准确性。系统管理界面如下图所示。

图5-15系统管理界面图

  1.  系统测试

6.1系统测试的目的

程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中都是难以避免的。虽然这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息泄露,系统无法正常启动等,为了避免这些问题,我们需要测试程序,在测试过程中发现问题,并纠正它们,从而使系统更长时间稳定成熟。本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但对于长期使用而言是非常重要和必要系统的开发。

软件在设计后必须进行测试,调试过程中使用的方法是软件测试方法。在开发新软件时,系统测试是检查软件是否合格的关键步骤,以及是否符合设计目标的参考。测试主要是查看软件中数据的准确性,正确的操作与否,以及操作的结果,还有哪些方面需要改进。

Android位置服务的个性化推荐的实现,对于系统中功能模块的实现及操作都必须通过测试运行来评判系统是否可以准确的实现。在Android位置服务的个性化推荐正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。

6.2系统测试方法

在对Android位置服务的个性化推荐进行测试的时候在找到问题的情况下必须在第一时间找到解决问题的办法,不要存在侥幸的心理,这样才能让位置服务的个性化推荐开发的质量可以过关,并且开发的周期会大大缩短,还有就是在测试时,不要出现重复性的错误,遇到一个错误问题,要将整个Android位置服务的个性化推荐开发所牵扯的该问题都必须一一解决,提高位置服务的个性化推荐的安全性、稳定性。

白盒测试与黑盒测试是测试中比较常用的两种方法。

①结构测试俗称白盒测试:这种测试是在对程序的处理过程与结构都有详尽谅解的前提下,顺从程序内部的逻辑而完成的系统测试,以确定系统中所有的通路都能够遵照设计要求正常工作,不出现任何偏差。

②功能测试又称黑盒测试:主要是针对程序功能能够按照设计正常实现的一种检测,在程序接口处进行,检测程序手法数据是否正常,与外部信息的交换是否完整。

6.3功能测试

用户登录测试:

模块名称

测试用例

预期结果

实际结果

是否通过

登录模块

用户名:admin   密码:123  

弹出错误提示,提示密码错误

弹出错误提示,提示密码错误

通过

登录模块

用户名:123   

密码:admin   

弹出错误提示,提示用户名错误

弹出错误提示,提示用户名错误

通过

登录模块

用户名:admin   

密码:admin   

管理员登录成功

管理员登录成功

通过

删除分类测试:

模块名称

测试用例

预期结果

实际结果

是否通过

删除分类模块

分类名:最新通知  

删除成功、页面自动跳转

删除成功、页面自动跳转

通过

修改密码测试:

模块名称

测试用例

预期结果

实际结果

是否通过

修改密码模块

原密码:666

新密码:123

确认密码:123  

弹出错误提示,提示原密码错误

弹出错误提示,提示原密码错误

通过

修改密码模块

原密码:admin   新密码:123

确认密码:333  

弹出错误提示,提示确认密码不一致

弹出错误提示,提示确认密码不一致

通过

修改密码模块

原密码:admin   新密码:123

确认密码:123  

密码修改成功

密码修改成功

通过

通过对功能的测试,Android位置服务的个性化推荐的基本功能都是可行的,不管是系统里面的功能,还是界面的设计都是可得推广宣传的。

  1.   总结

   SpringBoot基于Android位置服务的个性化推荐应用开发涉及多个关键技术。前端开发技术用于构建用户友好的界面和良好的交互体验,确保用户能够轻松使用推荐功能。后端开发技术处理系统的业务逻辑和数据管理,保证系统稳定运行和高效处理用户请求。数据库技术用于存储和检索数据,确保个性化推荐系统能够快速准确地提供推荐结果。移动应用开发技术实现系统功能在移动设备上的跨平台应用,让用户可以随时随地享受到个性化推荐服务的便利。

安全技术在系统设计中扮演重要角色,通过采用安全技术措施保障用户数据的安全和隐私,增强用户对系统的信任。系统还需要考虑用户体验的优化,确保用户在使用过程中获得流畅、愉快的体验。通过整合这些关键技术,可以构建一个稳定、高效、安全的Android位置服务的个性化推荐系统,为用户提供便捷的个性化位置推荐服务和优质的用户体验。

总的来说,这些关键技术的研究与应用对于SpringBoot基于Android位置服务的个性化推荐应用的成功实施具有重要意义和价值。这些技术的发展和应用不仅提升了用户体验,也推动了相关领域技术的进步和创新。

参考文献

[1]Vidayanti V ,Retnaningdyah C . Microplastic pollution in the surface waters, sediments, and wild crabs of mangrove ecosystems of East Java, Indonesia [J]. Emerging Contaminants, 2024, 10 (4): 100343-.

[2]时晓旭,赖俊业,谢江,等. 大数据场景下基于Java的国产数据交换中间件 [J]. 电脑知识与技术, 2024, 20 (08): 52-55. DOI:10.14004/j.cnki.ckt.2024.0386.

[3]Ghoshal A . Oracle’s MySQL HeatWave gets Vector Store, generative AI features [J]. InfoWorld.com, 2023,

[4]陈蓓蕾,洪年松. 基于SpringBoot的数据库接口设计 [J]. 信息与电脑(理论版), 2023, 35 (16): 181-183.

[5]仇阿根,张用川,罗宁,等. 结合用户特征的政务服务协同过滤推荐方法 [J]. 集成技术, 2023, 12 (01): 42-55.

[6]Yang Y . Design and Implementation of Student Information Management System Based on Springboot [J]. Advances in Computer, Signals and Systems, 2022, 6 (6):

[7]路沙. 保险行业深挖数据价值 提升个性化服务能力[N]. 中国信息化周报, 2022-05-09 (016).

[8]余丽萍,朱亮,刘啸威. 基于语义分析的位置服务推荐方法研究 [J]. 现代电子技术, 2022, 45 (09): 98-104. DOI:10.16652/j.issn.1004-373x.2022.09.018.

[9]许新昌. 一种顾及位置与用户特征的政务服务协同过滤推荐方法[D]. 江苏海洋大学, 2022.

[10]徐川,丁颖祎,罗丽,等. 车联网中基于位置服务的个性化位置隐私保护 [J]. 软件学报, 2022, 33 (02): 699-716.

[11]张昊. 基于迁移学习的位置服务推荐研究[D]. 苏州大学, 2021.

[12]陈潮阳. 大数据中服务推荐隐私保护模型研究[D]. 辽宁工业大学, 2021. [13]肖迎元, 移动计算环境下支持复杂查询的位置服务系统. 天津市, 天津理工大学, 2020-07-14.

[14]宾辰忠. 融合多源信息的旅游个性化位置服务研究[D]. 桂林电子科技大学, 2020.

[15]陈志刚,任芬. 融合情境的社会化商务用户服务推荐优化研究 [J]. 中国集体经济, 2020, (07): 67-69.

[16]郑允豪,刘晓慧. 面向就医地点推荐的个人时空可达性分析方法 [J]. 地球信息科学学报, 2020, 22 (02): 175-186.

[17]马玉春,汪文彬. Android个性化服务软件的设计及教学应用 [J]. 软件, 2020, 41 (01): 24-28.

[18]刘剑. 面向位置服务的个性化轨迹隐私保护方法研究[D]. 哈尔滨工程大学, 2020.

[19]张晓峰. 位置服务信息集成与搜索系统的研究与实现[D]. 兰州理工大学, 2019.

[20]胡兆玮. 基于位置服务的个性化轨迹隐私保护方法研究[D]. 哈尔滨工程大学, 2019.

  

这次毕业设计能够完成,最重要的就是来自指导老师的帮助,老师不厌其烦的对我的论文及毕业设计提出非常有建设性的建议,我的毕设施能够完成离不开老师的帮助。我对老师由衷的表示感谢,

其次要感谢大学四年里学院里所有的任课老师的教导,老师们在我整个大学四年里给予了我丰富的知识,让我能够在大学中不虚度光阴,踏踏实实的学习,没有这些老师不辞辛劳的教诲,我无法完成这四年的学业。

由于自己的水平有限,毕设仍然存在着很大的缺陷,各位老师若提出意见,我会努力改正。

关注+点赞+收藏+私信博主,免费领取项目源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值