
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
对于大型团队来说,刚开始采用Compose开发的时候,会面临很多的挑战。尤其每个开发者对 Compose 的认知不同:接触的时间或长或短、开发的水平也参差不齐。Twitter 计划通过创建一套 Compose rules 来解决这些痛点。经过一段时间的探索之后,Twitter 推出了一套自定义的 Compose 静态检查 rules,可以确保开发者编写的函数避免一些常见的错误。的确,Compose

函数在 Kotlin 语法中极为重要,了解其特点和原理对于灵活编程非常必要,再次回顾下各函数的异同及原理。函数特点原理lambda 表达式花括号内的函数体,更加简洁、便捷通过Kotlin 中预设的Function1接口实现匿名函数定义没有名称的函数引用,供高阶函数使用同上高阶函数接收函数参数或返回函数引用接收或返回Function1接口实例扩展函数给目标类添加函数或属性生成XXXKt类添加静态函数

之前探讨过的和存在module的限制,但其主要用于密封 class 的扩展和 interface 的实现。如果没有这个需求只需要限制 module 的话,使用 Kotlin 中独特的internal修饰符即可。本文将详细阐述 internal 修饰符的特点、原理以及 Java 调用的失效问题,并以此为切入点网罗 Kotlin 中所有修饰符,同时与 Java 修饰符进行对比以加深理解。interna

一直以来发的文章大都是技术的,这次和大家聊点简单点的。密集输出这几年,因为疫情没能在线下和大家碰面,去年又因为时间原因浪费了 Google IO China 门票。所以,今年的南京本地的 GDG DevFest 2023 活动一经上线,就报了名。这次如愿见到了不少朋友,进行了面对面交流,非常赞!

可以看到 Kotlin Enum 可以帮助开发者定义好一组类型的常量:大大简化代码、具备更好的可读性以及提供额外的功能函数。通过上述的进阶用法,相信大家可以使用 Enum 创造出更加健壮和高效的代码,同时也更容易理解和维护。

Android 12上全新的应用启动体验改进的应用启动体验 - Android 12 中应用启动的体验更加一致,更令人愉悦。我们为所有应用添加了新的应用启动动画,在启动时屏幕会显示应用图标,并过渡到应用本身。新的体验为每个应用的启动带来了标准化的设计元素,但我们也允许进行定制,以便应用保持自己独特的品牌特色。例如,您可以使用新的 SplashScreen (启动屏幕) API 和资源来管理启动屏幕
之前探讨过的和存在module的限制,但其主要用于密封 class 的扩展和 interface 的实现。如果没有这个需求只需要限制 module 的话,使用 Kotlin 中独特的internal修饰符即可。本文将详细阐述 internal 修饰符的特点、原理以及 Java 调用的失效问题,并以此为切入点网罗 Kotlin 中所有修饰符,同时与 Java 修饰符进行对比以加深理解。interna

关于 Android 车机,之前分析过方控上自定义按键的输入机制和中控上旋钮输入的原理,但都局限于 Car Service 内 Input 相关模块。一文了解 Android 车机如何处理中控的旋钮输入从实体按键看 Android 车载的自定义事件机制本文将结合 Android 系统整体,对 CarService 的构成和链路对其做一个全面的分析和理解。我们通过一张表格来总结 CarService

一文了解 Android 车机如何处理中控的旋钮输入从实体按键看 Android 车机的自定义事件机制深度入门 Android 车机核心 CarService 的构成和链路本篇文章我们聚焦 Android 车机上最重要、最常用的接口:即车辆属性。并结合车窗升降这种典型的场景来探究它的完整链路。App 先通过 Car lib 拿到CarService的Car实例,CarService 会初始化所有

监听截屏 API 的使用简单、清晰,以后不需要再通过监听媒体文件的变化等逻辑来迂回实现,采用官方的方式去探测用户的截屏操作并按照文件读写的规范去提取文件。但需要留意 adb、代码、AS 等方式发起的截屏无法通过该 API 监听得到,笔者以为这些不属于用户操作,没有必要纳入到监听范围中。另外,这个监听 API 并不是级别的,每个目标Activity都得注册,所以可以考虑在中完成 API 的注册和注销







