当前位置: 首页 > news >正文

20231114在HP笔记本的ubuntu20.04系统下向RealmeQ手机发送PDF文件

20231114在HP笔记本的ubuntu20.04系统下向RealmeQ手机发送PDF文件
2023/11/14 14:11


手机:Realme Q
笔记本电脑:HP
https://item.jd.com/100012583174.html
惠普(HP)战66 三代AMD版 14英寸轻薄笔记本电脑(锐龙7nm 六核 R5-4500U 8G 256G 一年上门+意外 2年电池)


百度:ubuntu BT蓝牙扫描 传输
https://download.csdn.net/blog/column/10505902/125683989
Ubuntu蓝牙Bluetooth命令行连接发送文件完整流程


1.确保bluez已安装好
$sudo apt install bluez

2.查看当前蓝牙阻塞状态
$sudo rfkill list

如果上面阻塞状态为yes,表示蓝牙关闭,则需要unblock打开蓝牙:
$sudo rfkill unblock bluetooth

3.执行bluetoothctl
$bluetoothctl

4.扫描其他蓝牙设备
$scan on

5.配对指定的蓝牙设备
$pair AA:AA:xxxxxx
$trust dev_address

pair 58:85:e9:2e:52:2a
trust 58:85:e9:2e:52:2a
connect 58:85:e9:2e:52:2a

6.如果没有安装bluez-tools则需要安装

$sudo apt install bluez-tools
使用bt-obex发送文件:
$bt-obex -p [remote_mac] [file]

譬如:
$bt-obex -p F0:6B:CA:A2:C4:69 ~/xxx.pdf
bt-obex -p 58:85:e9:2e:52:2a ~/readme.pdf

命令行监听接收则可以先执行命令:
$bt-obex -s [path]

譬如:
$bt-obex -s ~/Downloads

RealmeQ手机相关截图:


参考资料:
百度:bluetoothctl connect  pair
https://blog.csdn.net/qq_28877125/article/details/134130625
【RP-RV1126】配置一套简单的板级配置


https://www.python100.com/html/82170.html
Bluetoothctl全解析

rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~$ 
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~$ 
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~$ uname -r
5.15.0-88-generic
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~$ 
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~$ 
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~$ sudo apt install bluez
[sudo] password for rootroot: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
bluez is already the newest version (5.53-0ubuntu3.6).
bluez set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 102 not upgraded.
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~$ 
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~$ 
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~$ sudo rfkill list
0: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no
1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~$ 
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~$ bluetoothctl
Agent registered
[CHG] Device 48:B8:A6:3A:04:6D RSSI: -73
[CHG] Device 43:4C:5D:C5:0B:1F RSSI: -82
[CHG] Device 4C:E1:73:B8:8C:0F RSSI: -97
[CHG] Device 49:3C:99:18:0A:1B RSSI: -83
[CHG] Device 53:98:AF:96:B5:34 RSSI: -92
[CHG] Device 45:C9:70:CD:02:20 RSSI: -85
[CHG] Device 59:B2:26:FF:62:53 RSSI: -57
[CHG] Device 65:8F:BE:BC:26:29 RSSI: -89
[CHG] Device 98:DA:B0:07:6D:32 RSSI: -77
[NEW] Device 4E:EE:7C:E2:63:5D 4E-EE-7C-E2-63-5D
[CHG] Device 45:C9:70:CD:02:20 RSSI: -85
[CHG] Device 7A:1B:5D:D7:A2:FB RSSI: -87
[CHG] Device 52:BC:9A:84:72:0E RSSI: -93
[CHG] Device 53:98:AF:96:B5:34 RSSI: -90
[CHG] Device 49:3C:99:18:0A:1B RSSI: -88
[CHG] Device 54:28:76:FE:F0:88 RSSI: -86
[NEW] Device 6D:BB:E1:6C:93:CB 6D-BB-E1-6C-93-CB
[CHG] Device DC:F0:90:3F:BC:78 RSSI: -71
[CHG] Device 52:89:F4:C9:74:A7 RSSI: -74
[CHG] Device 52:89:F4:C9:74:A7 ManufacturerData Key: 0x004c
[CHG] Device 52:89:F4:C9:74:A7 ManufacturerData Value:
  01 00 00 00 00 00 40 00 00 00 00 00 00 00 00 00  ......@.........
  00                                               .               
