自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

成长的烧年

stop stopping!!!

  • 博客(226)
  • 资源 (21)
  • 收藏
  • 关注

原创 史上最简单的Excel导入通讯录方法

这里写自定义目录标题第一天第二天第三天第一天说来话长,这是一个悲伤的故事。事情的起因,是因为魔都我被封在家里,寂寞难耐的心始终不知道该干点啥,然后就撩起了当设计师的妹子,正巧那天晚上妹子也在电脑旁,和我有一句每一句的在聊天。聊了大概差不多半小时吧,她突然来了句,你不是程序员吗?我说是呀,怎么了,是不是很崇拜程序员啊?她说是呀,那你能不能帮我做个事情啊?我老脸一红,来了句,说吧,啥事都小菜一碟。我当时觉得多年的摸鱼工作,只要这一秒我是无比勤奋的,因为我在主动揽需求,这对一个很懒的程序员来说,是不可理喻的

2022-05-01 18:52:26 5592

原创 Andorid 文件打印功能

因为我们这个是 pdf 文件,首先需要将 pdf转化为 Bitmap 位图,然后向调用打印机传递位图即可。Android 调用打印机。

2025-05-08 16:09:44 255

原创 Android 连接德佟打印机全实例+踩坑

稍微解释一下主体的逻辑,例如存在三个任务:TaskA,TaskB 和 TaskC,现在的想法就是先把 TaskA,TaskB 和 TaskC 放入到队列中,然后先取出 TaskA,等 TaskA 执行完成,再去取 TaskB,等 TaskB 任务完成,再去取 TaskC,直接队列中数据为空,打印任务结束。我的建议是,专门有个类来检测打印环境是否满足要求,不然环境不匹配,根本就打印不了,这是我目前碰到的一些问题,所以进行打印之前的预检测,目前就只检查了蓝牙和 GPS 状态,因为这是硬性条件。

2025-05-07 11:52:21 1125

原创 Gradle 缓存系统详解:dists 文件夹

它存储了通过 Gradle Wrapper 下载的所有 Gradle 版本。等等,我们可以在这个网站找到所有的 Gradle 版本: https://services.gradle.org/distributions/和其他因素生成的唯一哈希值。它可以保证同一版本但从不同URL下载的Gradle分发包不会冲突,并且可以验证下载的完整性。这个目录通常包含了 Gradle 运行时所需要的各种文件,包括了下载的Gradle分发包。随着时间推移,这个目录可能会累积大量的Gradle版本,占用磁盘空间。

2025-05-06 14:25:18 785

原创 Glide 如何加载远程 Base64 图片

最近有个需求,后端给出的图片地址并不是正常的 URL,而且需要一个接口去请求,但是返回的是 base64 数据流。这里不关心为啥要这么多,原因有很多,可能是系统的问题,也可能是能力问题。当然作为我们 Android 程序员,要紧的是如何解决这个问题。这里的{fileId}熟悉 Glide 加载逻辑的人,应该很熟悉,这种方式可能需要我们自定义来解决问题,们可以让 Glide 将 API 接口当作一种图片源来处理,就像处理普通的图片 URL 一样。

2025-04-29 16:57:47 480

原创 七牛使用任务工作流对音频进行转码

这里我们只需要将 “1234.ogg” 替换成 “1234.mp3”,那么只需要填写。格式,下面来介绍一下,如果通过七牛,后端自行转码,不需要前端做任何事情。目前我想做的,只是想进行简单的音频转码 mp3,那么其他参数我都忽略掉。最近工作中有对音频转码的需求,比如 iOS 设备中对。命令完成之后,那么下一步,就是新建下一个界面,选择。,直接可以拿到源文件的 mp3 版本进行播放。格式的语音支持力度不够,那么可以讲。完成之后,保存进行下一步,建立。, 现在我们只可以直接访问。进行测试之后,可以在。

2025-04-18 17:40:55 561

原创 Javascript代码压缩混淆工具terser详解

Terser 支持将配置项放在单独的配置文件中,便于管理。用于生成 source map 文件,便于调试。

2025-04-01 16:40:58 1030

原创 10分钟搞定HTTPS证书

