排序
在Ktor的服务端项目中植入数据库,实现对数据的增删改查
在上一篇文章从服务端到客户端,一次Ktor的跨端实践中我们已经知道了如何去使用Ktor创建一个简单的服务端项目,开发接口,并在自己的demo中去调用接口去展示数据,但是美中不足的是所使用的数据...
Jetpack Compose – 通过State理解与管理你的UI
由于 Compose 是声明式工具集,因此更新它的唯一方法是通过新参数调用同一可组合项。这些参数是界面状态的表现形式。每当状态更新时,都会发生重组。 本篇文章将从导图中五方面分别介绍State的...
使用WorkManager在后台处理工作 – Kotlin(下)
六、串连各个步骤 现在,您将执行一项工作任务:对图片进行模糊处理。这是非常不错的第一步,但缺少一些核心功能: 此操作不会清理临时文件 实际上它不会将图片保存到永久性文件中 而是始终对图...
如何让 Android 网络请求像诗一样优雅
在 Android 应用开发中,网络请求必不可少,如何去封装才能使自己的请求代码显得更加简洁优雅,更加方便于以后的开发呢?这里利用 Kotlin 的函数式编程和 Retrofit 来从零开始封装一个网络请求...
Jetpack Compose : 超简单实现滚轮控件(WheelPicker)
前言 滚轮应该是我们很经常用到一个控件了,比如日期选择,时间选择,地区选择等都习惯用滚轮来展示。 滚轮控件的识点 上图是由三个滚轮控件组成的日期选择器,以此我们分析所需要的知识点: 手...
Now in Android #88 带你了解近期 Android 的一些新变化
本期更新主要看点,Android 14 正式版临近发布,需要做好行为变更适配、Jetpack Compose 1.5带来性能提升、Kotlin 多平台名称更改为 KMP。 什么是 Now in Android? Now in Android 是 Android ...
KSP实现Kotlin的Data类深拷贝库 | Compose番外
前言 在Compose的开发中以及在RecelyView使用ListAdapter时会发现将Data类Copy后有点小问题,我修改新Copy的Data类的内部对象时,旧的内部对象的值也改变了!!! 这可让我犯了难,因为这样可能...
springboot使用xdocreport导出word包含图片
需求描述 给一个设备管理公司做设备管理系统,设备的维修,保养,检查都需要进行记录,而且很多时候,季度做报表的时候,需要把这些记录导出成word格式进行查看。 大概格式是这样 因为导出的wor...
Android:自定义沿着曲线轨迹移动
前言 前几天,后台有老铁留言,说有个需求,画两条曲线,中间是一个小球,沿着两条线中间的轨迹从左往右移动,让提供个思路,做为一个极度宠粉的博主,思路不仅要提供,实现方案也必须要给出,...
使用WorkManager在后台处理工作 – Kotlin(上)
一、简介 Android有多个选项用于处理可延迟的后台工作。WorkManager是一种具有向后兼容性且简单灵活的库,用于处理可延迟的后台工作。WorkManager是Android平台上推荐用于处理可延迟工作的任务...
Kotlin 基础篇
Kotlin 的文章已经很多了,这边就不做过多介绍了。说说项目中常用的,以及一些个人的理解吧。顺道复习复习 kotlin 基础操作符 基础这一块就不提了,用过的都熟悉。 当然非空断言公司是禁用的 但...
一文帮你快速理解协程使用模型
本文同步发表于个人博客 0xforee's blog 前言 A coroutine is an instance of suspendable computation. It is conceptually similar to a thread, in the sense that it takes a block of code...
从服务端到客户端,一次Ktor的跨端实践
我想经常使用Kotlin写项目的人应该都对Ktor这个框架不陌生,它严格意义上不仅仅是个网络框架,而是一个可以创建异步,高性能和轻量级的Web服务框架,简单的来说它既能写服务端也能写客户端,之...
瞅一眼Kotlin Flow
一、前言 Kotlin Flow是Kotlin中响应式编程框架的实现,是Kotlin生态中的一个重要组成部分,而提到响应式编程框架,作为Android开发的我们势必会联想RxJava,因其丰富、强大的功能,陡峭的学习...
Kotlin基础(十一):反射和注解
前言 本文主要讲解kotlin反射和注解。 Kotlin文章列表 Kotlin文章列表: 点击此处跳转查看 目录 1.1 kotlin反射 1.1.1 kotlin反射概念和常见使用场景 在Kotlin中,反射是一种能够在运行时动态地...
Kotlin 协程再探之为什么使用协程反而更慢了?
前言 在几个月前,我曾经写了一篇文章,Kotlin 协程中的并发问题:我明明用 mutex 上锁了,为什么没有用?,讲述在某次 debug 某个问题时,发现同事写的 Koltin 协程某个不恰当的地方,并最终诱...
高阶函数-Kotlin
Lambda表达式和匿名函数 一、函数类型 1.1、函数类型定义 Kotlin使用类似(Int) → String 的函数类型来处理函数的声明 声明规则: 函数类型都有一个圆括号括起来的参数类型列表以及一个返回类型...
Lambda表达式和匿名函数-Kotlin
参考文章:一文吃透 Kotlin 中眼花缭乱的函数家族 名词解释 函数字面值:指不声明而是直接作为表达式传递的函数,lambda表达式和匿名函数都是函数字面值 一、Lambda表达式 1.1、语法形式如下: ...
Compose Material3 新增垂直分隔符(VerticalDivider)解析与疑惑
前言 谷歌在 7 月 28 日发布了 Compose Material3 1.2.0-alpha04 版本,在该版本新增(修改)了两个组件,垂直分隔符和分段按钮: Experimental Segmented Button API. Dividers now have a par...
Kotlin & Compose Multiplatform 跨平台开发实践之加入 iOS 支持
前言 几个月前 Compose Multiplatform 的 iOS 支持就宣布进入了 Alpha 阶段,这意味着它已经具备了一定的可用性。 在它发布 Alpha 的时候,我就第一时间尝鲜,但是只是浅尝辄止,没有做过多的探...