基于Java实现(APP)智能停车场管理系统【100010044】

news2024/11/26 7:44:22

移动应用开发系统设计说明书

服务集成流程详细设计

实现功能

序号功能点描述
1新增用户
2注册用户
3修改场地信息
4列出场地信息
5新增认证车辆
6列出认证车辆
7删除认证车辆
8车辆进入信息录入
9停车记录列表展示
10出停车场信息录入

参数说明

User 用户信息实体参数

字段名称字段类型中文名称
loginidint类别 id
usernameString姓名
passwordString密码

Parkcarauth 授权车辆实体参数

字段名称字段类型中文名称
idint车辆
numberString车牌号
authTimeDate认证时间

Area 场地信息实体参数

字段名称字段类型中文名称
areaidint场地 id
pricefloat收费标准
totalnumint总车位数量
leftnumint已占车位数量
statusbyte状态

Parkcar 停车记录实体参数

字段名称字段类型中文名称
idint记录 id
numberStrig车牌号
isAuthbyte是否认证
entertimeDate进入时间
outtimeDate出去时间
parktimeDate停车时间

Resp 消息返回

字段名称字段类型
codeString
messageString
body

功能详细设计

创建用户

时序图

需求分析

  • 该功能用于对用户的注册
  • 对传入的参数进行校验,若账户名已存在,则返回失败
  • 校验成功则进行入库,成功后返回 success 信息

用户登录

时序图

需求分析

  • 该功能用于用户登录
  • 利用用户名到用户表检索,若不存在,则失败
  • 存在用户,则验证密码,成功后返回 success 信息

修改场地信息

时序图

需求分析

  • 该功能用于场地信息的修改
  • 对传入的参数进行校验,若失败则返回 fail 信息
  • 校验成功则进行修改,成功后返回 success 信息

场地信息展示

时序图

需求分析

  • 该功能用于对场地信息展示
  • 直接调用后端接口

新增授权车辆

时序图

需求分析

  • 该功能用于新增车辆认证
  • 校验失败则返回失败信息
  • 参数校验成功后入库,并返回成功信息

删除授权车辆

时序图

需求分析

  • 该功能用于解除车辆认证
  • 车牌校验失败则返回失败信息
  • 参数校验成功后删除授权记录,并返回成功信息

授权车辆展示

时序图

需求分析

  • 该功能用于对授权车辆展示
  • 直接调用后端接口

新增停车记录

时序图

需求分析

  • 该功能用于新增停车记录
  • 对车牌进行校验失败则返回失败信息
  • 参数校验成功后入库,并返回成功信息

停车车辆信息展示

时序图

需求分析

  • 该功能用于对停车车辆详细信息展示
  • 直接调用后端接口

车辆离开接口

时序图

需求分析

  • 该功能用于车辆停车记录更新,返回停车时间
  • 对车牌进行校验失败则返回失败信息
  • 参数校验成功,删除停车记录,并返回成功信息

接口设计

新建用户接口

接口说明新建用户新建用户新建用户新建用户
请求方式POSTPOSTPOSTPOST
服务路径/user/createuser/user/createuser/user/createuser/user/createuser
请求参数类型application/jsonapplication/jsonapplication/jsonapplication/json
请求参数参数名参数类型参数说明是否必填
请求参数loginnameString
请求参数passwordString
返回参数类型application/jsonapplication/jsonapplication/jsonapplication/json
返回参数参数名参数类型参数说明是否必填
请求参数示例loginname=cmz&password=123456loginname=cmz&password=123456loginname=cmz&password=123456loginname=cmz&password=123456
返回参数示例{;“code”:“200”,;“message”:“”,;“body”:“用户创建成功”;};{;“code”:“200”,;“message”:“”,;“body”:“用户创建成功”;};{;“code”:“200”,;“message”:“”,;“body”:“用户创建成功”;};{;“code”:“200”,;“message”:“”,;“body”:“用户创建成功”;};

登陆接口

接口说明登陆登陆登陆登陆
请求方式POSTPOSTPOSTPOST
服务路径/user/login/user/login/user/login/user/login
请求参数类型application/jsonapplication/jsonapplication/jsonapplication/json
请求参数参数名参数类型参数说明是否必填
请求参数loginnameString
请求参数passwordString
返回参数类型application/jsonapplication/jsonapplication/jsonapplication/json
返回参数参数名参数类型参数说明是否必填
请求参数示例loginname=cmz&password=123456loginname=cmz&password=123456loginname=cmz&password=123456loginname=cmz&password=123456
返回参数示例{;“code”:“200”,;“message”:“”,;“body”:“登陆成功”;};{;“code”:“200”,;“message”:“”,;“body”:“登陆成功”;};{;“code”:“200”,;“message”:“”,;“body”:“登陆成功”;};{;“code”:“200”,;“message”:“”,;“body”:“登陆成功”;};