[CHG] Device 7A:1B:5D:D7:A2:FB RSSI: -97
[CHG] Device 90:E4:68:E2:FE:43 RSSI: -59
[CHG] Device 61:22:DF:10:F5:72 RSSI: -82
[CHG] Device 65:8F:BE:BC:26:29 RSSI: -89
[CHG] Device 24:8D:0C:DE:34:AB RSSI: -99
[CHG] Device 47:18:94:BC:80:8F RSSI: -93
[CHG] Device 4C:E1:73:B8:8C:0F RSSI: -96
[CHG] Device 5F:C0:39:33:B1:99 RSSI: -93
[CHG] Device 98:DA:B0:07:6D:32 RSSI: -72
[CHG] Device 36:7E:54:84:FD:F5 RSSI: -63
[CHG] Device 52:BC:9A:84:72:0E RSSI: -91
[CHG] Device 36:7E:54:84:FD:F5 RSSI: -61
[CHG] Device 43:72:FC:CA:8F:37 RSSI: -93
[CHG] Device 52:BC:9A:84:72:0E RSSI: -89
[CHG] Device 52:89:F4:C9:74:A7 RSSI: -79
[CHG] Device 52:89:F4:C9:74:A7 ManufacturerData Key: 0x004c
[CHG] Device 52:89:F4:C9:74:A7 ManufacturerData Value:
  01 00 00 00 00 00 40 00 00 00 00 00 00 00 00 00  ......@.........
  00                                               .               
[CHG] Device 56:E8:2E:9D:A3:52 RSSI: -62
[CHG] Device 04:7F:0E:4B:F7:F4 RSSI: -83
[CHG] Device 49:3C:99:18:0A:1B RSSI: -89


[bluetooth]# pair 58:85:e9:2e:52:2a
Attempting to pair with 58:85:E9:2E:52:2A
Failed to pair: org.bluez.Error.AlreadyExists
[CHG] Device 6A:9C:5C:AC:BE:C6 RSSI: -71
[CHG] Device 78:4F:5F:A4:D0:7D RSSI: -84
[CHG] Device C8:76:25:6F:1E:36 RSSI: -75
[CHG] Device 34:5B:B4:1C:4A:48 RSSI: -95
[CHG] Device 1D:8F:FD:E3:96:99 RSSI: -64


[bluetooth]# trust 58:85:e9:2e:52:2a
Changing 58:85:E9:2E:52:2A trust succeeded
[CHG] Device 4A:92:48:B6:27:1F RSSI: -61
[CHG] Device 98:DA:B0:07:6D:32 RSSI: -70
[CHG] Device 9C:77:01:D3:8F:F2 RSSI: -80
[CHG] Device 9C:97:89:80:29:C1 RSSI: -90
[NEW] Device 42:61:52:B5:27:10 42-61-52-B5-27-10
[CHG] Device 50:58:94:C2:95:42 RSSI: -97
[CHG] Device 5B:80:5F:E4:B5:01 RSSI: -63
[CHG] Device 41:12:BF:5A:CF:50 RSSI: -90
[CHG] Device 11:4F:6E:39:E3:BE RSSI: -66


[bluetooth]# connect 58:85:e9:2e:52:2a
Attempting to connect to 58:85:e9:2e:52:2a
[CHG] Device 23:46:31:3B:23:62 RSSI: -89
[CHG] Device 66:66:11:EE:D5:FB RSSI: -88
[CHG] Device 9C:97:89:80:29:C1 RSSI: -90
[CHG] Device 1D:8F:FD:E3:96:99 RSSI: -67
[CHG] Device 5A:52:DD:82:B0:3B RSSI: -79
[CHG] Device 41:12:BF:5A:CF:50 RSSI: -86
[CHG] Device 71:A2:CF:F1:C4:35 RSSI: -87
[CHG] Device 90:E4:68:E2:FE:43 RSSI: -57
[CHG] Device 9C:97:89:80:29:C1 RSSI: -93
[CHG] Device 41:12:BF:5A:CF:50 RSSI: -85
[CHG] Device 3D:B5:F6:A6:A1:44 RSSI: -76
[CHG] Device 3D:B5:F6:A6:A1:44 ManufacturerData Key: 0x004c
[CHG] Device 3D:B5:F6:A6:A1:44 ManufacturerData Value:
  13 07 02 07 77 fa 26 70 6b                       ....w.&pk       
