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

ApacheCN 安卓译文集 20211225 更新

六、安卓的生命周期 七、Kotlin 变量、运算符和表达式 八、Kotlin 决策和循环 九、Kotlin 函数 十、面向对象编程 十一、Kotlin 的继承 十二、将我们的 Kotlin 连接到用户界面和空性...精通 Kotlin 安卓开发 零、前言 一、从安卓开始 二、构建和运行 三、屏幕 四、连接屏幕流 五、外观和体验 六、权限 七、使用数据库 八、安卓偏好设置 九、安卓系统的并发 十、安卓服务 十一、...使用渲染脚本的密集型计算 十一、后记 安卓 SQLite 基础知识 零、前言 一、进入 SQLite 二、把点连接起来 三、分享就是关怀 四、小心连线 Android Studio 秘籍 零、前言 一、欢迎来到...install -g apachecn-android-zh apachecn-android-zh # 访问 http://localhost:{port} 贡献指南 本项目需要校对,欢迎大家提交...虽然我们追求卓越,但我们并不要求您做到十全十美,因此请不要担心因为翻译上犯错——大部分情况下,我们的服务器已经记录所有的翻译,因此您不必担心会因为您的失误遭到无法挽回的破坏。(改编自维基百科)

7.1K20

Kotlin 1.4.30-RC 密封接口来啦!

因为我们编写 Java 代码的时候,通常一个类就是一个文件,因此 Java 的密封接口不会去限制只能在文件内部定义实现类(就像 Kotlin 那样),因此 permits 是必须的。...说到这里,如果大家想要体验 Java 的密封接口的特性,需要给编译器添加 --enable-preview 参数,具体 Gradle 当中参考以下配置: compileJava { it.options.compilerArgs.add...('--enable-preview') } 如果使用 Kotlin 与 Java 15 互调用, Kotlin 1.4.30-RC 版本当中需要添加下面的参数: compileKotlin {...那这样子类不就不受限制了吗? 对呀,子类是不受限制了,但直接子类的个数还是有限的。也就是说密封类实际上限制的是直接子类的个数,这一点之前我们很少提到。...因为密封类的子类使用的过程总是会声明成父类,这个过程总是会出现装箱: val playerState: PlayerState = Idle ... playerState = Error(...)

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

Duolingo 和 Google Home 的 Kotlin 之旅

应用大受欢迎,团队肯定备受鼓舞,于是决定把最棒的创意和功能添加进应用,然后用户们会更加满意,如此循环……然而如此美妙的图景现实中会遇到 "现实的问题": 代码量陡增,以及随之而来的开发和维护成本 代码的错误也随之增加...该团队发扬了真正的 Duolingo 风格,通过开展每日排行榜竞赛并鼓励学习,让迁移过程充满游戏乐趣 (没错,和他们 Duolingo 应用引入的游戏化思想如出一辙)。...他们发现, 将 Java 文件转换为 Kotlin 文件后,代码行数平均减少了 30%,某些情况下高达 90% 。 ?...,也很高兴看到 Kotlin 我们公司和整个软件行业的使用率不断增长!...该团队将许多新的 Jetpack 库视为 "必备库",包括 ViewModel 和 LiveData,它们 Google Home 代码库得到广泛使用。

1.2K20

Android平台的Swift—Kotlin

[1.png] Kotlin为什么可以兼容Java,一个主要原因是Kotlin文件经过Kotlin编译器编译后会生成Java字节码。...而当在Java代码调用Kotlin对象时,Kotlin生成的class文件也要输入到Java编译器,这时Java文件才能生成正确的class文件。...[16.png] ----- 二、新特性 1、空安全 Kotlin是如何实现空安全的呢? Kotlin,对象声明分为空引用和非空引用两种。...Kotlin Native: Kotlin/Native 是一种将 Kotlin 编译为没有任何虚拟机的原生二进制文件的技术。还在开发,现在只出了预览版本。...如果对使用当中有任何疑问,欢迎联系腾讯WeTest 企业qq:800024531 ---------- 腾讯WeTest有奖征文活动进行欢迎投稿!

3.4K90

区域设置更改和 AndroidViewModel 反面模式

ViewModel ,如果要公开来自资源(字符串、绘制文件、颜色……)的数据,则必须着重考虑 ViewModel 对象而忽视配置更改,例如区域设置更改。...建议的做法是避免处理 ViewModels 具有生命周期的对象。 让我们看看跟踪器基于此问题的示例:系统区域设置更改时更新 ViewModel 。...context); statusLabel.setValue(context.getString(R.string.labelString)); } } 复制代码 问题的关键是字符串构造器只解释一次...我们以 Java 为基础的 Android 架构存储库解决了这个问题 Java 以及Kotlin 分支上。我们也把资源转移到 数据绑定布局。...如果发现译文存在错误或其他需要改进的地方,欢迎到 掘金翻译计划 对译文进行修改并 PR,也可获得相应奖励积分。文章开头的 本文永久链接 即为本文 GitHub 上的 MarkDown 链接。