列出场地信息接口

接口说明列出场地信息列出场地信息列出场地信息列出场地信息
请求方式POSTPOSTPOSTPOST
服务路径/area/listarea/area/listarea/area/listarea/area/listarea
请求参数类型application/jsonapplication/jsonapplication/jsonapplication/json
请求参数参数名参数类型参数说明是否必填
请求参数
请求参数
请求参数
请求参数
请求参数
返回参数类型application/jsonapplication/jsonapplication/jsonapplication/json
返回参数参数名参数类型参数说明是否必填
返回参数
请求参数示例
返回参数示例{;“code”:“200”,;“message”:“”,;“body”:{;“areaid”:1,;“price”:2.8,;“totalnum”:200,;“leftnum”:100,;“status”:0;};};{;“code”:“200”,;“message”:“”,;“body”:{;“areaid”:1,;“price”:2.8,;“totalnum”:200,;“leftnum”:100,;“status”:0;};};{;“code”:“200”,;“message”:“”,;“body”:{;“areaid”:1,;“price”:2.8,;“totalnum”:200,;“leftnum”:100,;“status”:0;};};{;“code”:“200”,;“message”:“”,;“body”:{;“areaid”:1,;“price”:2.8,;“totalnum”:200,;“leftnum”:100,;“status”:0;};};

修改场地信息接口

接口说明删除服务删除服务删除服务删除服务
请求方式DELETEDELETEDELETEDELETE
服务路径/area/updatearea/area/updatearea/area/updatearea/area/updatearea
请求参数类型application/jsonapplication/jsonapplication/jsonapplication/json
请求参数参数名参数类型参数说明是否必填
请求参数pricefloat
请求参数totalnumint
请求参数
请求参数
返回参数类型application/jsonapplication/jsonapplication/jsonapplication/json
返回参数参数名参数类型参数说明是否必填
返回参数
请求参数示例price=2.9&totalnum=200;price=2.9&totalnum=200;price=2.9&totalnum=200;price=2.9&totalnum=200;
返回参数示例{;“code”:“200”,;“message”:“”,;“body”:“场地信息修改成功”;};{;“code”:“200”,;“message”:“”,;“body”:“场地信息修改成功”;};{;“code”:“200”,;“message”:“”,;“body”:“场地信息修改成功”;};{;“code”:“200”,;“message”:“”,;“body”:“场地信息修改成功”;};

新增认证车辆接口

接口说明新增认证新增认证新增认证新增认证
请求方式POSTPOSTPOSTPOST
服务路径/ parkcarauth /createauth/ parkcarauth /createauth/ parkcarauth /createauth/ parkcarauth /createauth
请求参数类型application/jsonapplication/jsonapplication/jsonapplication/json
请求参数参数名参数类型参数说明是否必填
请求参数numberString
请求参数
请求参数
请求参数
返回参数类型application/jsonapplication/jsonapplication/jsonapplication/json
返回参数参数名参数类型参数说明是否必填
返回参数
请求参数示例;number=”浙 A88888”;number=”浙 A88888”;number=”浙 A88888”;number=”浙 A88888”
返回参数示例{;“code”:“200”,;“message”:“”,;“body”:“新增车辆认证成功”;};{;“code”:“200”,;“message”:“”,;“body”:“新增车辆认证成功”;};{;“code”:“200”,;“message”:“”,;“body”:“新增车辆认证成功”;};{;“code”:“200”,;“message”:“”,;“body”:“新增车辆认证成功”;};

删除认证车辆接口

接口说明新增认证新增认证新增认证新增认证
请求方式POSTPOSTPOSTPOST
服务路径/ parkcarauth /deleteauth/ parkcarauth /deleteauth/ parkcarauth /deleteauth/ parkcarauth /deleteauth
请求参数类型application/jsonapplication/jsonapplication/jsonapplication/json
请求参数参数名参数类型参数说明是否必填
请求参数numberString
请求参数
请求参数
请求参数
返回参数类型application/jsonapplication/jsonapplication/jsonapplication/json
返回参数参数名参数类型参数说明是否必填
返回参数
请求参数示例;number=”浙 A88888”;number=”浙 A88888”;number=”浙 A88888”;number=”浙 A88888”
返回参数示例{;“code”:“200”,;“message”:“”,;“body”:“删除车辆认证成功”;};{;“code”:“200”,;“message”:“”,;“body”:“删除车辆认证成功”;};{;“code”:“200”,;“message”:“”,;“body”:“删除车辆认证成功”;};{;“code”:“200”,;“message”:“”,;“body”:“删除车辆认证成功”;};