[CHG] Device 90:E4:68:E2:FE:43 RSSI: -56
[CHG] Device 4A:92:48:B6:27:1F RSSI: -76
[CHG] Device 9C:97:89:80:29:C1 RSSI: -94
[CHG] Device 7F:F4:25:34:0C:F8 RSSI: -75
[CHG] Device 11:4F:6E:39:E3:BE RSSI: -71
[CHG] Device 67:46:4A:79:15:04 RSSI: -93
[CHG] Device 90:E4:68:E2:FE:43 RSSI: -56
[NEW] Device 71:B0:FA:94:A7:2A 71-B0-FA-94-A7-2A
[CHG] Device 48:8B:F9:30:5F:64 RSSI: -91
[CHG] Device 5B:80:5F:E4:B5:01 RSSI: -74
[CHG] Device 4A:92:48:B6:27:1F RSSI: -76
[CHG] Device 52:23:C7:0A:67:1E RSSI: -53
[CHG] Device 5A:52:DD:82:B0:3B RSSI: -76
[CHG] Device 67:46:4A:79:15:04 RSSI: -80
[CHG] Device 11:4F:6E:39:E3:BE RSSI: -66
[CHG] Device 3D:B5:F6:A6:A1:44 RSSI: -77
[CHG] Device 52:5D:B9:9D:B6:33 RSSI: -80
[CHG] Device 5E:2C:7B:1A:25:51 RSSI: -94
[CHG] Device 5B:80:5F:E4:B5:01 RSSI: -71
[CHG] Device 41:12:BF:5A:CF:50 RSSI: -82
[CHG] Device 64:1D:CD:1E:A4:12 RSSI: -67
[CHG] Device 24:01:0E:9B:AC:56 RSSI: -68
[CHG] Device 6A:15:10:B9:3D:87 RSSI: -72
[CHG] Device 4B:F3:ED:9B:02:46 RSSI: -78
[CHG] Device 6A:15:10:B9:3D:87 RSSI: -73
[CHG] Device 36:D5:15:8A:8C:57 RSSI: -95
[CHG] Device 90:E4:68:E2:FE:43 RSSI: -55
[CHG] Device 66:66:11:EE:D5:FB RSSI: -89
[CHG] Device 3D:B5:F6:A6:A1:44 RSSI: -72
[CHG] Device 23:46:31:3B:23:62 RSSI: -86
[CHG] Device 11:4F:6E:39:E3:BE RSSI: -66
[CHG] Device 24:01:0E:9B:AC:56 RSSI: -68
[CHG] Device 5B:2B:52:0A:A7:EA RSSI: -89
[CHG] Device 1D:8F:FD:E3:96:99 RSSI: -57
[CHG] Device 58:85:E9:2E:52:2A Connected: yes
[CHG] Device 7B:3C:96:A7:E7:3D RSSI: -75
[CHG] Device E8:D1:E2:C2:F9:7D RSSI: -96
[CHG] Device 64:1D:CD:1E:A4:12 RSSI: -75
[CHG] Device 23:46:31:3B:23:62 RSSI: -85
[CHG] Device 71:A2:CF:F1:C4:35 RSSI: -88
[CHG] Device 52:5D:B9:9D:B6:33 RSSI: -71
[CHG] Device 1D:8F:FD:E3:96:99 RSSI: -57


rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~$ 
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~$ sudo apt install bluez-tools
[sudo] password for rootroot: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  bluez-tools
0 upgraded, 1 newly installed, 0 to remove and 102 not upgraded.
Need to get 153 kB of archives.
After this operation, 1,048 kB of additional disk space will be used.
Get:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal/universe amd64 bluez-tools amd64 2.0~20170911.0.7cb788c-2build1 [153 kB]
Fetched 153 kB in 1s (104 kB/s)     

