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

第3章 Kotlin 可空类型与类型系统第3章 Kotlin 可空类型与类型系统

自然而然地,人们会想到为何不能在编译时就提前发现这类空指针异常,并大量修复这些问题? 现代编程语言正是这么做的。 Kotlin自然也例外。...val ur2 = unitReturn2() println(ur2) // kotlin.Unit val ur3 = unitReturn3()...Goo null >>> goo as Foo Line71$Goo@73dce0e6 我们可以看出,在Kotlin中,父是禁止转换为子类型的。...按照Liskov替换原则,父换为子类是对OOP的严重违反,不提倡、也建议。...严格来说,父是不能转换为子类的,子类包含了父所有的方法和属性,而父则未必具有和子类同样成员范围,所以这种转换是不被允许的,即便是两个具有父子关系的空类型,也是如此。

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

手把手教你搭建android模块化项目框架(一)选择篇

经典框架选取总模式:mvvm-databinding图片加载:glide事件总线:kotlin.flow或eventbus,本篇选用kotlin.flow撸出自己的事件总线线程调度:kotlin.CoroutineScope...动画等:lottie or svga or pag不过本篇教大家如何使用该框架功能。因为单一的工具并非框架重点功能。其他:core-ktx,lifecycle,androidx系列库等。...bug采集:bugly 本篇接入,正式项目可选取合适自己的采集工具。埋点采集:同上。上述基本描写了目前大多数项目使用的三方及jetpack框架,后续可能补充其他选择。...: "com.google.dagger:dagger:2.44.2", daggerCompiler : "com.google.dagger...文件如下图图片插入代码plugins {id 'com.android.application' version '8.1.0' apply false id 'org.jetbrains.kotlin.android

47421

开发必须了解的10个Android

AndroidKTX Android KTX是一个把Android API用Kotlin封装起来的库。这个库的目标是让Android API使用起来更友好。...KTX改变了开发者使用Android API的方式,如果你的项目使用的是Kotlin,那么它应该成为你的核心库之一。 Dagger 没有Dagger的排行榜不完整。...关于Dagger,google有一个著名的咖啡机的例子可以了解一下,我之前也发过几篇分析的文章,可以了解一下Dagger2应用:接入Dagger2 Android应用:@Component和@ModuleDagger2...对于大型项目来说,开发者希望手工地去处理依赖注入,因为这不容易维护。Dagger通过注解帮开发者完成了这些事情。...之前Dagger在服务端大型项目上应用比较多,去年开始Google也把Dagger作为Android的模块之一合并进了Android项目了。 ==== 今日沙雕 ==== ?

2.2K50

Jetpack新成员,一篇文章带你玩转Hilt和依赖注入

答案就是Dagger2。 是的,Dagger2在海外是非常受到欢迎和广泛认可的技术栈,如果你能用得一手好Dagger2,基本也就说明你是水平比较高的开发者了。...事实上,Hilt和Dagger2有着千丝万缕的关系。Hilt就是Android团队联系了Dagger2团队,一起开发出来的一个专门面向Android的依赖注入框架。...相比于Dagger2,Hilt最明显的特征就是:1. 简单。2. 提供了Android专属的API。 那么接下来,就让我们开始学习一下Hilt的具体用法。...接下来,在app/build.gradle文件中,引入Hilt的插件并添加Hilt的依赖库: ... apply plugin: 'kotlin-kapt' apply plugin: 'dagger.hilt.android.plugin...:hilt-android-compiler:2.28-alpha" } 这里同时还引入了kotlin-kapt插件,是因为Hilt是基于编译时注解来实现的,而启用编译时注解功能一定要先添加kotlin-kapt

2.5K30

Android Studio 4.1 发布啦

会生成易于使用的,因此开发者可以用更少的代码和更好的类型安全性来运行模型。...如示例所示,Android Studio 创建了一个 MobilenetV1025160Quantized 用于与模型进行交互的。 如果模型没有元数据,屏幕将仅提供最少的信息。...独立的探查器 使用新的独立探查器,现在可以在运行完整的Android Studio IDE的情况下对应用程序进行探查,有关使用独立探查器的说明,请参阅“运行独立探查器”:https://developer.android.com...Kotlin 1.3.72 Android Studio 4.1 捆绑了Kotlin 1.3.72,其中包括许多用于改善Kotlin高亮显示,检查和代码完成的修复程序,请查看1.3.72 Kotlin更改日志获取详细信息...),Android Studio现在向您显示自定义视图的预览,使用工具栏中的下拉菜单可在多个自定义视图之间切换,或单击按钮以垂直或水平环绕内容。

6.4K10

Android 11 Beta 版正式发布!以及众多面向开发者的重磅更新

自动填写应用以及 IME (输入法编辑器) 可以通过这个功能在 IME 提示列表中安全地给出基于上下文的实体和字符串建议。 Voice Access (语音操作)。...如果您使用的是 Pixel 2、3、3a 或 4 系列设备,请参加测试并获取 Android 11 Beta 的 OTA 更新。...我们还新增了 Database Inspector 和依赖注入 (Dagger) 工具。 设备测试体验更佳。...很多用户一直对 Dagger 情有独钟,因此我们联合 Dagger 团队推出了 Hilt,这是基于 Dagger 的封装方案,且易于开发者使用。...今天,我们为大家带来 Jetpack Compose 开发者预览版 2,其中包含开发者们一直要求的诸多功能: 与 View 的互操作性 (开始在当前应用中混合使用 Composable 方法) (新!)

1.7K50

Room & Kotlin 符号的处理

认识 Kotlin 符号处理 随着注解处理器在 Android 上的广泛使用,KAPT 成为了编译时的性能瓶颈。...有一些 "Processor" ,它们遍历用户的代码,验证并提取必要的信息到 "值对象" 中。这些值对象被送到 "Writer" 中,这些将它们转换为代码。...Kotlin 和 Java 可以互操作,但模式却不相同,例如,Kotlin 中特殊的类型如 Kotlin 的值或者 Java 中的静态方法。...这些是实际的 Android 测试应用,也会在运行时测试其行为。幸运的是,Android 支持 Gradle 变体,因此使用 KSP 和 KAPT 来运行我们 Kotlin 集成测试 便相当容易。...希望在将来,我们还能对生成 Kotlin 代码提供一些支持,以便在 Room 中为 Kotlin 提供一流的支持。接下来,也许更多 :)。 我能在我的项目上使用 X-Processing 吗?

72130
领券