equationl
Home
App
博客
关于
隐云小屋
Categories
一种生活 (85)
一次学习 (46)
一段娱乐 (10)
Featured Tags
提桶日记 (73)
安卓 (35)
compose (22)
存档计划 (12)
arduino (8)
车 (7)
摄影学习 (5)
闲谈 (5)
a7c (3)
micropython (2)
其他技术 (2)
Recommend Series
第一次工作记录 (73)
车钥匙改装 (7)
踏入光影 (5)
往昔 (3)
Blogs
55 posts
这是我的博客首页。
««
«
1
2
3
…
6
»
»»
为 Kotlin 的函数添加作用域限制(以 Compose 为例)
Dec 4, 2022
7 minutes read
前言 不知道各位是否已经开始了解 Jetpack Compose? 如果已经开始了解并且上手写过。那么,不知道你们有没有发现,在 Compose 中对于作用域(Scopes)的应用特别多。比如, weight 修饰符只能用在 RowScope 或者 ColumnScope 作用域中。又比如,item 组件只能用在 LazyListScope 作用域中。 如果你还没有了解过 Compose 的话,那你也应该知道,kotlin 标准库中有 5 个作用域函数:let() apply() also() with() run() ,这 5 个函数会以不同的方式持有和返回上下文对象,即调用这些函数时,在它......
一次学习
安卓
compose
好不容易从流水线转码的我又“失业”了--2022年终总结
Dec 3, 2022
10 minutes read
引 2021年10月26日。 三天前我刚从郑州飞回我的家乡–贵阳。 终于结束了在郑州某制造业大厂荒唐的打螺丝生涯。 4个月前,在学校的阶教,我斩钉截铁的对面试官说,我不会后悔的,我会为我的行为负责。 3个月前,在我事先未得到任何通知的情况下,我的岗位从面试确定的软件开发工程师变成了 PQE(产品质量工程师),并且被派到了郑州进行所谓培训(其实就是打螺丝,字面上的)。 到郑州3个月后,在离职流程尚未完......
一种生活
闲谈
安卓与串口通信-modbus篇
Dec 1, 2022
11 minutes read
前言 在之前的两篇文章中,我们讲解了串口的基础知识和在安卓中使用串口通信的方法,如果还没看过之前文章的同学们,建议先看一遍,不然可能会不理解这篇文章讲的某些内容。 事实上,在实际应用中,我们很少会直接使用串口通信,一般都会使用到 Modbus。 因为正如我上篇文章所说,如果直接使用串口通信的话,需要我们自定义数据层协议,或者干脆就直接发送一个 byte 的数字进行通信,这显然是不方便的,也不安全的。 例如我上篇提到过......
一次学习
安卓
Arduino
安卓与串口通信-实践篇
Nov 23, 2022
13 minutes read
前言 在上一篇文章中我们讲解了关于串口的基础知识,没有看过的同学推荐先看一下,否则你可能会不太理解这篇文章所述的某些内容。 这篇文章我们将讲解安卓端的串口通信实践,即如何使用串口通信实现安卓设备与其他设备例如PLC主板之间数据交互。 需要注意的是正如上一篇文章所说的,我目前的条件只允许我使用 ESP32 开发版烧录 Arduino 程序与安卓真机(小米10U)进行串口通信演示。 准备工作 由于我们需要使用 ESP32 烧录 Arduino 程序演示安卓端的串口通......
一次学习
安卓
Arduino
安卓与串口通信-基础篇
Nov 23, 2022
10 minutes read
前言 安卓并不仅仅只是一个手机操作系统,在很多领域都能见到安卓的身影。 无论是车载系统、工控系统、屏控系统还是物联网设备基本都有安卓的一席之地。 在所谓的寒冬之下,纯粹的安卓开发似乎已经不再吃香,于是越来越多的安卓开发者转向了车载、工控等领域。 而在这些领域,绕不开串口通信相关知识,无论是车载系统与车身各个传感器或者 ECU 通信还是工控系统与 PLC 交互,都离不开串口。 说来惭愧,虽然我勉强算是一个做安卓工控的吧,但是......
一次学习
安卓
Arduino
制作一个安卓的星空动态壁纸(带随机流星动画)
Nov 17, 2022
7 minutes read
前言 在我之前的文章 羡慕大劳星空顶?不如跟我一起使用 Jetpack compose 绘制一个星空背景(带流星动画) 中,我们使用 Compose 实现了星空背景效果。 并且调用非常方便,只需要一行代码就可以给任意 Compose 组件添加上这个星空背景效果。 但是,只是给 Compose 添加背景效果总觉得有点"小题大作"了,这么好看的效果,不用来做壁纸实在是太可惜了。 于是,我尝试将其移植到动态壁纸中。但是,尝试了很久都没有找到怎么在动态壁纸中使用 Compose 。 最终,我......
一次学习
安卓
Compose For Desktop 实践:使用 Compose-jb 做一个时间水印助手
Nov 13, 2022
10 minutes read
前言 在我之前的文章 在安卓中实现读取Exif获取照片拍摄日期后以水印文字形式添加到照片上 中,我们已经实现了在安卓端读取 Exif 信息后添加文字水印到图片上。 也正如我在这篇文章中所说的,其实这个需求使用手机来实现是非常不合理的,一般来说,这种工作都应该交由桌面端来实现。 而我在上篇文章中所述之所以没有使用 Compose-jb 实现跨平台的原因是没有找到合适的跨平台图片编辑库。 虽然现在依旧没有合适的跨平台编辑库,但是我现在决定做一个......
一次学习
compose
使用 Kotlin 的 Opt-in (选择加入)功能注解API提示当前非稳定API
Oct 24, 2022
5 minutes read
前言 之前在给公司项目封装库的时候,领导告诉我封装的漂亮一点,等以后公司发展起来了可能需要把这个库提供给第三方接入使用。 此时,就有这么一个问题:某些功能函数使用条件比较苛刻,直接使用可能会出现意想不到的后果,如果想要使用,需要结合其他状态判断是否可以使用。 为了避免第三方接入时误操作,我为这个使用条件苛刻的函数另外封装了一个可以直接使用的新函数。 但是,即使如此,出于测试和维护需求,我也不能移除或者将原......
一次学习
安卓
在安卓上录制屏幕的的实现方式
Oct 18, 2022
6 minutes read
前言 在我之前的文章 《以不同的形式在安卓中创建GIF动图》 中,我挖了一个坑,可以通过录制屏幕后转为 GIF 的方式来创建 GIF。只是当时我只是提了这么一个思路,并没有给出录屏的方式,所以本文的内容就是教大家如何通过调用系统 API 的方式录制屏幕。 开始实现 技术原理 在安卓 5.0 之前,我们是无法通过常规的方式来录制屏幕或者截图的,要么只能 ROOT,要么就是只能用一些很 Hack 的方式来实现。 不过在安卓 5.0 后,安卓开放了 MediaProjectionManager 、 VirtualDisplay 等 API......
一次学习
安卓
compose
Android Bitmap.compress 方法返回 false 的一个可能原因
Oct 17, 2022
5 minutes read
存档计划注:原文于 2021.07.27 发布于 CSDN ;在搬运回博客时略做修改。 前言 最近在解决一个遗留已久的BUG时,发现调用 Bitmap 的 compress 方法将 bitmap 导出到文件流时,如果导出的 bitmap 特别大且导出编码为 Bitmap.CompressFormat.JPEG 的话该方法会直接返回 false 而没有抛出任何错误。 而对于同一个 bitmap ,改用 Bitmap.CompressFormat.PNG 就不会返回 false 而是能正常导出。 原因 懒得看分析过程的可以直接看这里。 经过我的分析,导致 compress 方法返回 false 的原因可能是 jpg 编码格式对于分辨率有最大限制。 这个最大限制为: 655,35 X 655,35 但是我使用模拟......
一次学习
安卓
存档计划