排序
Flutter和Android原生通信的三种方式
简介 Flutter虽然有强大的跨平台能力,但是其跨平台主要体现在UI界框架上,对于一些Android原生的功能如:获取电池电量,访问手机蓝牙,定位等硬件信息显得有些不足心。还是需要调用Android原生...
个人桌面版ChatGPT——ChatPTQ【Compose Desktop试水】
最近学习之余注意到了Compose MultiPlatform,然后就想试试水,正好最近越来越依赖ChatGPT,这东西是真香啊,但是总觉得每次都要找套壳网站,想用还得打开浏览器,我很懒 ̄へ ̄,然后我大概找了...
从近期开发的Compose DeskTop项目中收获的四个知识点
Compose可以跨平台相信已经不是什么新鲜事情了,相信只要会点Compose的小伙伴都已经多多少少开始上手Compose的跨平台开发,在Compose能跨的平台里面,除了Android之外,“跨”的最完善的应该就...
Android:自定义View实现签名带笔锋效果
我正在参加「掘金·启航计划」,这是我参加的第2篇文章。 自定义签名工具相信大家都轻车熟路,通过监听屏幕onTouchEvent事件,分别在按下(ACTION_DOWN)、抬起(ACTION_UP)、移动(ACTION_MOV...
[译] Flutter 3.10 中的新功能
原文:https://medium.com/flutter/whats-new-in-flutter-3-10-b21db2c38c73 欢迎使用 Flutter 3.10!我们迫不及待地想展示我们令人惊叹的 Flutter 社区所做的巨大努力。这个Flutter版本运行令...
仿Android淘宝顶部导航栏的HorizontalScrollView Demo实例(源码在文末)
一、 需求介绍 因为业务模块的扩张,导致各类业务入口疯狂增加,原先的入口UI样式已经满足不了产品经理的需求了,所以他们提出了能不能仿照淘宝的业务导航栏给我们自己的产品做一个优化,废话不...
Kotlin1.8新增特性,进来了解一下
大家好,之前我已经写过了分析kotlin1.5、1.6、1.7、1.9插件版本新增的一些特性,唯独kotlin1.8的特性还没好好讲讲,本篇文章就带大家好好分析下kotlin1.8新增了那些特性,能对我们日常开发带来...
Opengl ES之LUT滤镜(下)-3DLUT
本文正在参加「金石计划」 在上一篇文章 Opengl ES之LUT滤镜(上) 中我们详细介绍了基于图片纹理的2D LUT滤镜的使用, 这种方式也是目前大部分SDK在移动端的实现方式,既然有2D LUT滤镜那就有3D ...
重学Binder进程间通信-aidl篇
“我正在参加「掘金·启航计划」” 接着上篇文章重学Binder进程间通信-原理篇,前面我们介绍过,Binder 是基于 C/S 架构的,由 Client、Server、ServiceManager、Binder 驱动组成。其中 Client...
写给Android工程师的协程指南
本文正在参加「金石计划」 这是一份写给 Android工程师 的协程指南,希望在平静的2023,给大家带来一些本质或者别样的理解。 引言 在 Android 的开发世界中,关于 异步任务 的处理一直不是件...
编译优化跌落神坛
最近在一次技术分享中,有网友问我小公司可以考虑做哪些编译优化?我觉得这个课题也还是挺有必要展开下讲讲的。 编译优化方面其实我个人觉得并不一定是特别高大上的东西,除了一些特别深水区的...
Flutter绘制之 – 玩转路径联合
我正在参加「掘金·启航计划」。 前言 在Flutter绘制中,path路径可谓是绘制中的核心,理论上,通过path路径可以绘制出任意的二维图形,掌握path路径的绘制,就相当于掌握了绘制的核心,今天介...
框架解读 | Retrofit设计剖析
Retrofit是一个类型安全的HTTP客户端,可以通过注解将HTTP API转换为Java接口,并使用动态代理,CallAdapter和Converter来发起请求和解析响应。 本文 着重于 Retrofit的架构设计,对于其注解解...
OpenGL5-三角形平移、旋转操作
01、实现三角形的移动 上一章我们已将实现了绘制一个三角形,今天我们来对这个三角形进行平移和旋转的操作 为了平移一个三角形,需要对每个顶点坐标的分量(X、Y轴)进行平移,如下图,将点p(x,...
Android深入了解触摸事件(一)
前言 触摸事件已经是老生常谈的事情了,但是可能大部分童鞋都只是知道在ViewTree下的机制,但是事件怎么到ViewTree的,可能处于一种比较空白的状态,这系列文章我希望从InputManagerService开始...
Jetpack Compose(第一趴)——Compose编程思想
声明式编程范式 长期以来,Android视图层次结构一直可以表示为界面widget树。由于应用的状态会因用户交互等因素而发生变化,因此界面层次结构需要进行更新以显示当前数据。最常见的界面更新方式...
Android平台下的cpu调频、线程绑核、cpu时间片分配控制实践
背景 为了进一步优化APP性能,最近针对如何提高应用对CPU的资源使用、以及在多线程环境下如何提高关键线程的执行优先级做了技术调研。本文是对技术调研过程的阶段性总结,将分别介绍普通应用如...
高斯模糊
前言 通常,图像处理软件会提供'模糊'(blur)滤镜,使图片产生模糊的效果。 “模糊”的算法不只一种,高斯模糊只是其中一种,甚至它只是其中效率很差的一种。 在Android中使用高斯模糊,需要使...
【Android探索】用Compose做一个Markdown文本块编辑器
前言 Jetpack Compose是一种声明式UI,它可以随着数据的变化而自动更新UI。它对于列表的变化和内容的更新非常敏感,也方便易用。因此我在想,用它来制作一个类似于Notion的块式文本编辑器,是否...
事件通知-eventfd的简单使用
事件通知-eventfd的简单使用 eventfd是linux提供的用于事件通知的一种文件描述符,可以用来当作wait、notify的一种工具,用其可以轻易实现线程间或进程间的信号共享。eventfd维护了一个uint64_t...