1.2K60

2020安卓面试心得②:疫情下的安逸,九场面试后险获三个offer,这份面试总结值得反思

Message#what的不同值,会影响MessageMessageQueue的顺序么?...非静态方法A和B同一个类,方法A用synchronized修饰,当A方法因为多线程请求有线程阻塞在对象锁上的时候,B方法的访问受不受影响?...3、Activity#setContentView的xml文件是如何转化成View并显示到Activity的。 ①PhoneWindow是在哪里初始化的?...欢迎各位同学随时交流。 最后,祝各位同学都有一个美好的前程。...大厂面试复习路线 多余的话就不讲了,接下来将分享面试的一个复习路线,如果你也准备面试但是不知道怎么高效复习,可以参考一下我的复习路线,有任何问题也欢迎一起互相交流,加油吧!

75200

Android 布局优化真的难,从入门到放弃

首先我们应该了解下android绘制原理与布局加载原理。 android绘制原理 Android的屏幕刷新涉及到最重要的三个概念(为便于理解,这里先做简单介绍)。...总结一句话就是:CPU 绘制后提交数据、GPU 进一步处理和缓存数据、最后屏幕从缓冲区读取数据并显示。...所以,屏幕刷新,Android系统引入了双缓冲机制。...一些常规优化手段 上面介绍了一些改动比较大的方案,其实我们实际开发也有些常规的方法可以优化布局加载。 比如优化布局层级,避免过度绘制等,这些简单的手段可能正是可以应用到项目中的。...欢迎关注我,分享Android干货,交流Android技术。 对文章有何见解,或者有何技术问题,欢迎评论区一起留言讨论!

82310

「Android音视频编码那点破事」序章