列出认证车辆接口

接口说明新增认证新增认证新增认证新增认证
请求方式POSTPOSTPOSTPOST
服务路径/ parkcarauth /listauth/ parkcarauth /listauth/ parkcarauth /listauth/ parkcarauth /listauth
请求参数类型application/jsonapplication/jsonapplication/jsonapplication/json
请求参数参数名参数类型参数说明是否必填
请求参数
请求参数
请求参数
请求参数
返回参数类型application/jsonapplication/jsonapplication/jsonapplication/json
返回参数参数名参数类型参数说明是否必填
返回参数
请求参数示例
返回参数示例{;“code”:“200”,;“message”:“”,;“body”:{;{;id: “1”,;number: “浙 A88888”,;authTime: “2020-11-05 10:00:28”;},;{;id: “2”,;number: “浙 A82222”,;authTime: “2020-11-06 10:00:28”;};};{;“code”:“200”,;“message”:“”,;“body”:{;{;id: “1”,;number: “浙 A88888”,;authTime: “2020-11-05 10:00:28”;},;{;id: “2”,;number: “浙 A82222”,;authTime: “2020-11-06 10:00:28”;};};{;“code”:“200”,;“message”:“”,;“body”:{;{;id: “1”,;number: “浙 A88888”,;authTime: “2020-11-05 10:00:28”;},;{;id: “2”,;number: “浙 A82222”,;authTime: “2020-11-06 10:00:28”;};};{;“code”:“200”,;“message”:“”,;“body”:{;{;id: “1”,;number: “浙 A88888”,;authTime: “2020-11-05 10:00:28”;},;{;id: “2”,;number: “浙 A82222”,;authTime: “2020-11-06 10:00:28”;};};

新增认证车辆接口

接口说明新增认证新增认证新增认证新增认证
请求方式POSTPOSTPOSTPOST
服务路径/ parkcar /createpark/ parkcar /createpark/ parkcar /createpark/ parkcar /createpark
请求参数类型application/jsonapplication/jsonapplication/jsonapplication/json
请求参数参数名参数类型参数说明是否必填
请求参数parkcarParcar停车记录实体参数
请求参数
请求参数
请求参数
返回参数类型application/jsonapplication/jsonapplication/jsonapplication/json
返回参数参数名参数类型参数说明是否必填
返回参数
请求参数示例
返回参数示例{;“code”:“200”,;“message”:“”,;“body”:“新建成功”;};{;“code”:“200”,;“message”:“”,;“body”:“新建成功”;};{;“code”:“200”,;“message”:“”,;“body”:“新建成功”;};{;“code”:“200”,;“message”:“”,;“body”:“新建成功”;};

列出停车详情接口

接口说明列出停车详情列出停车详情列出停车详情列出停车详情
请求方式POSTPOSTPOSTPOST
服务路径/ parkcar /listcar/ parkcar /listcar/ parkcar /listcar/ parkcar /listcar
请求参数类型application/jsonapplication/jsonapplication/jsonapplication/json
请求参数参数名参数类型参数说明是否必填
请求参数
请求参数
请求参数
请求参数
返回参数类型application/jsonapplication/jsonapplication/jsonapplication/json
返回参数参数名参数类型参数说明是否必填
返回参数
请求参数示例
返回参数示例{;“code”:“200”,;“message”:“”,;“body”:“”;};{;“code”:“200”,;“message”:“”,;“body”:“”;};{;“code”:“200”,;“message”:“”,;“body”:“”;};{;“code”:“200”,;“message”:“”,;“body”:“”;};

返回停车时间接口

接口说明计算停车时间接口计算停车时间接口计算停车时间接口计算停车时间接口
请求方式POSTPOSTPOSTPOST
服务路径/ parkcar /getcar/ parkcar /getcar/ parkcar /getcar/ parkcar /getcar
请求参数类型application/jsonapplication/jsonapplication/jsonapplication/json
请求参数参数名参数类型参数说明是否必填
请求参数number“浙 A88888”
请求参数
请求参数
请求参数
返回参数类型application/jsonapplication/jsonapplication/jsonapplication/json
返回参数参数名参数类型参数说明是否必填
返回参数
请求参数示例number=浙 A88888number=浙 A88888number=浙 A88888number=浙 A88888
返回参数示例{;“code”:“200”,;“message”:“”,;“body”:{;parktime: “2 天 3 小时 10 分钟”;};};{;“code”:“200”,;“message”:“”,;“body”:{;parktime: “2 天 3 小时 10 分钟”;};};{;“code”:“200”,;“message”:“”,;“body”:{;parktime: “2 天 3 小时 10 分钟”;};};{;“code”:“200”,;“message”:“”,;“body”:{;parktime: “2 天 3 小时 10 分钟”;};};

百度 AI 车牌识别 SDK

​ 接口描述:支持识别中国大陆机动车蓝牌、黄牌(单双行)、绿牌、大型新能源(黄绿)、领使馆车牌、警牌、武警牌(单双行)、军牌(单双行)、港澳牌、农用车牌、民航车牌的地域编号和车牌号,并能同时识别图像中的多张车牌。

返回参数

参数类型是否必须说明
log_iduint64请求标识码,随机数,唯一。
colorstring车牌颜色:支持 blue、green、yellow
numberstring车牌号码
probabilitystring车牌中每个字符的置信度,区间为 0-1
vertexes_locationint返回文字外接多边形顶点位置

返回实例

{
"errno":0,"msg":"success"
,"data":
    {
"log_id":"5327722537189137631"
        ,
"words_result":
        {
"color":"green"
            ,
"number":"苏AD12267"
            ,
"probability":
            [1,0.9999977350235,
             0.99999630451202,0.99999868869781,
             0.99998331069946,0.99999988079071,
             0.9531751871109,0.99922955036163],
"vertexes_location":
            [
            {"y":223,"x":170},{"y":223,"x":282},
            {"y":256,"x":282},{"y":256,"x":170}
        }
    }
}

系统欢迎界面及主界面

​ 该界面为启动系统时的欢迎界面,点击进入即可进入系统,注册或直接登录后进入主界面。

​ 系统的主功能界面,拥有车辆驶入、车辆驶出和退出登录三个按钮,点击不同的按钮即进入对应的功能,上方的状态栏显示当前停车场停放情况。

系统欢迎界面及系统主界面

初始车辆授权状态

​ 该界面为系统的初始车辆授权状态,显示目前已被授权进入的车辆的车牌号,可以点击右上角的加号进行手动添加授权。点击车牌号右边的按钮可以取消对应车辆的授权。

​ 初始车辆授权状态

初始停车场停放情况

​ 该界面用户可以查看已经停在停车场内所有车辆的信息已经停车时长,如图 4.3 所示。

设置收费标准

​ 该界面用户可以查看已经设置的收费标准,并且可以修改

​ 设置收费标准

图像获取方式

​ 该用户既可以用手机直接进行拍摄,也可以通过截取监控图像等进行信息采集。

识别驶出车辆

​ 该界面显示的是识别驶出车辆的车牌号,并且拍照。

​ 确认是否出库可以选择确认或者取消,并给出该车辆总停车时长的提示。

​ 确认是否出库

费用统计

​ 该界面显示的是出库时的费用统计和停车时长并给出处理意见。并且在车辆驶出后给出“收费成功,车辆驶出”的提示。

​ 给出计费金额和时间及收款后给出提示

识别到未授权车辆

​ 该界面显示的是识别到未授权的车辆,并给出相应的处理方法,添加或者不添加到授权库中。

​ 发现没有授权并将其授权

手动添加要授权的车牌

​ 该界面显示的是手动添加授权车辆,其方法是输入车牌号来完成授权操作。也可以点击右边按钮取消授权车辆。

​ 手动输入要进行授权的车牌号及此时已经授权的车辆

识别到已授权车辆的驶入

​ 该界面显示的是刚刚识别的车辆的驶入确认选择图,选择确认就开始计费,并且在车辆成功进入车库后开始正常计费的提示。

​ 驶入成功开始计费及给出提示并更改车位状态

显示停车场详情

​ 该界面显示的是车辆成功进入车库后再次查看停车场详情,该车辆已经在停车场中。

​ 此时停车场的车辆情况

更改车位容量

​ 该界面显示的是设置车位数量,可以重新设置一个不少于目前已停车辆的一个车位数,并给出成功更改车位容量后给出“设置成功”的提示。

数据库设计

carPark APP 数据库设计:

Users 用来存放用户信息

字段名称字段类型中文名称备注
loginidint类别 id自增,主键
usernamevarchar(50)姓名
passwordvarchar(20)密码

ParkCarAuth 用来存放授权车辆信息

字段名称字段类型中文名称备注
idint车辆自增,主键
numbervarchar(50)车牌号
authTimeDatetime认证时间

Area 用来存放场地信息

字段名称字段类型中文名称备注
areaidint场地 id自增,主键
pricefloat收费标准
totalnumint总车位数量
leftnumint已占车位数量
statustinyint状态0 未满 1 已满

ParkCar 用来存放停车记录

字段名称字段类型中文名称备注
idint记录 id自增,主键
numbervarchar (50)车牌号
isAuthtinyint是否认证0 未认证 1 认证
entertimeDatetime进入时间
outtimeDatetime出去时间
parktimeDatetime停车时间

前端结构图

♻️ 资源

在这里插入图片描述

大小: 5.53MB
➡️ 资源下载:https://download.csdn.net/download/s1t16/87248610

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

壳聚糖-三聚磷酸钠(CTS-STPP)|SN-117M标记甘露糖偶联葡聚糖胺

壳聚糖-三聚磷酸钠(CTS-STPP)|SN-117M标记甘露糖偶联葡聚糖胺 中文名称:壳聚糖-三聚磷酸钠 英文名称:CTS-STPP 纯度:95% 存储条件:-20C,避光,避湿 外观:固体或粘性液体 包装:瓶装/袋装…

实战 | 基于OpenCV的停车场空余车位实时监测系统(详细步骤 + 源码)

导 读 本文主要介绍如何使用Python和OpenCV实现一个停车场空余车位实时监测系统,并包含详细步骤和源码。 背景介绍 介绍实现步骤之前,先来看看测试视频(小型停车场实时监控画面): ,时长00:28 我们的目标是实时检测停车场剩余空位…

DAMA-CDGA/CDGP数据治理工程师证书含金量杠杠滴

DAMA-CDGA/CDGP数据治理工程师证书含金量杠杠滴 DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决&a…

Linux常用操作 | 权限网络进程主机... | 系统性学习 | 无知的我费曼笔记

无知的我正在复盘Linux。。。 下面是我总结的 Linux 知识的初阶版思维导图,后续会不断补充 文章目录Linux常用操作软件安装systemctl软链接日期时区ntpip地址主机名配置VMware固定IPps命令kill命令nmap命令netstat命令ping命令wget命令curl命令top命令df命令iosta…

Ubuntu 建立 http server

1.執行 sudo apt install apache2 2.檢查Apache sudo systemctl status apache2 看到active說明運行正常 3.調整UFW防火牆 允許Apache遠端連接 查看 sudo ufw app list 允許HTTP/HTTPs傳輸 sudo ufw allow in "Appach Full" 4.測試 在網頁上打開 http://{你的…

汇编伪指令

目录 段的定义(重点) 定位方式 汇编地址计数器 $ ORG 例题 段寄存器的设定(重点) 源程序的结束(重点) 过程的定义(了解) 掌握 过程定义伪指令 PROC, ENDP 段定…

QT—常用容器 QStringList,QVector,QMap,QHash,QVariant

QStringList 元素添加 可以直接添加元素&#xff0c;也可也使用append( )方法在末尾追加元素 QStringList weekList<<"星期一"<<"星期二"<<"星期三"; weekList.append("星期四"); qDebug()<<weekList; 元素…

LeetCode刷题复盘笔记—一文搞懂动态规划之123. 买卖股票的最佳时机 III问题(动态规划系列第二十二篇)

今日主要总结一下动态规划的一道题目&#xff0c;123. 买卖股票的最佳时机 III 题目&#xff1a;123. 买卖股票的最佳时机 III Leetcode题目地址 题目描述&#xff1a; 给定一个数组&#xff0c;它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能…

小程序地图插入图标后 怎么实现点击图标弹出窗口

1问题描述本次博客的要解决的问题是&#xff1a;小程序地图插入图标后 怎么实现点击图标弹出窗口如图&#xff1a;2算法描述点击标记点获取数据想要在地图等页面上显示弹窗&#xff0c;是使用的是marke的方法&#xff0c;点击标记点获取数据先在wxml里写好布局文件<view cl…

可强占RCU

可强占RCU前言前言 RCU机制属于无锁编程的一种&#xff0c;在访问读端临界区时不需要加锁&#xff0c;故不存在上面提到的锁的问题&#xff0c;所以拥有极好的扩展性&#xff0c;且可以多个读者同时存在。那为什么不用RCU锁取代其他锁呢&#xff1f;前面说到读端不用加锁&…

光纤耦合装置的公差分析

摘要 在现代光学中&#xff0c;光纤存在于各种光学系统中&#xff0c;能够将多少光耦合到光纤中一直是人们关注的问题。耦合效率对系统的对准十分敏感&#xff0c;特别是对于芯径相对较小的单模光纤。在本例中&#xff0c;我们选择了一个设计良好的光纤耦合透镜&#xff0c;并根…

ARM异常处理(异常源的分类、异常的响应流程)

目录 一、异常的概念 1、什么是异常&#xff1f; 2、处理异常时&#xff0c;处理器要考虑哪些问题&#xff1f; 二、ARM异常源 1、异常源的分类 2、异常模式 三、ARM异常响应 1、CPSR寄存器内容备份&#xff08;自动执行&#xff09; 2、修改CPSR的值&#xff08;自动…

广告倒排服务极致优化

作者 | XY 导读 漏斗优化是检索系统不变的话题&#xff0c;过去一年来&#xff0c;广告漏斗优化一改往日做“加法”&#xff0c;而通过简化漏斗&#xff0c;提升全系统一致性。如百度这样庞大的广告库规模、高流量规模以及复杂的业务规则&#xff0c;要做到极简的漏斗层次&…

206367-33-1,抗菌肽pBD-1

pBD-1 是一种来源于猪组织的内源性组成型表达的抗菌肽 (AMP)&#xff0c;尤其在猪黏膜上皮部位表达。pBD-1 具有抗菌作用&#xff0c;并且有助于猪黏膜和系统宿主防御。pBD-1 is an endogenous and constitutively expressed antimicrobial peptide (AMP) from porcine tissues…

rocketmq源码-consumer拉取消息(push模式)

前言 在前面consumer启动的博客中&#xff0c;有说过&#xff0c;在启动过程中&#xff0c;有两个比较重要的逻辑&#xff0c;分别是负载均衡和拉取消息的service&#xff0c;这篇博客&#xff0c;主要记录拉取消息的service&#xff0c;因为前面的demo和这篇笔记中的demo&…

电磁场知识整理------2022/12/14

电磁场知识整理1、数学基础麦克斯韦方程2、麦克斯韦方程组的近似情况2.1 恒定电场2.2 恒定电流场2.3 恒定磁场2.4 动态电磁场2.5 时谐电磁场3、电磁辐射与电磁波写在最后学习资源&#xff1a;慕课上浙大的工程电磁场与波。 工程电磁场与波 1、数学基础 正交坐标系&#xff1a;…

Android 线上卡顿监控

文章目录1. 卡顿与ANR的关系2. 卡顿原理3. 卡顿监控3.1 WatchDog3.2 Looper Printer3.2.1 监控TouchEvent卡顿3.2.2 监控IdleHandler卡顿3.2.3 监控SyncBarrier泄漏4. 小结平时看博客或者学知识&#xff0c;学到的东西比较零散&#xff0c;没有独立的知识模块概念&#xff0c;而…

leetcode 375. 猜数字大小 II-【python3详细图解】递归+记忆化搜索与动态规划

题目 我们正在玩一个猜数游戏&#xff0c;游戏规则如下&#xff1a; 我从 1 到 n 之间选择一个数字。你来猜我选了哪个数字。如果你猜到正确的数字&#xff0c;就会 赢得游戏 。如果你猜错了&#xff0c;那么我会告诉你&#xff0c;我选的数字比你的 更大或者更小 &#xff0c…

二十、JavaScript——逻辑非

! 逻辑非- &#xff01;可以对一个值进行非运算 - 它可以对一个布尔值进行取反操作 true 变成 false false 变成 true - 如果对一个非布尔值进行取反&#xff0c;它会将其先转换为布尔值&#xff0c;再进行取反操作 可以利用这个特点将其他类型转换为布尔值 <script>/*! …

Hybrid模式下,如何实现热更新?

做过开发的小伙伴应该对“热更新”不陌生吧&#xff01;热更新就是指在游戏或软件更新的时候&#xff0c;不用再重新下载安装包进行安装&#xff0c;而是在启动应用程序的时候&#xff0c;在内部进行资源或代码的更新。那么如今&#xff0c;市场为什么越来越多地选择热更新技术…