首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

最新 Android 热门开源项目公布

[1240] Material Dialogs 采用模块化架构,核心模块(core)包含了核心功能和基本功能,文本输入框、文件选择器、色彩选择器、时间日期选择器、弹出表单等功能作为扩展模块提供,可单独引入...采用官方风格(kotlinlang.org 和 Android Kotlin 风格指南)。 内置格式化功能,类似 Go 语言的 gofmt。...官网:ktlint.github.io mockk Kotlin 的 mock 测试库,不仅支持常规的单元测试,还支持在真机或模拟器上运行的 instrumented 测试。...[1240] mockk 提供了全面、强大的特性,可以 mock 类、对象、私有函数、协程等多种结构(Android P 之前的版本 instrumented 测试有少数特性不支持)。...官网:mockk.io KOIN 面向 Kotlin 开发者的轻量依赖注入框架。 [1240] KOIN 提供了轻量的函数式依赖注入 DSL,无需代码生成和反射。

1.3K00

【翻译】忘了RxJava吧——你需要的是拥抱Kotlin协程(Part 12)

这看上去根本没有产生异步嘛 :) ,顺便说一下,在 RxJava 版本,我们把订阅器添加到 compositeDisposable 以方便在 onStop() 调用它的 dispose() 方法。...可读性 代码更易于阅读和编写了,这是由于异步代码是使用同步方式编写出来的。 我该如何重构单元测试?...我们可以在我们的业务逻辑对象抛弃任何包装器,不需要返回 Deferred 包装对象,假装没有任何实际的异步操作发生。...另外,我们可以用一种更奇幻的方式测试我们的 presenter : @Test fun testLogin() = runBlocking { val apiClient = mockk<SuspendingApiClient.SuspendingApiClientImpl...概要 好吧,在这里我们设法重构一些使用了 Singles 的代码,替换为 Kotlin 协程并从中感受到一些好处。在此系列的下一章节,我们将考虑使用协程来处理比 RxJava 更高级的一些主题。

1.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

Android终端单测杂烩

测试同学-关于语言补习  Kotlin *建议Java全熟之后再看,同时看有可能会记错用法; *语法比较多,需要慢慢消化; *优先看下官网的Higher-Order Functions and Lambdas...Manifest—runtime permission—rule—@get—api23 API23(Android6.0)之后,申请权限变成了在运行时获取(用户点了某个功能之后APP弹框提示用户是否授权...Mockk—static method—AndroidP mockK声称支持静态方法的mock,然后试验了一下在荣耀V9的表现: ? 所以想mock静态方法的,找找AndroidP的手机吧。...最后抛一个问题:大家觉得单测是否有必要控制mock的使用(能mock的地方全部使用mock  VS 只有mock才能解决的时候才使用mock)?...后期我们会根据每个维度陆续写相关的测试文章,如果你有兴趣,请关注我们哦。 ? 长按指纹识别图中的二维码,获取更多测试干货分享! ? ? ?  将我们公众号置顶  ?  不会漏掉我们的原创干货哦!

1.8K40

技术雷达第十九期正式发布——用百余个条目更新你的技能图谱!

既往的根本问题,是如何在隔离和耦合之间取得平衡:我们隔离组件,使其在技术角度便于管理。但是我们也需要协调组件,使其有助于解决业务问题。这就产生了某种形式的耦合。因此,上述旧模式就不断重新冒出来。...该平台仍在开发,有些功能尚需完善,也缺少一些特性(比如与私有容器注册服务协同工作)。...LocalStack 使用云服务时面对的一个挑战是如何在本地进行开发和测试。 LOCALSTACK 为 AWS 解决了这个问题。...它基于现有的最佳工具Kinesalite 、 Dynalite 、 Moto 等构建,并增加了进程隔离与错误注入的功能。...MockK MOCKK 是用 Kotlin 编写的模拟库。它的核心理念是像 Coroutines 和 Lambda 表达式一样,为 Kotlin 提供一等公民级别的语言特性支持。

76310

Jetpack Compose Beta 版现已发布!

时机正好,不妨趁现在开始学习 Compose,并着手规划今年 1.0 版发布之后,您将如何在接下来的项目或功能中使用该工具包。...Compose 完全使用 Kotlin 构建,可利用其优秀的 语言特性 提供功能强大、简洁且直观的 API。例如,借助 协程,我们可以编写更简单的异步 API,描述手势、动画或滚动。...这样,我们就能更轻松地编写代码,将异步事件 (触发动画的手势) 与结构化并发提供的取消和清理相结合。...我们会提供各种指南来帮助您快速入门, 架构、无障碍功能测试 相关的指导内容,以及针对 动画、列表 或 Compose 的编程思想 的深入探讨。...我们期待收到您对在应用采用 Compose 的 反馈,您也可以在 Kotlin Slack 的 #compose 频道参与讨论或在下方留言区和我们分享。

5.6K10

Android协程的7个必要知识点

在现代Android应用开发,协程(Coroutine)已经成为一种不可或缺的技术。它不仅简化了异步编程,还提供了许多强大的工具和功能,可以在高阶场景中发挥出色的表现。...上下文与调度器: 理解协程上下文的概念,包括调度器(Dispatcher)的作用,如何在不同的线程上执行协程代码。 挂起函数: 掌握挂起函数的概念,以及如何在协程调用和编写挂起函数。...通过创建、启动和取消协程,以及处理异常,你可以更好地掌握协程的核心功能,从而在异步编程获得更高的效率和可维护性。...下面讲深入介绍协程上下文的概念、调度器的作用,以及如何在不同线程上执行协程代码。 协程上下文与调度器 协程上下文是协程运行时的环境,包含了许多不同的元素,调度器、异常处理器等。...挂起函数 在Kotlin Coroutine,挂起函数是一种特殊的函数,它可以在协程内部被挂起,等待异步操作完成而不会阻塞线程。挂起函数是协程异步编程的核心。

51652

Kotlin 和 Jetpack 视频合集 | MAD Skills

我们介绍了多种不同的方法,让 Android 代码更具表现力、更简洁、更安全以及更易于使用 Kotlin 运行异步代码。...这一集涵盖了一些最重要的库: core-ktx,它为来自 Android 平台的 API 提供了常用 Kotlin 功能,另外还有一些 Jetpack KTX 库,让我们在使用 LiveData 和 ViewModel...上手使用 Room Kotlin API 本视频打开了 Room 的大门,一探如何在 Kotlin 创建 Room 表和数据库,以及如何使用 Flow 实现插入和使用可观察的查询等一次性挂起操作。...您可以观看 视频 或阅读 之前的文章,了解如何实现和测试 Room 查询。如需了解更多实践相关内容,请参阅 Codelab 英文教程。...使用 WorkManager Kotlin API 本视频通过 WorkManager 让您的工作更轻松。即使应用关闭或设备重启,也能够成功调度异步任务,使其立即或者推迟执行。

72720

KotlinConf 2019 观影指南 – 前端与 Web 开发篇

Kofu 是讲师几个月前在 Spring Fu 孵化器开发的 Kotlin DSL。...它是 Spring Boot 自动配置的替代方法,旨在通过自动完成和自定义配置显式配置应用程序,同时仍支持大多数 Spring Boot 功能。...gRPC 本质上是异步的,而 Kotlin 有很棒的协程,因此异步的 gRPC 和 Kotlin 协程应会是完美的搭配!.../JS 的最新发展,包括 Kotlin 的 JavaScript 和 TypeScript 软件包,如何使用 JavaScript 专属的测试工具、依赖管理、新的工具及各项改善,最后了解新的编译器后端如何改善现在和将来使用...通过这场演讲你将能了解 Kotlin/JS 领域的新变化,这些变化有助于改善我们使用 Kotlin 和 JavaScript 的方式,以及如何在 Web 充分利用 Kotlin

86020

WorkManager 在 Kotlin 的实践

WorkManager 是一个 Android Jetpack 扩展库,它可以让您轻松规划那些可延后、异步但又需要可靠运行的任务。...目前为止 WorkManager 系列已经讨论过: Android Jetpack WorkManager | Android 中文教学视频 在这篇文章,我们将讨论: 在 Kotlin 如何使用 WorkManager... WorkManager 发布日志 描述的那样,只需要在 build.gradle 文件添加 androidx.work:work-runtime-ktx 依赖项,即可使用 KTX 版的 WorkManager...要了解关于如何在 Kotlin 中使用 WorkManager,可以尝试这个 codelab。 测试 Worker 类 WorkManager 有几个额外的工具类,可以很方便地测试您的 Work。...现在您可以非常容易的对 Worker 类进行测试,并且 WorkManager 在 Kotlin 的整体使用体验也非常棒。

1.8K10

快速进阶 Kotlin Flow:掌握异步开发技巧

在 Android 应用开发异步编程是不可避免的,而 Kotlin Flow 是一个强大的库,能够使异步操作更加优雅和易于管理。...例如: val flow = simpleFlow() flow.collect { value -> println(value) } 实际应用示例 让我们看一下如何在实际场景应用 Kotlin...取消操作 在异步操作,取消是一个重要的考虑因素。Kotlin Flow 集成了 Kotlin 协程的取消机制,使得取消操作变得简单而高效。...线程调度 RxJava 和 Kotlin Flow 都提供了线程调度的机制,允许在不同线程执行异步操作。在 RxJava ,你可以使用 observeOn 和 subscribeOn 来切换线程。...如果你需要使用 Kotlin 协程的其他特性,取消、超时和异常处理,Kotlin Flow 可以更加自然地与之集成。

83430

使用 Kotlin 构建的常见问题解答 | Kotlin 迁移指南 (下篇)

短期内您将注意到的最大变化是: Android Studio 3.0 及更高版本包含了经过全面测试Kotlin 支持工具。我们相信,这一变化将为您带来更轻松、更稳定的开发体验。...如何在 Android Studio 中使用 Kotlin? Android Studio 3.0 及更高版本全面支持 Kotlin。...详情请参阅 "Kotlin 使用入门"。 如何在 Android Studio 调试 Kotlin 代码? Kotlin 代码的调试方法与 Java 代码相同。您不需要执行任何其他操作。...此设计让 Kotlin 代码可以透明地调用 Java 语言方法;对于 Kotlin 独有的功能,可采用注释轻松向 Java 代码公开。...Kotlin 在 Android 开发能实现协程吗?能实现异步/等候吗? Kotlin 协程目前应该可以实现,但这些特性还处于实验设计阶段。

4.4K20

Kotlin 异步框架 Ktor 2.0 发布,提供新的插件特性

作者 | Andrea Messetti 译者 | 平川 策划 | 丁晓昀 Ktor 是一个用于创建异步客户端和服务器应用程序的 Kotlin 框架。...顾名思义,它允许我们实现插件架构,简化了功能扩展。 它还引入了 Kotlin/Native 支持,这是对 Ktor 1.6 添加的 GraalVM 支持的补充。...除了上述功能外,客户端还包括用于身份认证的快捷 API,basic()和bearer()辅助函数。...Ktor 应用程序可以托管在任何支持 Servlet 3.0+ API 的 Servlet 容器 Tomcat,或使用 Netty 或 Jetty 独立运行。...Ktor 使用 Kotlin coroutines 以直观的命令式流程实现异步编程,而为了避免阻塞线程,上述所有服务器容器都使用异步 I/O 工具。

88830

FAQ | 使用 Kotlin 进行 Android 开发

2019 年,Kotlin 成为 Android 开发的首选语言,这让我们开始更加依赖于 Kotlin功能。例如,协程成为我们实现异步操作的推荐方案。...我们还做了以下工作: Kotlin 优先库 首先在若干 Android Jetpack API ( Room、LiveData、ViewModel 和 WorkManager) ,我们增加了对 Kotlin...现在,我们的很多库都优先使用 Kotlin Paging 3.0 和 DataStore。...我们有超过 60 个应用 ( Google Home、Drive、Maps 等) 已将 Kotlin 添加到代码库。我们庞大的内部代码库已有超过 200 万行 Kotlin 代码。...Kotlin 的一大优势在于它与 Java 有很好的互操作性。您可以循序渐进地采用 Kotlin,比如可以首先在测试中试用,然后在新功能中试用,在慢慢接触的过程,再尝试转换部分旧代码。

83030

eBay和Lastminute采用契约测试来驱动架构演进

eBay 也采用契约测试来帮助其内部进行 API 演化,并为客户端团队提供支持。 在分布式系统(微服务架构),应用程序服务使用 RPC(远程过程调用)风格的请求或异步消息进行交互。...测试这类系统的常用方法是使用系统测试(端到端集成测试),这通常需要将整个系统部署在测试环境。...lastminute.com 已经使用 Pact(一个客户端驱动的契约测试工具)对微服务之间的 RPC 交互进行了契约测试,并在随后将其扩展到服务间的异步交互(通过 RabbitMQ 代理交换消息)上。...图片来源:https://technology.lastminute.com/contract-testing-asynchronous-messaging-pact-junit-mockk/ eBay...最后,他们发现了契约测试,生产者和消费者团队可以在他们的测试用例中使用 Mock(或存根)来独立地维护测试套件。

15420

为什么我会选择Vert.x与Kotlin

近些年兴起的一些新的编程理念与语言让笔者一直想尝试下,响应式编程以及Kotlin这个号称Better Java的语言等。...笔者在一个Electron桌面开发的代码,是这样使用异步的 本代码摘自笔者的基于Electron开发的一个跨平台桌面软件 public static async syncFavors():...虽然Vert.x本身未提供类似的功能,但Kotlin协程则提供了。...基于它们的结合,就算是在异步编程,你也可以如同前端TS一样,写出类似风格的代码 本代码摘自笔者的myddd-vertx框架,基于Vert.x与Kotlin的响应式领域驱动实现 @Test...笔者就不举更多例了,Kotlin相对Java,确实是更加简洁与优雅,而又不失可维护性。 较为完整的生态 笔者前述所言,类似的异步编程也好,响应式编程框架也好,在生态上都存在问题。表现为生态不够完善。

1.3K10

Google 推荐在 MVVM 架构中使用 Kotlin Flow

utm_source=gold_browser_extension) ,这个项目主要包了以下功能: 自定义 RemoteMediator 实现 network + db 的混合使用 ( RemoteMediator...Kotlin Flow 是什么? Kotlin Flow 解决了什么问题? Kotlin Flow 如何在 MVVM 中使用?...Google 推荐在 MVVM 使用 Kotlin Flow Google 推荐在 MVVM 中使用 Kotlin Flow我相信如今几乎所有的 Android 开发者至少都听过 MVVM 架构,在...Flow 库是在 Kotlin Coroutines 1.3.2 发布之后新增的库,也叫做异步流,类似 RxJava 的 Observable 、 Flowable 等等,所以很多人都用 Flow 与...map 等等 Flow 是对 Kotlin 协程的扩展,让我们可以像运行同步代码一样运行异步代码,使得代码更加简洁,提高了代码的可读性 易于做单元测试 Kotlin Flow 如何在 MVVM 中使用

4.1K20

使用Spring Cloud Netflix的Kotlin微服务:第2部分

在本系列的第1部分,我们使用Kotlin介绍了Spring Cloud。...在本部分,我们将展示如何在Spring Cloud的微服务之间共享数据。正如我们所说,有许多方法可以根据业务需求实现数据共享。...例如,如果我们想要基于REST的通信,我们可以使用Feign Client; 对于异步通信,我们可以使用消息代理等。在这个例子,我们将使用Feign。...Spring Cloud Feign Feign是一个声明式Web服务客户端,是测试应用程序API的便捷方式,专注于创建测试以验证业务逻辑,而不是花时间在Web服务客户端的技术实现上。...希望这篇文章能帮助您开始使用Kotlin的Spring Cloud。还有许多其他Spring Cloud概念,Zuul,非常有趣,希望将来有机会讨论。

1.4K20

干货 | KotlinNative 异步并发模型初探

Kotlin/JVM 的协程既能完成异步请求,也能完成并行计算,并且由于协程拥有挂起(suspend),Kotlin/JVM 就可以在协程而非线程的层面上来解决并发竞争的问题。...2.2 Worker 的基本用法 下面我们来看看如何在 Kotlin/Native 开启子线程进行异步计算。...但测试结果却不是这样,一旦使用 UNSAFE 模式,代码就变得和在 Java 编写不加任何同步机制的并发访问代码一样不安全,任何的潜在风险都不会被显式的表现出来,因此 UNSAFE 模式的注释,官方也写了下面这句话...,这就使得 Native 版的协程相对于 JVM 版功能大打折扣,但好消息是,近期在协程的官方 Github仓库(kotlinx.coroutines)的 issue#462(参考链接 5)Kotlin...Kotlin/Native在线上产品是否可行,个人认为,只要经过大量且完备的测试(虽然做起来并不容易),以目前状况来看,是值得一试的,但预览版的多线程协程则不同,它处在一个非常非常早期的预览阶段,想要在线上产品中使用

1.7K20
领券