Python
未读PyInstaller
PyInstaller 是一个将 Python 程序打包成独立可执行文件的工具,支持
Windows、Linux 和 macOS 等平台。它可以将Python
解释器和所有依赖的库打包到一个单独的可执行文件中,使得用户无需安装
Python 环境即可运行程序。
在 Python 中打包成 EXE 且要求无弹窗、体积小,推荐使用 PyInstaller +
UPX 压缩。
1. 安装必要工具
# 安装 PyInstaller
pip install pyinstaller
下载 UPX
并解压到任意目录
2. 打包命令
pyinstaller --onefile --noconsole --name app --icon=logo.ico --add-data="xxx;." --upx-dir="D:\upx-5.0.0-win64" --clean --exclude-module=tests app.py
参数说明:
--onefile:生成单个可执行文件
--noconsole:禁用控制台窗口(GUI程序必选)
--name:指定生成的可执行文件名称
- ...
1 Conda安装
推荐使用Miniconda。
2 Conda常用命令
# 创建环境
conda create -n myenv python=3.8
# 激活环境
conda activate myenv
# 关闭环境
conda deactivate
# 删除环境
conda remove -n myenv --all
3 Conda更新
# 更新conda
conda update conda
# 搜索Python版本
conda search python
# 安装指定版本的Python
conda install python=x.x.x
# 更新Python到最新版本
conda update python
4 Conda安装包
# 搜索包
conda search numpy
# 安装包
conda install numpy
# 卸载包
conda remove numpy
5 Conda查看信息
# 查看已安装的包
conda list
# 查看所有环境
conda env list
# 查看当前环境信息
conda info
6 Conda导出环境
# 导出环境到 ...
1 CDN下载文件
curl -o jquery.min.js https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js
# -o: 指定输出文件地址和名称
2 Windows PowerShell 更新
显示当前的 PowerShell 版本号
$PSVersionTable.PSVersion
查看最新版本(官方正版的是
ID 带有 Microsoft 前缀)
winget search powershell
使用 Winget 安装 PowerShell
winget install --id Microsoft.Powershell --source winget
Android知识合集
这里是Android知识合集,包含了Android开发的一些基础知识。
关于组件
关于Fragment
获取上下文
getContext(); 获取的是 Fragment 的上下文,需要判断是否为空
requireContext(); 获取的是 Fragment 的上下文,必须有内容,为空则报错。
获取依附的 Activity
getActivity(); 获取的是 Fragment 依附的 Activity,需要判断是否为空
requireActivity(); 获取的是 Fragment 依附的 Activity,必须有内容,为空则报错。
关于控件
关于CheckBox
CheckBox按钮响应事件
1. 使用
OnCheckedChangeListener
使用OnCheckedChangeListener 可以知道 CheckBox 的选中状态何时更改。
这是最常用的方法,尤其是关心 CheckBox 是否被选中时。
CheckBox checkBox = (CheckBox) findViewById(R.id.your_checkbox_id); ...
ROOM
本文介绍了 ROOM 数据库的基本概念和使用方法。
ROOM 数据库
一个database可以同时存在: N个@DAO, N个@Entity, 1个@Database,
1个DBEngine
查询回调的两种方式
Java 8或更高版本,推荐使用 Consumer 接口的方法。
使用 Consumer 接口
Consumer 接口是 Java 8 中引入的函数式接口的一部分。
这种方式允许直接在调用方法时定义对结果的处理逻辑,通常是通过一个 lambda
表达式或方法引用。
特点:
灵活性: 直接在调用点定义如何处理数据。 简洁性: 使用 lambda
表达式可以使代码更加简洁和直观。 依赖于 Java 8: 依赖于 Java 8
的特性,如函数式接口和 lambda 表达式。
public void queryAllDatas(DataQueryCallback callback) {
databaseExecutor.execute(() -> {
List<Data> allDatas = dataDao. ...