Selecting previously unselected package bluez-tools.
(Reading database ... 213456 files and directories currently installed.)
Preparing to unpack .../bluez-tools_2.0~20170911.0.7cb788c-2build1_amd64.deb ...
Unpacking bluez-tools (2.0~20170911.0.7cb788c-2build1) ...
Setting up bluez-tools (2.0~20170911.0.7cb788c-2build1) ...
Processing triggers for man-db (2.9.1-1) ...

rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~$ 
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~$ bt-obex -p 58:85:e9:2e:52:2a ~/readme.pdf
[Transfer#readme.pdf] Waiting...
[Transfer#readme.pdf] Progress: 100%
[Transfer#readme.pdf] Completed

(bt-obex:3062): GLib-CRITICAL **: 14:53:07.194: g_atomic_ref_count_dec: assertion 'g_atomic_int_get (arc) > 0' failed
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~$ 

相关文章:

20231114在HP笔记本的ubuntu20.04系统下向RealmeQ手机发送PDF文件

20231114在HP笔记本的ubuntu20.04系统下向RealmeQ手机发送PDF文件 2023/11/14 14:11 手机:Realme Q 笔记本电脑:HP https://item.jd.com/100012583174.html 惠普(HP)战66 三代AMD版 14英寸轻薄笔记本电脑(锐龙7nm 六核…...

【0234】PgBackendStatus 记录当前postgres进程的活动状态

1. 关于PgBackendStatus 每个存活的后端进场在共享内存中维护一个PgBackendStatus结构体,显示其当前活动状态。(结构体是根据BackendId分配的,但这并不重要。) 请注意: 进场状态收集器进程不参与、甚至不访问这些结构。 每个辅助进程还在共享内存中维护一个PgBackendStatu…...

存钱虚拟计划,嘚

存钱计划—虚拟 2024年 (第一年) 1月 2月 3月 4月 5月 6 月 7月 8月 9月 10月 11月 12月 1w 1w 1w 1w 1w 1w 1w 1w 1w 1w 1w 1w 2025年(第二年) 1w1w*102.5% A 懒得写A代替 A A A A A A A A A A 2026年(第三年) (1w1w*10…...

基于IDEA进行Maven工程构建

Java全能学习面试指南:https://javaxiaobear.cn 1. 构建概念和构建过程 项目构建是指将源代码、依赖库和资源文件等转换成可执行或可部署的应用程序的过程,在这个过程中包括编译源代码、链接依赖库、打包和部署等多个步骤。 项目构建是软件开发过程中…...

Openssl X509 v3 AuthorityKeyIdentifier实验与逻辑分析

Openssl是X509的事实标准,目前主流OS或个别安全性要求较高的设计场景,对X509的证书链验证已经不在停留在只从数字签名校验了,也就是仅仅从公钥验签的角度,在这些场景中,往往还会校验AuthorityKeyIdentifier和SubjectKe…...

聊聊logback的MDCFilter

序 本文主要研究一下logback的MDCFilter MatchingFilter ch/qos/logback/classic/turbo/MatchingFilter.java public abstract class MatchingFilter extends TurboFilter {protected FilterReply onMatch FilterReply.NEUTRAL;protected FilterReply onMismatch FilterR…...

Windows10安装麒麟桌面V10双系统

概述 想要在Windows10操作系统中安装麒麟V10的桌面操作系统(Kylin-Desktop-V10-Professional-Release-Build1-210203-X86_64) 安装前准备 1、先搞清楚自己的电脑类型 A MBR传统bios单硬盘 B MBR 传统bios双硬盘(SSD固态硬盘机械硬盘&…...

file_put_contents锁的问题

记一次线上生产file_put_contents锁的问题 php项目,很多地方加了日志记录,方法为 function logstr($namelog,$str"",$type"Ymd"){$file date("$type")._.$name..log;$add __DIR__./../runtime/cuslog/.date("Ym&q…...

工作中积累的对K8s的就绪和存活探针的一些认识

首先,我的项目是基于 Spring Boot 2.3.5 的,并依赖 spring-boot-starter-actuator 提供的 endpoints 来实现就绪和存活探针,POM 文件如下图: 下面,再让我们来看下与该项目对应的Deployment的YAML文件,如下…...

什么是会话固定以及如何在 Node.js 中防止它

什么是会话固定以及如何在 Node.js 中防止它 在深入讨论之前,我们需要了解会话是什么以及会话身份验证如何工作。 什么是会话? 正如我们所知,HTTP 请求是无状态的,这意味着当我们发送登录请求时,并且我们有有效的用…...

代码随想录算法训练营第五十二天|300. 最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

第九章 动态规划part13 300. 最长递增子序列 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数…...

使用 Hugging Face Transformer 微调 BERT

微调 BERT有助于将其语言理解能力扩展到更新的文本领域。BERT 的与众不同之处在于它能够掌握句子的上下文关系,理解每个单词相对于其邻居的含义。我们将使用 Hugging Face Transformers 训练 BERT,还将教 BERT 分析 Arxiv 的摘要并将其分类为 11 个类别之一。 为什么微调 BER…...

Vue原型对象

原型对象 prototype 称为:显示的原型属性,用法:函数.prototype,例如:Vue.prototype __proto__称为:隐式的原型属性,用户:实例.proto,例如:vm.proto 不管如何 …...

向量数据库的分类概况

保存和检索矢量数据的五种方法: 像 Pinecone 这样的纯矢量数据库 全文搜索数据库,例如 ElasticSearch 矢量库,如 Faiss、Annoy 和 Hnswlib 支持矢量的NoSQL 数据库,例如 MongoDB、Cosmos DB 和 Cassandra 支持矢量的SQL 数据库&am…...

工业镜头的类别

工业镜头的类别 按照等效焦距分为: 广角镜头 中焦距镜头 长焦距镜头 广角镜头 等效焦距小于标准镜头(等效焦距为50mm)的镜头。特点是最小工作距离短,景深大,视角大。常常表现为桶形畸变。 中焦距镜头 焦距介于广角镜…...

实验11 SQL互联网业务查询-2

这就是SQL题带给我的自信😕 可能发题解到博客上,主要是写完一遍实在不想看第二遍,太长了,优化都不想优化,看着头疼。 技术栈 – WhiteNights Site 一 USE mydata; #请在此处添加实现代码 ########## Begin #######…...

C++知识点梳理:C++ templates

c模板包括&#xff1a;类模板、类&#xff08;非模板类和模板类&#xff09;方法模板、函数模板、别名模板、变量模板。 类模板模板参数列表说明&#xff1a; 1&#xff09;类定义 仅模板参数列表声明&#xff0c;template<>行。 类名后无需参数说明<>。 2&#xf…...

uniapp form表单提交事件手动调用

背景&#xff1a; UI把提交的按钮弄成了图片&#xff0c;之前的button不能用了。 <button form-type"submit">搜索</button> 实现&#xff1a; html&#xff1a; 通过 this.$refs.fd 获取到form的vue对象。手动调用里面的_onSubmit()方法。 methods:…...

Accelerate 0.24.0文档 三:超大模型推理(内存估算、Sharded checkpoints、bitsandbytes量化、分布式推理)

文章目录 一、内存估算1.1 Gradio Demos1.2 The Command 二、使用Accelerate加载超大模型2.1 模型加载的常规流程2.2 加载空模型2.3 分片检查点&#xff08;Sharded checkpoints&#xff09;2.4 示例&#xff1a;使用Accelerate推理GPT2-1.5B2.5 device_map 三、bitsandbytes量…...

HackTheBox-Starting Point--Tier 2---Markup

文章目录 一 Markup测试过程1.1 打点1.2 权限获取1.3 权限升级 二 题目 一 Markup测试过程 1.1 打点 1.端口扫描 nmap -A -Pn -sC 10.129.95.1922.访问web网站&#xff0c;登录口爆破发现存在弱口令admin&#xff1a;password 3.抓包&#xff0c;发现请求体是XML格式 4.尝试使…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

抽象类和接口(全)

一、抽象类 1.概念&#xff1a;如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象&#xff0c;这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法&#xff0c;包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中&#xff0c;⼀个类如果被 abs…...