最近因为网站需要部署HTTPS,这里记录一下具体的部署记录.我这里使用的腾讯云的HTTPS,目前可以申请50张免费的HTTPS证书,每个证书可以使用3个月,对于一般的网站,这50张3个月的能用几年了,等你网站赚钱了再换成付费版本的即可.腾讯云网站为: 腾讯云按照其步骤, 证书绑定域名, 验证域名之后,咋们就可以下载HTTPS证书了.腾讯云提供了很多种下载方式可供选择,这个比较简单,按照步骤来即可:我们就下载最常用的Nginx版本了,下载的zip包括如下:下面我们来进行配置HTTPS的步骤:首先,需要

2025-03-28 17:20:01 487

原创 Gradle基础 - 了解Gradle Wrapper

在每个Gradle项目中都存在一个Gradle Wrapper,这是Gradle构建系统中一个基础但是非常重要的组件。我们来聊一聊它的作用和重要性。

2025-03-24 18:02:35 1243

原创 一文了解Gradle 依赖管理(五)- 依赖管理&缓存依赖

假设我们开发的App中, Retrofit 2.9.0 依赖 OkHttp 4.9.0,但我们在版本目录中指定了更新的 OkHttp 4.9.3,版本目录是 Gradle 7.0 引入的一项功能,它提供了一种集中管理依赖版本和依赖组的强大方式,尤其适合多模块项目。依赖锁定和版本目录可以很好地结合使用,这种组合确保您既有集中的版本管理,又有确切的依赖锁定,提供最大的可重复性和控制。将依赖图"冻结"在特定的时间点,记录解析的确切版本,确保后续构建使用相同的依赖版本,即使新版本发布。

2025-03-24 16:43:05 1142

原创 一文了解Gradle 依赖管理(四)- 依赖传递与冲突解决

当 A 依赖 B,B 依赖 C 时,A 会自动获得对 C 的依赖。

2025-03-20 17:32:34 1169

原创 一文了解Gradle 依赖管理(三)- 构建变体与依赖

