4 天前 / 逆锋起笔
code 小生 一个专注大前端领域的技术平台公众号回复 Android 加入安卓技术群 作者:HiDhl 链接:https://juejin.im/post/5f153adff265da22fb287e6e 声明:本文已获 HiDhl 授权发表,转发等请联系原作者授权 前言在之前分享过一篇 Jetpack 综合实战应用 神奇宝贝 (PokemonGo) 眼前一亮的 Jetpack + MVVM 极简实战 ,这个项目主要包了以下功能: 自定义 RemoteMediator 实现 network + db 的混合使用 ( RemoteMediator 是 Paging3 当中重要成员 )使用 Data Mapper 分离数据源 和 UIKotlin Flow 结合 Retrofit2 + Room 的混合使用 Kotlin Flow 与 LiveData 的...
47 天前 / ywp
欢迎回来! 距离上一篇博客已经接近一年了,在这期间虽然也有一些奇怪的研究,但是都还没有到达能够写博客的地步。每天都在为琐事和业务代码忙忙碌碌,也没有闲工夫去研究比较有意思的东西。这也算是我给懒癌找的借口,不过还是希望这个系列能够稍微长一点,能够被称为「系列」。 关于协程众所周知,无论是怎样的协程,最后都逃不出什么 Dispatcher,Woker,EventLoop 之类的东西。所以当遇见了异步操作的时候,最后总是将当前的线程的处理能力交还给调度器,以实现非阻塞式的调用,然后将任务完成的委托注册下来,以便异步任务完成时调用...
122 天前 / sjf0115
关于 Apache PulsarApache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐、低延时及高可扩展性等流数据存储特性。 GitHub 地址:http://github.com/apache/pulsar/ 本文翻译自:《Using Apache Pulsar With Kotlin》,作者 Gilles Barbier。 原文链接:https://gillesbarbier.medium.com/using-apache-pulsar-with-kotlin-3b0ab398cf52 译者简介宋博,就职于北京百观科技有限公司...
215 天前 / 携程技术
作者简介 禹昂,携程移动端资深工程师,Kotlin 中文社区核心成员,图书《Kotlin 编程实践》译者。 Derek,携程资深研发经理,专注于移动端开发,热衷于各种跨端技术的研究和实践。 一。 背景与选型 移动端跨平台技术自移动开发诞生以来一直是个热门话题,一是持续关注研发效率,降本提效;二是一套代码多端运行可以提升多端业务逻辑的一致性;三是跨端技术方案通常意味着更佳的高效运维和缺陷修复。 跨平台开发框架经过多年的发展,目前被行业采用率最广的应属 Facebook 的 React Native,而当前最被大家寄与厚望的则是 Google 的 Flutter。
218 天前 / Tony沈哲
首页下载 APPIT 技术基于 Kotlin + OkHttp 实现易用且功能强大的网络框架(一)fengzhizi715 关注赞赏支持基于 Kotlin + OkHttp 实现易用且功能强大的网络框架(一)okhttp-extension 是针对 okhttp 3 增强的网络框架。使用 Kotlin 特性编写,提供便捷的 DSL 方式创建网络请求,支持协程、响应式编程等等。 其 core 模块只依赖 OkHttp,不会引入第三方库。 okhttp-extension 可以整合 Retrofit、Feign 框架,还提供了很多常用的拦截器。 另外,okhttp-extension 也给开发者提供一种新的选择。
234 天前 / Android_开发者
写文章登录 Room & Kotlin 符号的处理谷歌开发者 5 人赞同了该文章△ 图片来自 Unsplash 由 Marc Reichelt 提供 Jetpack Room 库在 SQLite 上提供了一个抽象层,能够在没有任何样板代码的情况下,提供编译时验证 SQL 查询的能力。它通过处理代码注解和生成 Java 源代码的方式,实现上述行为。 注解处理器非常强大,但它们会增加构建时间。这对于用 Java 写的代码来说通常是可以接受的,但对于 Kotlin 而言,编译时间消耗会非常明显,这是因为 Kotlin 没有一个内置的注解处理管道。
261 天前 / Android_开发者
写文章登录使用 Kotlin Symbol Processing 1.0 缩短 Kotlin 构建时间谷歌开发者 6 人赞同了该文章作者 / 软件工程师 Ting-Yuan Huang 和 Jiaxiang Chen Kotlin Symbol Processing (KSP)——用于在 Kotlin 中构建轻量级编译器插件的全新工具现已推出稳定版本!其与 Kotlin 注解处理工具 (KAPT) 的功能相似,但速度提高了 2 倍,同时还可以直接访问 Kotlin 语言结构并支持多个平台目标。 在过去的几个月里,KSP 共发布了 32 个版本,超过 162 个来自社区反馈的错误问题被修复。如果您正期待着应用该工具,那现在是时候去尝试了。
274 天前 / Tony沈哲
pexels-2876033.jpgKotlin 跟 Java 可以无缝衔接,因此 Kotlin 能够使用 Java 的反射机制。另外,Kotlin 也有自己的反射机制,需要额外地引入 kotlin-reflect.jar。 implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"kotlin-reflect.jar 中包含 kotlin.reflect.full 和 kotlin.reflect.jvm。 kotlin.reflect.full 是主要的 Kotlin 反射 APIkotlin.reflect.jvm 用于 Kotlin 反射和 Java 反射的互操作。Kotlin 反射的特性包含: 提供对属性和可空类型的访问权限,这是由于 Java 没有属性和可空类型的概念。
281 天前 / 街道-书记撸代码
要开始写新的 Kotlin 系列了 「影响性能的 Kotlin 代码」, 同时我也在写另一个系列 「为数不多的人知道的 Kotlin 技巧及解析」,没有看过的小伙伴,可以点击下方链接前去查看。 为数不多的人知道的 Kotlin 技巧及解析 ( 一)为数不多的人知道的 Kotlin 技巧及解析 ( 二)为数不多的人知道的 Kotlin 技巧及解析 ( 三) Kotlin 高级函数的特性不仅让代码可读性更强,更加简洁,而且还提高了生产效率,但是简洁的背后是有代价的,因此我们需要去研究 kotlin 语法糖背后的魔法,选择合适的语法糖,尽量避免这些坑。
285 天前 / Android_开发者
谷歌开发者已认证的官方帐号 5 人赞同了该文章两年前,Android 开源项目 (AOSP) 应用团队开始使用 Kotlin 替代 Java 重构 AOSP 应用。之所以重构主要有两个原因: 一是确保 AOSP 应用能够遵循 Android 最佳实践,另外则是提供优先使用 Kotlin 进行应用开发的良好范例。Kotlin 之所以具有强大的吸引力,原因之一是其简洁的语法,很多情况下用 Kotlin 编写的代码块的代码数量相比于功能相同的 Java 代码块要更少一些。
323 天前 / 公众号-Android开发编程
前言 Lambda 语法在 Java 中已经被广泛的运用,我们在开发 Android 中几乎上每一个项目也会在项目中接入 Lambda 插件,因为 Lambda 确实能简少很多的代码量。 无独有偶,在 Kotlin 中也是 Lambda 语法的,在这篇文章中就详细的为大家讲解 Lambda 语法的编写与使用 一、kotin 高阶函数详解 1、高阶函数是将函数用作参数或返回值的函数。这种函数的一个很好的例子是 lock(),它接受一个锁对象和一个函数,获取锁,运行函数并释放锁: fun lock(lock: Lock, body: () -> T): T { lock.lock() try { return body() } finally { loc...
368 天前 / Android_开发者
写文章 FAQ | 使用 Kotlin 进行 Android 开发谷歌开发者已认证的官方帐号 3 人赞同了该文章自从 2017 年我们宣布支持 Kotlin 以来,收到了很多关于使用 Kotlin 进行 Android 开发的问题: 大家想知道现在是否适合学习 Kotlin,是否要在应用开发中引入 Kotlin,学习 Kotlin 的最佳课程或教程是什么,Google 内部是否在使用 Kotlin,以及我们对 Java 编程语言的规划是怎样的?本文将一一作答。 问: 是否应该学习 Kotlin 进行 Android 开发?最常提及的问题大都围绕同一个话题: "对于初学者...
387 天前 / Android_开发者
谷歌开发者已认证的官方帐号 3 人赞同了该文章 Hilt 是基于 Dagger 开发的全新的依赖项注入代码库,它简化了 Android 应用中 Dagger 的调用方式。本文通过简短的代码片段为您展示其核心功能以帮助开发者们快速入门 Hilt。 配置 Hilt 如需在应用中配置 Hilt,请先参考 Gradle Build Setup。 完成安装全部的依赖和插件以后,仅需在您的 Application 类之前添加 @HiltAndroidApp 注解即可开始使用 Hilt,而无需其它操作。
418 天前 / Android_开发者
写文章使用 Kotlin 提高生产力谷歌开发者已认证的官方帐号 5 人赞同了该文章 Kotlin 以其简洁的特性而闻名,而在我们的实践中,更加简洁就意味着更加高效。事实上,在使用 Kotlin 的专业 Android 开发者中,有多达 67% 的人表示 Kotlin 已经帮助他们提升了生产力。在接下来的内容中,我会分享一些 Kotlin 帮助我们的合作伙伴工程师们提高生产力的方式,并为您介绍有助于此的 Kotlin 功能。 在使用 Kotlin 的专业 Android 开发者中,有多达 67% 的人表示 Kotlin 已经帮助他们提升了生产力 简洁、简单且高效 Kotlin 的简洁性对开发的各个阶段都有影响: 作为...
422 天前 / Android_开发者
写文章 Kotlin Vocabulary | Kotlin 内建代理谷歌开发者已认证的官方帐号 6 人赞同了该文章代理可以帮助您将任务委托给其他对象,从而带来更佳的代码复用性,您可以从 我们之前的文章了解到更多信息。Kotlin 不仅可以让您通过 by 关键字轻松实现代理,还在标准库中提供了像 lazy()、observable()、vetoable() 以及 notNull() 这样的内建代理。接下来就让我们开始了解这些内建代理的使用,以及其内部的实现原理。 lazy()lazy()函数是一个属性代理,它可以帮您在第一次访问属性时对它们进行惰性初始化。这个函数在创建昂贵对象时十分有用。