帖子的图像
帖子的图像

Kotlin词汇:数据类

小狗有一个名字,一种品种和大量的可爱。要模拟只能数据的类,您应该使用a数据类。编译器通过自动生成简化您的工作ToString()等于()hashcode()为您提供服务破坏性从框中复制功能,让您关注所需的数据。继续阅读,了解有关数据课程的其他优势,其限制以及在他们如何实施的引擎盖下看看。

使用概述

若要声明数据类,请使用数据修饰符并在构造函数中将类的属性指定为val或var参数。与任何函数或构造函数一样,您还可以提供默认参数,您可以直接访问和修改属性,并在类中定义函数。......


帖子的图像
帖子的图像

Ever since we announced our Kotlin support in 2017 we’ve been getting a lot of questions about Kotlin on Android: you wanted to know whether it’s time to learn it, to introduce it to your app, what the best course or tutorial to learn Kotlin is, whether Google is using Kotlin internally and what our plans for the Java programming language are. In this post, I want to answer some of these questions.

问:我应该为Android学习Kotlin吗?

我们经常遇到的问题都是一样的:

  • “我应该选择什么才能在Kotlin和Java编程语言之间学习初学者?”
  • “我已经完成了Java编程语言的基础知识,这是我是否适合我切换到Kotlin for Android开发的时间?”......

帖子的图像
帖子的图像

用户希望与您的应用程序有无缝体验。崩溃可能导致差价差,卸载甚至损害您的品牌知识。通过与社区交谈,我们知道采用Kotlin的主要原因之一是更安全的代码。In this post I’ll share a couple of the ways Kotlin improved the stability of a few of our partners’ code but we’ll also look at the results of some Google Play store stats and see if there’s a correlation between using Kotlin and the number of crashes (spoilers: there is!).

应用质量

您的应用的质量不仅对您的用户体验产生影响。有几个其他元素将受到大量的影响


帖子的图像
帖子的图像

Kotlin词汇-破坏

有时您只是想分解一个包含多个字段的对象来初始化几个单独的变量。要实现这一点,可以使用Kotlin的析构声明。继续读下去,了解如何使用这个特性,Kotlin类型默认提供了什么,如何在您自己的类中实现它,或者如何在您不控制但认为可以从析构中获益的类中实现它,以及在底层如何工作。

用法

析构声明允许我们定义本地值/变量如此:

这是一种方便的方式来处理来自函数或集合的数据:

默认情况下,所有数据类都支持析构。......


帖子的图像
帖子的图像

Kotlin词汇

简洁易用,默认参数允许您在没有样板的情况下实现函数重载。像许多Kotlin特性一样,这感觉就像魔术一样。你想知道它的秘密吗?继续往下读,了解默认参数是如何工作的。

基本用法

如果您需要过载函数,而不是多次实现相同的功能,则可以使用默认参数:

默认参数也可以应用于构造函数:

Java Interop.

默认情况下,Java不识别默认值重载:

要指示编译器生成过载方法,请使用@jvmoverload.在你的Kotlin上的注解…


帖子的图像
帖子的图像

安卓Jetpack.是一套库,旨在帮助您轻松编写高质量的应用程序,支持旧版本的Android操作系统。现在,在Jetpack推出两年后,我们看到了应用程序的大量采用,从大型开发团队到那些刚刚起步的人。而这仅仅是个开始:今天,我们将推出新的库,以及对现有库的重大更新,这些都是我们过去一年一直在做的工作。以下是Jetpack的最新更新——我们的扩展版本什么在喷气包中的新东西谈论!!

什么在喷气包中的新东西

alpha中的新

HILT - Jetpack推荐的依赖注射库

Hilt是一个新的简化的Android库依赖注入(di)在您的申请中。Wive允许您专注于定义和注入绑定的重要部分,而无需担心管理所有DI设置和接线。......


帖子的图像
帖子的图像
插图by埃拉多布森

你可能会遇到这样的问题recyclerview.当你的时候失去滚动位置活动/分段重新创建。这通常是因为适配器数据是异步加载的,而此时数据还没有加载recyclerview.需要布局,以便恢复滚动位置。

1.2.0-alpha02recyclerview.提供新的API让适配器阻止布局恢复,直到它已准备就绪。阅读,了解如何使用此新API以及它的工作原理。

恢复滚动位置

有几种方法可以确保您可能已采用的正确滚动位置。最好的是确保您始终设置数据适配器在第一次布局通过缓存您要在内存中显示的数据之前,在视图模型或者在存储库中。如果这种方法不可行,其他的解决方案要么更复杂,比如避免设置适配器在这一点recyclerview.,这可能会导致标题或误用等问题LayoutManager.onRestoreInstanceState......


帖子的图像
帖子的图像
插图by弗吉尼亚波尔特拉克

用例示例:显示列表标题和页脚

ConcatAdapter有新班吗Recyclerview:1.2.0-alpha02哪一个使您能够顺序地组合多个适配器要以一个单一显示recyclerview.。这使您可以更好地封装您的适配器,而不是必须将许多数据源组合到一个适配器中,使它们集中并可重新使用。

其中一个用例是在页眉或页脚中显示列表加载状态:当列表从网络中检索数据时,我们希望显示一个进度旋转器;在错误的情况下,我们希望显示错误和重试按钮。

帖子的图像
帖子的图像
具有页脚显示加载状态的recyclerview:进度或错误

介绍拍号适配器

ConcatAdapter允许我们以序列显示多个适配器的内容。例如,让我们说我们有以下3 ...


帖子的图像
帖子的图像

Kotlin词汇

你创建的所有Util文件中都有很多小函数你创建的所有Util文件中都有很多小函数?如果你的实用函数以其他函数作为参数,你就有机会通过节省一些额外的对象分配来提高你的应用程序的性能,你甚至可能不知道你正在做的,用一个关键字:内联。让我们看看当您通过这些短功能时会发生什么,引擎盖下的内联以及在使用内联功能时应该了解的内容。

功能调用 - 在引擎盖下

假设你用SharedPreeferences.在你的应用中有很多所以你创建这个实用函数来减少样板文件每次你在你的。


帖子的图像
帖子的图像
插图by弗吉尼亚波尔特拉克

协程中的取消和异常(第2部分)

在开发过程中,就像在生活中一样,我们知道避免做多余的工作很重要,因为这会浪费内存和能量。这个原则也适用于协程。您需要确保控制协同程序的生命周期,并在不再需要时取消它——这就是结构化并发性所表示的。继续读下去,找出协程取消的来龙去脉。

如果你喜欢看这方面的视频,可以看看这个演讲曼努埃尔体内我在Coroutines取消和例外给了Kotlinconf'19:

⚠️为了遵循本文的其余部分没有任何问题,阅读和理解本系列的第一部分是必需的。......

关于

弗洛琳娜慕纳斯库

Android Developer Advocate @Google

使用Mediumbetway娱乐官网应用程序

一个按钮,称“在App Store上下载”,如果点击它将导致您到iOS App Store
一个按钮,说'Get it on,谷歌Play',如果点击它会带你到谷歌Play store