android {debug {// 类似于 debug 但使用模拟生产环境数据 initWith debug// 用于性能测试的特殊构建 initWith release。

2025-03-20 16:39:22 1126

原创 一文了解Gradle 依赖管理(二)- 依赖配置类型详解

理解不同依赖配置类型的特性和作用域是有效管理项目依赖的关键。更快的构建速度:通过限制依赖传递范围,减少不必要的重新编译更清晰的 API 边界:明确区分公共 API 和内部实现更小的构建产物:排除不必要的运行时依赖更强的封装性:防止模块间的实现细节泄露随着项目规模的增长,正确使用这些配置类型将变得越来越重要,它们是构建健壮、可维护的大型项目的基础。

2025-03-20 15:47:02 790

原创 一文了解Gradle 依赖管理(一)- 依赖管理简介

Gradle 是一个强大的开源自动化构建工具,它基于 Groovy 和 Kotlin DSL(领域特定语言)设计,结合了 Apache Ant 的灵活性和 Apache Maven 的约定优于配置的理念。Gradle 于2007年首次发布,现已成为 Java、Android 及其他多种编程语言项目的首选构建工具。灵活性:Gradle 提供了高度可定制的构建脚本,开发者可以根据项目需求自由配置。性能:采用增量构建、构建缓存和并行执行等技术,大幅提高构建速度。扩展性:丰富的插件生态系统,可以轻松扩展功能。

2025-03-20 13:57:52 1025

原创 WorkManager 系列之二

创建自定义Worker非常简单,只需要继承Worker基类,并实现doWork()// 图片压缩Worker示例try {// 1. 获取输入数据?// 2. 执行实际工作// 3. 创建输出数据// 4. 返回成功结果与输出数据// 压缩图片的具体实现...imagePath你创建一个 Worker 子类,定义具体的工作逻辑通过 WorkRequest 配置这个工作的执行条件和参数通过 WorkManager提交、调度和监控这个工作请求。

2025-03-19 16:15:28 934

原创 WorkManager 系列之一

WorkManager 是Android Jetpack组件架构之一,专为满足应用的后台处理需求而设计。它提供了API,让开发者能够以一种可靠、高效且与系统友好的方式执行可延迟的异步任务。可靠性:即使应用退出或者设备重启,WorkManager也能确保任务最终会被执行;兼容性:自动适配不同Android版本,无需关心底层实现差异;约束条件:支持设置任务执行的条件(如网络可用、电量充足等等)链式任务:可以创建复杂的工作序列,按顺序或者并行执行。

2025-03-19 14:35:43 798

原创 解决IllegalStateException异常: LruCache.sizeOf() is reporting inconsistent results!

对于 LrcCache产生的IllegalStateException,这是 LrcCache一个常见的问题,它表明sizeOf()方法对于同一个键和值返回了不同的大小值,这违反了 LrcCache的一个基本假设。

2025-03-14 10:55:04 307

原创 查询MySQL表占用磁盘大小的方法

【代码】查询MySQL表占用磁盘大小的方法。

2025-03-13 11:30:54 715

原创 如何用代码判断Excel文件是xls格式还是xlsx格式?

那么直接判断是否ZIP文件的Header为zipheader魔数即可。在分类文件做解析时,经常碰到有些格式明明是。格式的,但是有些头铁的人给命名为。,那么只需要判断这个文件是否。判断方式如下:我们知道。

2025-01-20 10:59:14 433

原创 Android 高版本如何获取App安装列表?

但是只能获取到一部分App的数据,这是因为在 Android 11(API 30)及以上的版本, 由于系统隐私政策的更新,直接使用。是什么东西,它是一种在Android 11以上设定的特定的包可见机制, 不需要特定的权限,就可以查看指定的App包名., 当然了,这个需要更高的隐私权限, 不同的厂商对这个权限的敏感度不同.是静态声明的,是我们先声明再去获取的,不能做到动态的获取,啥意思呢?可能无法获取应用信息,那么我们可以添加。那么我们在查询数据时,只能查询包名。de数据, 不能查询新的。

2025-01-16 17:10:53 802

原创 electron 如何申请 Mac 系统权限

对于一些使用 Electron开发的app, 需要获取一些系统权限,比如录屏权限, 获取摄像头权限,麦克风等等,类似于以下界面:那么Electron App 应该如何申请呢?

2025-01-15 17:33:46 1690 1

原创 Python requests 下载文件的几种常用方法

【代码】Python requests 下载文件的几种常用方法。

2025-01-15 13:40:10 2397

原创 Git文件夹提交错了,怎么撤销?

为了防止文件夹再次被添加到 Git,请将它添加到 .gitignore 文件中。文件夹已经被添加到远程仓库,但需要从整个仓库历史中移除。将文件夹添加到 .gitignore 文件。只想停止跟踪某个文件夹,但保留本地文件夹。文件夹已经被添加到 Git,但未提交。从 Git 中移除文件夹的跟踪。

2025-01-11 17:46:18 659

原创 微信小程序链接如何转化成网络链接?

因为这是小程序专有的,只能在微信架构的平台上才能被识别,其他平台无法识别这样的链接,但是我们提供的预览图其实就是一个 WebView,默认的 WebView 其实无法识别小程序链接的。当然,目前公司是专注装修行业的 SAAS 软件,所以可能关注的都是装修的小程序。目前的方案是去找它的 H5 链接,当然这也并不是所有小程序都支持的,有些小程序没有做 H5 版本,所以就比较尴尬。市面上有那种专门小程序链接转化成网络链接方案的,当然前提是得花钱,有点贵,而且我们也习惯了白嫖,不太合适这么搞。

2024-12-26 17:46:09 728

原创 Android 中获取当前 CPU 频率和占用率

目前没有标准的 API 来获取 CPU 的使用频率,只能通过读取指定 CPU 文件获取当前 CPU 频率,在某些机器或者特定版本中,可能需要ROOT 权限或者特殊权限,因此会存在一定几率的失败,因此需要做好 Try…又因为现在手机 CPU 的多核数目,因此我们可能需要获取多个 CPU 频率数,并取平均值。

2024-10-12 16:00:06 1508

原创 Android SQLite 数据库 FTS 虚拟表简介

FTS3 和 FTS4 都是 SQLite 中的全文搜索扩展,但它们有一些重要的区别。LIKE 则提供简单的模式匹配。FTS4 向后兼容 FTS3,这意味着为 FTS3 编写的代码通常可以在 FTS4 上运行。FTS4 允许创建可选的前缀索引,这可以加速某些类型的查询,但会增加存储空间的使用。FTS4 支持基于文档 ID 的结果排序,这在 FTS3 中是不可用的。FTS3 作为较早的版本,可能在某些旧版本的 SQLite 中更稳定。FTS4 提供了更好的术语近似度支持,允许更精确的短语搜索。

2024-10-10 18:08:17 1568

原创 2024年了,我依然建议去创建属于自己的Google App

另外,Google App Store 是一个非常丰富的资源库,全球运行在超过60亿设备上,那么这里就有一个巨大的优势,就是你不用担心你的app没有人看到,任何有价值的App,能给人提供帮助的App,给人带来快乐的App,给人丰富生活的App都会有着巨大的受众,在增加自己技术的同时,也能获取金钱上的奖励。这个世界上有很多个人开发者,他们很多在具体细分领域都做出了不错的成绩,有的人app下载量超过1亿,或者大几千万,如果你意识到这个体量的含义,那么你的人生无疑是充满自由的,无论是物质上的,还是精神上的。

2024-08-22 14:14:16 584

原创 swift 中,对象() 和 对象.init() 的共同点和异同点

在绝大多数情况下,AController() 和 AController.init() 是完全等价的。选择使用哪种语法主要取决于个人或团队的编码风格,以及特定的上下文需求。通常推荐使用更简洁的 AController(),除非在特殊情况下需要更明确的 .init() 语法。

2024-08-09 17:42:40 550

原创 Mac Electron 应用如何进行签名(signature)和公证(notarization)?

最近很多客户反映,从官网下载的应用打不开,直接报病毒,类似于这种:这是因为在之后,如果应用没有在苹果官方平台进行公证(我们可以理解为安装包需要审核,来判断是否存在病毒),那么就不能被安装。当然现在很多人的解决方案都是使用,取消验证模式,但是总体给客户培训下来,效果非常差,很多人找不到终端,有的人甚至不能在终端中输入命令。因此急需找到解决问题的源头,如何进行代码公证。

2024-07-18 17:31:20 2456

原创 新版本 Android Studio 没有BuildConfig ?

如果您添加了自定义的 buildConfigField,BuildConfig 类会自动生成。

2024-07-17 09:22:26 4385

原创 adb参数详解

用于在连接的 Android 设备上启动一个交互式 shell 会话或执行特定的 shell 命令。这条命令会连接到 IP 地址为 192.168.1.100,端口号为 5555 的 ADB 服务器,并在连接的设备上启动一个 shell 会话。是一个用于设置端口转发的 ADB 命令。它允许你将主机(可以理解为电脑)上的端口转发到连接的 Android 设备或模拟器上的端口。用于设置无线 ADB 连接的重要命令,允许开发者通过 Wi-Fi 网络连接到 Android 设备,而不是传统的 USB 连接。

2024-07-08 20:10:14 2330

原创 mumu 模拟器如何模拟指纹识别?

最近在帮朋友解决一些任务时,有些比较复杂的任务需要批量使用模拟器,但是模拟器存在一个缺点,就是缺少很多物理功能,比如说陀螺仪、温度传感器和生物识别模块等等,但是有些任务是需要这些功能的。当然,这只是我的思路,如果有更好的想法和方案,我们可以共同交流,wx:javainstalling, 暗号:指纹。注入js hook 代码,覆盖掉系统的返回,即可得到我们的答案。找到了系统需要 hook 的点,那么就可以请出我们的终极武器。那么只需要 hook 这个方法,直接使得。框架的入门了,大家可以找找其他参考教程。

2024-06-18 14:48:03 1260

原创 聊聊对Andorid的FileProvider的理解

最近在项目中遇到一个有关的问题,由此来学习了一下,有关笔记记录如下。是 Android 系统中一个特殊的内容提供者(ContentProvider), 它主要用于应用之间安全的共享文件。通过,应用可以生成一个并授予其它应用临时访问的权限,而不需要将文件的实际路径暴露给其它应用。这样可以有效的避免安全问题。

2024-06-11 19:18:21 1782

原创 解决 Mac Django 连接Mysql 出现 image not found 问题

这个命令会在你的根目录创建一个 libmysqlclient.20.dylib 的符号链接,它指向 /usr/local/mysql/lib/libmysqlclient.20.dylib。ln 是一个在 Unix 和类 Unix 系统(包括 macOS 和 Linux)中非常常用的命令行工具,用于创建链接。它是一个特殊类型的文件,包含一个文本指针指向另一个文件或目录的路径。搞定,如果有问题,可以随时wx:javainstalling,代号:Django!,这既是问题的症结所在了,我需要加载的是。

2024-05-31 15:57:25 625

原创 Android Room 数据库中的 Journal mode 解释

在这种模式下,所有的变更都会先被记录到一个单独的日志文件(通常名为 *-journal 的文件)。在 WAL 模式下,所有变更首先被写入到一个名为 WAL 文件的日志中,主数据库文件在事务提交时不会立即更新。这种模式下,日志文件的内容会在事务提交时被写入数据库,但文件本身仅在开始新的事务时被清空,这可以减少文件系统的操作。要设置 SQLite 的日志模式,可以在连接到数据库时,或者通过 SQL 命令动态改变。Room 这么做的道理,估计是为了简化 API 的使用,同时也能满足大多数应用的需要。

2024-04-29 16:45:09 1325 1

原创 了解IOS 中时间格式化 “en_US_POSIX” 的含义

在国际化的应用开发中,不同的地区或语言环境有不同的日期、时间格式和数字表示方法。类似地,日期格式有的地区是日/月/年,有的则是月/日/年。它保证了无论应用在哪里运行,无论面对怎样的用户环境设置,处理日期和时间的方式都是一致的。是一个特殊的区域设置(locale)标识符,用于软件开发中保证日期、时间和数字的格式处理具有跨平台的一致性和可预测性。[可移植操作系统]标准,使得无论用户的本地环境和个人设置如何,应用程序的行为在处理这些数据时都保持一致。我们可以看到,用户选择的 12 小时制,会出现。

2024-04-23 11:49:33 1212 1

原创 python 中如何遍历时间日期?

模块来遍历两个日期之间的所有日期。

2024-04-08 11:34:40 956

原创 CURL 实例用法参考

O【大写的O】那么保存的文件名为1.img。

2024-04-03 17:48:09 666

原创 IOS如何通过友盟上报的错误,使用dSYM查看报错的代码

atos是一个命令行工具,用于将奔溃日志中的地址(通常是十六进制的内存地址)转换成文件名、函数名和源代码行号,这样更有助于开发者理解奔溃时发生的上下文。之后,将会在后台查看我们App的奔溃异常日志了,一般对于奔溃的记录,都是记录的内存地址,那么我们应该如何将内存地址映射到咋们App对应的代码中呢,这篇文章我们从头到尾简单梳理一下。首先,对于集成APM插件,我们就不讲了,直接可以通过官方文档,过程应该不会太过于复杂了。就是我们的解析地址。因为我们可以看到有前面的四个地址都是不同的,唯一相同的地址是后面的。

2024-03-25 16:17:39 1255

原创 python中如何解析Html

在最近需要的需求中,需要 python 获取网页内容,并从html中获取到想要的内容。这里记录一下两个比较常用的python库对html的解析。

2024-03-18 15:46:55 2511

自定义开关View

自定义的开关View

2016-12-11

今日头条视频下载器

写的一个今日头条下载器

2017-02-03

android客户端webview上传文件

自定义的webViewClient,解决了webview中file调起

2017-04-01

android步骤展示器源码

个人实现简单的写的android步骤显示器

2017-02-19

基于Facebook的Rebound的动画Dome

基于Facebook的Rebound的动画Dome

2016-05-22

RxJava中create操作

RxJava中create操作的实验

2017-04-16

自定义柱状图

自己定义柱状图

2017-01-14

rxjava-joins包

rxjava的扩展包,其中包含一些rxjava核心包没有实现的操作符,比如and/then/when

2017-08-21

android富文本实例

基于android webvie的富文本

2016-07-31

java并发编程实战

详细介绍java并发编程,从简单到复杂,从认知到神会。学习java,成为java大神,你有必要看会

2014-09-19

中文转拼音(pinyin4j-2.5.0.jar)

中文转汉语拼音,用于汉字的汉语拼音比较。

2015-05-15

定义的ImageLoader

关于设计的imageLoader

2017-01-08

android侧滑Demo

android侧滑Demo

2017-01-31

HorizontalScrollView创建的Gallery

HorizontalScrollView创建的Gallery

2016-05-14

RecyclerView的ItemDecoration

自己理解的ItemDecoration

2017-06-24

Dagger2 demo

自己关于Dagger2的理解,还有一些常用Dagger2的注解。自己关于Dagger2的理解,还有一些常用Dagger2的注解。

2017-09-18

PreferenceActivity存储小dome

android老知识了,有个老项目回顾一个PreferenceActivity

2016-06-01

SpannableStringDome

学习SpannableString&&SpannableStringBuilder的资料

2017-06-09

java数字转大写

自己帮忙写的一个数字转大写的工具类

2017-04-09

my_logo_pic

my_logo_pic

2016-07-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除