目前已迭代多个稳定版本,欢迎查阅学习和使用,如有BUG或建议,欢迎Issue。...HardwareVideoCodec使用Kotlin实现,没有学过Kotlin的不需要害怕,先去看一些语言基础就可以了。...) FBO(帧缓冲区,这里主要用于离屏渲染以及特效) PBO(像素缓冲区对象,可以高效读取GPU的像素数据,用于软编) 纹理 Camera SurfaceTexture(集成了EGL环境的Surface...ffmpeg的头文件相当多,相比之下,x264只有一个头文件,没几个方法,掌握起来很容易。...接下来我会继续更新,详细去讲解具体实现,以及实现过程中会碰到的一系列问题。有兴趣的可以去Github上查看源码学习,欢迎star以及issue。也可以关注我简书,以便能及时收到这个系列的更新。 ?

58310

「Android音视频编码那点破事」序章

目前已迭代多个稳定版本,欢迎查阅学习和使用,如有BUG或建议,欢迎Issue。...HardwareVideoCodec使用Kotlin实现,没有学过Kotlin的不需要害怕,先去看一些语言基础就可以了 知识点 OpenGL EGL(全称Embedded Graphics Library...GPU的像素数据,用于软编) 纹理 Camera SurfaceTexture(集成了EGL环境的Surface,可以很方便的与OpenGL联动,也是TextureView提供的渲染接口) MediaCodec...ffmpeg的头文件相当多,相比之下,x264只有一个头文件,没几个方法,掌握起来很容易。...接下来我会继续更新,详细去讲解具体实现,以及实现过程中会碰到的一系列问题。有兴趣的可以去Github上查看源码学习,欢迎star以及issue。 分类: 多媒体系列文章

34820

为什么除了Flutter之外,我们还需要另一个跨平台开发框架?

随着 Alpha 版本的发布,Compose Multiplatform 还收获了新的 Android Studio 插件,包括对 IDE 显示组件预览的支持以及许多附加功能。...尽管才刚迎来 1.0,但谷歌表示“目前 Play Store 已经有超过 2000 款应用程序使用 Compose——更重要的是,就连 Play Store 这款应用本身也使用 Compose。”...Widget Toolkit)以及微软的 Xamarin 有所不同,它们选择自主绘制控件。...Igotti 回应称,“我们使用 Kotlin/JS 编译器。”Compose 的 Web 版本不如桌面版先进,说明文档也警告称“API 尚未最终确定,预计会发生重大变化。”...,专注于实际 App 产品从业务目标建模、特征设计、模型训练到预估应用的技术全链路,探讨深度学习技术实际应用的创新性、高效性、通用性和普适性。

1.1K20

Kotlin:01-Kotlin简介及编译环境搭建

JetBrains,作为目前广受欢迎的Java IDE IntelliJ的提供商,Apache许可下已经开源其Kotlin编程语言。...另外,2017 google/IO 大会上,kotlin被扶正成为Android开发的官方语言,我个人看来,Android领域取代java只是早晚的事情了。...,步骤省略,不懂的留言,我可以单独回复。...后期时间充足时我可能会补充环境变量配置的方法 附:JDK下载地址 下面开始讲解如果搭建Eclipse编译环境: ECS开启 选择工作空间--其实就是找个地方放你的代码文件 引导页 Eclipse 对kotlin...,记得选择接受 安装 安装完成提示重启 kotlin插件安装成功 创建kotlin项目 为项目命名并选择项目存储路径 项目创建成功 创建kotlin文件 输入kotlin文件名称 文件创建完成并输入代码

1.8K20

Netflix 是如何实现 Android 与 iOS 共用一套代码?

那么,我们是如何使用 Kotlin Multiplatform 的? 体验管理 如前所述,用户不同产品的实际需求存在巨大差异。...实 现 为了简便起见,这里我们不再介绍 Hendrix 的特定细节,主要讲解使用 Kotlin Multiplatform 替代 Kotlin/Swift 的一些差异。...面向开发者的人体工程学 Kotlin Multiplatform 源代码可以进行编辑、重新编译,并能够 Android Studio 与 Xcode 配合一款带有断点的调试器(包括 lldb 支持)...Android Studio 实现开箱即用, Xcode 则需要通过 TouchLabs 的 xcode-kotlin 插件使用。 ?...通过 Xcode 调试 Kotlin 源代码 网络 Hendrix 解释规则集(即远程可配置文件)已被下载至设备。

1.5K30

Kotlin 势必取代 Java? | 极客时间

