equationl
Home
App
博客
关于
搜索
隐云小屋
Categories
一种生活 (89)
一次学习 (73)
一段娱乐 (11)
Featured Tags
提桶日记 (73)
安卓 (57)
compose (38)
存档计划 (12)
arduino (10)
kotlin (7)
车 (7)
闲谈 (7)
摄影学习 (5)
a7c (3)
其他技术 (3)
micropython (2)
Recommend Series
第一次工作记录 (73)
Compose-不止是安卓 (37)
安卓与串口通信 (7)
车钥匙改装 (7)
踏入光影 (6)
Blogs
84 posts
这是我的博客首页。
Jetpack Compose Material3 组件之 DatePicker(日期选择)
Jun 17, 2023
4 minutes read
前言 在之前我使用 Comose 写 APP 的时候,官方还没有给出关于 DatePicker 的解决方案。 当时为了在 Compose 中实现 DatePicker ,大致有两种方案: 一是使用原生 VIew 的 DatePicker,但是因为觉得我即然都用 Compose 了,再去用 VIew ,总觉得怪怪的,所以就没有用这个方案。 二是使用别人写的第三方 DatePicker,我当时采用的就是这个方案。 但是找了一圈,只找到一个相对好用的库,然而这个库是个法国人写,所以对中文的支持不是太好,至于这个不是太好,是什么意思呢......
一次学习
Compose-不止是安卓
安卓
compose
在 Compose 中实现缓存列表数据提升用户体验(Stale-while-revalidate)
Jun 10, 2023
6 minutes read
前言 最近在利用业余时间使用 Compose 实现一个 Github APP 客户端。 对标的是 GSY 大佬使用多种不同语言框架实现的 Github APP。 在实现过程中发现一些问题,因为这个客户端的数据几乎全部来自于 Github API,所以 UI 渲染也极度依赖于请求到的数据。 而由于众所周知的原因,我们在使用 Github API 时速度令人着急,甚至索性直接无法拿到数据。 进而就会导致我编写的这个 APP 在用户层面看起来似乎好像非常的 “卡顿”。 事实上,并非是 APP 卡顿,只是因为数据没有加载出来而已。......
一次学习
Compose-不止是安卓
安卓
compose
安卓与串口通信-数据分包的处理
Jun 3, 2023
6 minutes read
前言 本文是安卓串口通信的第 5 篇文章。本来这篇文章不在计划内,但是最近在项目中遇到了这个问题,正好借此机会写一篇文章,在加深自己理解的同时也让大伙对串口通信时接收数据可能会出现分包的情况有所了解。 其实关于串口通信会可能会出现分包早有耳闻,但是我自己实际使用时一直没有遇到过,或者准确的说,虽然遇到过,但是并没有特意的去处理: 分包?不就是传过来的数据不完整嘛,那我把这个数据丢了,等一个完整的数据不就得了......
一次学习
安卓与串口通信
安卓
Kotlin 协程中的并发问题:我明明用 mutex 上锁了,为什么没有用?
Apr 8, 2023
9 minutes read
前言 最近在接手的某项目中,主管给我发来了一个遗留以久的 BUG,让我看看排查一下,把它修复了。 项目的问题大概是在某项业务中,需要向数据库插入数据,而且需要保证同种类型的数据只被插入一次,但是现在却出现了数据被重复插入的情况。 我点开代码一看,上一个跑路的老哥写的非常谨慎啊,判断重复的逻辑嵌套了一层又一层,先在本地数据库查询一次没有重复后又请求服务器查询一次,最后在插入前再查询本地数据库一次。总共写了三......
一次学习
kotlin
Kotlin & Compose Multiplatform 跨平台(Android端、桌面端)开发实践之使用 SQLDelight 将数据储存至数据库
Apr 2, 2023
12 minutes read
前言 关于标题和文章主题 取标题的时候我还在想,我应该写 Compose 跨平台呢还是写 Kotlin 跨平台。 毕竟对于我的整体项目而言,确实是 Compose 跨平台开发,但是对于我这篇文章要说的东西,那其实也涉及不到多少 Compose 相关的内容,更多的应该是 Kotlin Multiplatform 相关的内容。 二者取舍不下,干脆都写上得了,于是就有了这个读起来怪怪的标题。 前情回顾 很久很久以前,我使用 Compose 写了一个安卓端的计算器 APP:使用 Jetpack Compose 实现一个计算器APP。 其中有一个模式叫做程序员模式,可......
一次学习
kotlin
【翻译】使用 Ktor 和 SQLDelight 构建跨平台APP教程
Apr 1, 2023
12 minutes read
原文链接:Create a multiplatform app using Ktor and SQLDelight – tutorial 本教程将演示使用 Android Studio 和 Kotlin 基于 Ktor 以及 SQLDelight 创建一个 iOS 以及 Android 的跨平台 APP。 这个 APP 将创建一个共享的代码模块,使得 iOS 和 Android 端的业务逻辑、数据模型在该模块中共享,而 UI 将使用其各自的平台代码。 最终成品是一个从 SpaceX API 联网获取数据后,缓存至本地数据库中,然后在 APP 中展示 SpaceX 火箭的发射列表,其中包括发射日期、发射结果和发射的详细数据: 在本教程中,需要使用到以下跨平台库: Ktor HTTP 请求库,用于......
一次学习
kotlin
为 Compose 的 TextField 添加类似 EditText inputType 的输入过滤
Mar 25, 2023
11 minutes read
前言 闲话 在我之前的文章 《Compose For Desktop 实践:使用 Compose-jb 做一个时间水印助手》 中,我埋了一个坑,关于在 Compose 中如何过滤 TextField 的输入内容。时隔好几个月了,今天这篇文章就是来填这个坑的。 为什么需要添加过滤 在正式开始之前,我们先来回答一下标题这个问题,为什么需要过滤呢? 众所周知,在安卓的原生 View 体系中,输入框是 EditText 我们可以通过在 xml 布局文件中添加 inputType 属性来指定预设的几个允许的输入内容格式,例如:number 、numberD......
一次学习
Compose-不止是安卓
compose
安卓
安卓与串口通信-校验篇
Mar 18, 2023
10 minutes read
前言 一些闲话 时隔好几个月,终于又继续更新安卓与串口通信系列了。 这几个月太颓废了,每天不是在睡觉就是虚度光阴,最近准备重新开始上进了,所以将会继续填坑。 今天这篇文章,我们来说说串口通信常用的几种校验方式的原理以及给出计算代码,当然,因为我们讲的是安卓的串口通信,所以代码将使用 kotlin 来编写。 基础知识 在正式开始我们今天的内容之前,我先提一个问题:什么是数据校验?以及为什么要进行数据校验? 其实如果有看过我们这......
一次学习
安卓与串口通信
安卓
Arduino
Kotlin 中的高阶函数及其应用
Mar 10, 2023
7 minutes read
前言 前段时间一直在面试,某次面试,面试官看着我的简历说:“看你写的你很了解 kotlin 哦?那你说一说,为什么 kotlin 可以将函数作为参数和返回值,而 java 不行?” 我:“……”。 这次面试我连水都没喝一口就灰溜溜的走了。 回小黑屋的路上,突然想到,这玩意儿好像是叫 “高阶函数” 吧?好像我自己也经常用来着,咋就会啥也说不出来了呢?痛定思痛,赶紧恶补了一下相关的内容。 所以为什么 Kotlin 支持函数作为参数呢? 其实翻看 Kotlin 官方文档 《High-o......
一次学习
安卓
kotlin
为 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-不止是安卓
安卓
compose
««
«
1
2
3
4
…
9
»
»»