Kotlin 语言本身还扩展了非常多的常用操作,像文本读写、文件夹遍历、定时器调度、流式操作集合 (类似 RxJava),而这些都是 Java 语言是没有的。...特别是 2017 年 Google I / O 大会上,Google 宣布将 Kotlin 作为 Android 开发的官方编程语言后,Kotlin 开发者社区一直快速增长。...这也意味着,对于 Java 程序员和 Android 应用开发者来说,仅仅掌握 Java 是不够的, 你还应该学习 Kotlin,才能追上技术发展趋势,在工作更加游刃有余。...视频,他围绕程序员这个职业,绘制了一条清晰的成长路径图,帮助你快速熟悉 Kotlin 特有语法特性,以及 Java 项目产生冲突时如何解决。...如果你也有过迷茫困惑和不解,欢迎你去读读这个视频课,毕竟有“开源实验室”博主近十年的经验心得,相信肯定能帮到你。 点击「阅读原文」 新人半价秒杀,仅限前 50 人! 带你拿下热门技术 Kotlin

75040

浅谈Kotlin的Checked Exception机制

我们进行文件流操作时有各种各样潜在的异常可能会发生,因此这些异常必须被捕获或者抛出,否则程序将无法编译通过,这就是Java的Checked Exception机制。...为什么Kotlin没有CE? Kotlin是没有Checked Exception机制的,这意味着我们使用Kotlin进行上述文件流操作时,即使不捕获或者抛出异常,也可以正常编译通过。...那么我们就来尝试分析和思考一下,为什么Kotlin没有Checked Exception。 我在学习Kotlin时,发现这门语言很多设计方面都参考了一些业内的最佳编程实践。...思考一下,是不是你close文件流时所加的try catch都只是为了能够让编译通过而已?你有close的异常捕获中进行过什么有意义的逻辑处理吗?...之所以我们调用Thread.sleep()方法时需要捕获InterruptedException,是因为如果在当前线程睡眠的过程,我们另外一个线程对这个睡眠的线程进行中断(调用thrad.interrupt

1.4K43

使用 Kotlin Symbol Processing 1.0 缩短 Kotlin 构建时间

作者 / 软件工程师 Ting-Yuan Huang 和 Jiaxiang Chen Kotlin Symbol Processing (KSP)——用于 Kotlin 构建轻量级编译器插件的全新工具现已推出稳定版本...为何要构建 KSP Android 团队,我们经常会向开发者提出这样一个问题: 就现阶段而言,开发应用时遇到的最大痛点是什么?其中出现最频繁的问题就是构建速度。...为 Room 添加 KSP 支持不仅能提升编译速度,还能让 Room 更好地理解 Kotlin 代码,比如使用 KAPT 无法实现的泛型的空性。...Kotlin 注释处理工具 (KAPT) 通过与 Java 注释处理基础架构相结合,让大部分 Java 语言注释处理器能够 Kotlin 开箱即用。...也欢迎您持续关注官方微信公众账号,随时获取最新资讯。 欢迎您 点击这里 向我们提交反馈,或分享您喜欢的内容、发现的问题。您的反馈对我们非常重要,感谢您的支持!

3.7K10

小兴逛Google IO 2017(day3实况)

接着,介绍了TensorFlow具有移植和扩展性,支持Mac/Windows、GPU、TPC等硬件上训练好模型,然后Android、iOS等其他硬件上进行推理。 ?...这部分演讲者直接打开Android Studio进行功能展示,Kotlin代码简洁和安全性上来说,确实比Java优秀不少。...比如在简洁方面,Kotlin支持data class,各种语法糖、缺省参数、对象扩展等,安全方面,Kotlin支持可控类型,彻底告别空指针异常问题等。...其实Kotlin跟Swift很像,选择Kotlin而不是Swift,我猜测跟当年从WebKit上面拉取Blink分支独立发展一样,Google技术改革上比较激进,天马行空,而Apple相对保守,哈哈。...有了这两个数据,就可以VR绘制物品成像了。 ? ? 第二部分主要是结合经验,给出一些VR设计过程的经验值,来创建出清晰可用的屏幕界面,来让VR使用者体验起来更舒适。

1K100

Java 17 更新(8):密封类终于转正

Kotlin 从 1.0 开始就有密封类,并且对子类定义位置的限制从父类内部(Kotlin 1.0)到同一个文件Kotlin 1.1)再到同一个包内(Kotlin 1.5),但实际使用上没有什么特别大的变化...Java 当中,密封类的子类的定义也有一些限制,如果父类具名模块当中,那么子类必须也定义该模块内部;否则,子类就必须定义父类相同的包当中。...Root { ... } } 对于密封类的子类来讲,既可以声明为 final 来禁止被继承;也可以声明为 sealed 来使得该子类的直接子类可数;也可以声明为 non-sealed 来使得该子类的子类不受限制...密封类实际上也是一个很有用的特性,我之前介绍 Kotlin 的密封类的时候也已经提到过不少它的用法,感兴趣的小伙伴可以看一下这个视频: 就像视频当中提到的那样,我们可以用密封类实现递归列表: public...---- C 语言是所有程序员应当认真掌握的基础语言,不管你是 Java 还是 Python 开发者,欢迎大家关注我的新课 《C 语言系统精讲》:

1.5K10

Android&Kotlin编译速度原理剖析

drawable:这类资源以XML或者Bitmap文件保存在res/drawable目录下,用来描述绘制对象。...raw:这类资源以任意格式的文件保存在res/raw目录下,它们和assets类资源一样,都是原装不动地打包在apk文件的,不过它们会被赋予资源ID,这样我们就可以程序通过ID来访问它们。...Kotlin的相关知识比如协程、suspend、非阻塞式挂起函数、扩展函数、泛型也会写一些文章欢迎点赞关注,给作者一些动力。...=true kotlin.parallel.tasks.in.project=true 使用静态依赖项版本 build.gradle 文件声明依赖项时,您应当避免结尾处使用带加号的版本号,例如...方法返回类型是需要对表达式进行分析,这样会大大降低编译速度 Kotlin代码编译成Java编译器识别的二进制文件 #优化kapt kapt.use.worker.api=true //并行运行 kapt.incremental.apt

1.9K20

2022 JetPack Compose开发应用指南新鲜出炉,速速查看

JetPack Compose Jetpack Compose 是Google2019年发布的一个Android原生现代UI工具包,它完全采用Kotlin编写,可以使用Kotlin语言的全部特性,可以帮助你轻松...它的优点: 使用更少的代码实现更多的功能:编写代码只需要采用 Kotlin,而不必拆分成 Kotlin 和 XML 部分。...内容展示: 第一章 初识JetPack Jetpack 是一套库、工具和指南,帮助开发者更轻松地编写优质应用。...这些组件帮助你遵循最佳做法、让你摆脱编写样板代码的工作并简化复杂任务,以便你将精力集中放在所需的代码上。...JetPack Compose 基础实战 [image.png] 第四章 Compose布局 Compose State Compose 样式(Theme) Compose布局核心控件 自定义布局 Compose

2.3K20

又一巨头放弃 Java ,拥抱 Kotlin

除了受欢迎程度外,Meta 还将最新的 Kotlin 版本与 Java 11(可用于 Android 开发的最新版本)进行了比较,并得出了 Kotlin 的一些主要优势:空性、函数式编程、更短的代码、...但 J2K 不是万能的,迁移的有些情况仍然很复杂。 迁移之前,该公司考虑了两个选择: 一个是可以使用 Kotlin Meta 上编写新代码,但将大部分现有代码保留在 Java 。...首先, Kotlin 和 Java 代码之间实现互操作性引入了 Kotlin platform types 的使用。...其他问题包括 Java 无法将类型参数标记为空性(直到最近才修复),以及 Kotlin 的重载规则考虑了空性,而 Java 的重载规则却没有。...由于迁移是一个漫长的过程,期望每个工程师接触文件之前将文件转换为 Kotlin 既费力又低效。” 因此,Meta 方面最终选择了第二条选项,决定将几乎所有代码转换为 Kotlin

69230
领券