首页
学习
活动
专区
工具
TVP
发布

Android 开发者

专栏成员
626
文章
796510
阅读量
64
订阅数
R8 编译器: 为 Kotlin 库和应用 "瘦身"
R8 是 Android 默认的程序缩减器,它可以通过移除未使用的代码和优化其余代码的方式降低 Android 应用大小,R8 同时也支持缩减 Android 库大小。除了生成更小的库文件,库压缩操作还可以隐藏开发库里的新特性,等到这些特性相对稳定或者可以面向公众的时候再对外开放。
Android 开发者
2022-09-23
8890
中国电信营业厅: 感受 Kotlin 的 "加速度"
中国电信电子渠道运营中心,属于中国电信三大主渠道之一,负责电信线上渠道的管理与运营。电信营业厅 app 则是中国电信线上渠道的主要入口。目前该应用的注册用户超过 2 亿,月活跃用户接近 6,000 万,月交易额在 10 亿以上。
Android 开发者
2022-09-23
4770
在 Kotlin 中使用 Dagger 会遇到的陷阱和优化方法
Dagger 在 Android 开发中相当流行,它是一个提供完全静态和在编译时生成代码的依赖注入框架,它解决了很多基于反射而实现的方案中所遇到的开发和性能问题。
Android 开发者
2022-09-23
1K0
Kotlin Vocabulary | 唯一的 \"对象\"
在 Java 语言中,static 关键字主要用于表明方法和属性是属于某个对象,而不是属于对象的实例。static 关键字也用于创建 Singleton (单例),单例模式是非常常见的设计模式,它可以帮您创建某个对象的唯一实例,并且其它对象也可以访问和分享该实例。
Android 开发者
2022-09-23
1.5K0
为 CameraX ImageAnalysis 进行 YUV 到 RGB 的转换
CameraX 是一个旨在帮助开发者简化相机应用开发工作的 Jetpack 支持库。它支持多种诸如 ImageCapture、Preview 和 ImageAnalysis 这种可以和 ML Kit 或 TensorFlow Lite 无缝结合的使用场景。这为文本识别、图像标记等应用的开发提供了可能,甚至还可以支持使用开发者自己训练的 TensorFlow Lite 模型进行物体的识别和检测。然而,在 CameraX 和这些库之间进行图像格式转换的工作还是比较费时费力的。本文我们会介绍最近为 CameraX ImageAnalysis 带来的新功能,支持从 YUV 到 RGB 的转换,我们会介绍一些背景知识,为什么会引入该功能,并会以少量的示例代码来介绍如何使用它。
Android 开发者
2022-03-24
1.8K0
Hilt 工作原理 | MAD Skills
本文是 MAD Skills 系列中有关 Hilt 的第三篇文章。我们将深入探讨 Hilt 的工作原理。
Android 开发者
2022-03-10
1.5K0
使用 Kotlin Symbol Processing 1.0 缩短 Kotlin 构建时间
作者 / 软件工程师 Ting-Yuan Huang 和 Jiaxiang Chen
Android 开发者
2022-03-10
3.7K0
使用 Kotlin 重写 AOSP 日历应用
两年前,Android 开源项目 (AOSP) 应用 团队开始使用 Kotlin 替代 Java 重构 AOSP 应用。之所以重构主要有两个原因: 一是确保 AOSP 应用能够遵循 Android 最佳实践,另外则是提供优先使用 Kotlin 进行应用开发的良好范例。Kotlin 之所以具有强大的吸引力,原因之一是其简洁的语法,很多情况下用 Kotlin 编写的代码块的代码数量相比于功能相同的 Java 代码块要更少一些。此外,Kotlin 这种具有丰富表现力的编程语言还具有其他各种优点,例如:
Android 开发者
2022-03-09
1.2K0
可折叠设备的桌面模式
可折叠设备向用户们提供了使用他们的手机做更多事情的可能性,包括*桌面模式**等创新,也就是当手机平放时,铰链处于水平位置,同时折叠屏幕处于部分打开的状态。
Android 开发者
2022-03-09
2.4K0
欢迎体验 Android 游戏开发工具包
作者 / Android Games 产品经理 Scott Carbon-Ogden
Android 开发者
2022-03-09
9260
FAQ | 使用 Kotlin 进行 Android 开发
自从 2017 年我们宣布支持 Kotlin 以来,收到了很多关于使用 Kotlin 进行 Android 开发的问题: 大家想知道现在是否适合学习 Kotlin,是否要在应用开发中引入 Kotlin,学习 Kotlin 的最佳课程或教程是什么,Google 内部是否在使用 Kotlin,以及我们对 Java 编程语言的规划是怎样的?本文将一一作答。
Android 开发者
2022-03-09
8380
深入浅出协程、线程和并发问题
"协程是轻量级的线程",相信大家不止一次听到这种说法。但是您真的理解其中的含义吗?恐怕答案是否定的。接下来的内容会告诉大家协程是如何在 Android 运行时中被运行的,它们和线程之间的关系是什么,以及在使用 Java 编程语言线程模型时所遇到的并发问题。
Android 开发者
2022-03-09
5820
Kotlin Vocabulary | 数据类
一只小奶狗会有名字、品种以及一堆可爱的特点作为其属性。如果将其建模为一个类,并且只用来保存这些属性数据,那么您应当使用数据类。在使用数据类时,编译器会为您自动生成 toString()、equals() 与 hashCode() 函数,并提供开箱即用的 解构 与拷贝功能,从而帮您简化工作,使您可以专注于那些需要展示的数据。接下来本文将会带您了解数据类的其他好处、限制以及其实现的内部原理。
Android 开发者
2022-03-09
5460
优先使用 KTX 库 | MAD Skills
在 Kotlin 中使用 Android 的 Java API 时,您会迅速意识到这样的做法失去了 Kotlin 语言简单有趣的特点。与其您亲自去编写这些 API 的 wrapper 和扩展函数,不如了解一下 Jetpack KTX 库。目前为止,已有超过 20 个库拥有对应的 KTX 版本,这些 KTX 库实现了常用的 Java 版本 API 的功能,包括 Android 平台 API、ViewModels、SQLite,甚至还有 Play Core。本文会介绍目前可用的 KTX API 并深入其中去分析它们是如何实现的。
Android 开发者
2022-03-09
1.1K0
使用协程和 Flow 简化 API 设计
如果您是库作者,您也许希望用户在使用 Kotlin 协程与 Flow 时可以更加轻松地调用您基于 Java 或回调的 API。另外,如果您是 API 的使用者,则可能愿意将第三方 API 界面适配协程,以使它们对 Kotlin 更友好。
Android 开发者
2022-03-09
1.6K0
Kotlin Vocabulary | 使用 Kotlin 中的扩展提升代码可读性
通常您可以通过继承该类,或者创建一个新的函数,该函数接收该类的实例作为参数,从而解决这个问题。Java 编程语言通常使用 Utils 类来解决此类问题,但这样的方式并不支持代码自动补全,会让写出的代码比较难以查找,使用起来也不直观。虽然这两种方式都可以解决问题,但终究还是很难写出简洁易读的代码。
Android 开发者
2022-03-09
1.3K0
Kotlin Vocabulary | Kotlin 默认参数
默认参数 是一个简短而易用的功能,它可以让您无需模版代码便可实现函数重载。和 Kotlin 所提供的许多其他功能一样,默认参数会给人一种魔法般的感觉。如果您想要知道其中的奥秘,请继续阅读,本文将会揭晓默认参数内部的工作原理。
Android 开发者
2021-02-02
1.4K0
使用 R8 压缩您的应用
作者 / Google 软件工程师 SørenGjesse 和 Christoffer Adamsen
Android 开发者
2021-01-07
1.3K0
Kotlin Vocabulary | Kotlin 委托代理
有时候,完成一些工作的方法是将它们委托给别人。这里不是在建议您将自己的工作委托给朋友去做,而是在说将一个对象的工作委托给另一个对象。
Android 开发者
2020-12-29
2K0
开始切换到 Kotlin: 谷歌工程师给初学者的知识点总结
在 2019 年的 I/O 大会上,我们曾宣布 Kotlin 将会是 Android 应用开发的首选语言,但是,部分开发者们反馈仍不清楚如何切换到 Kotlin,如果团队中没有人熟悉 Kotlin,一开始直接使用 Kotlin 进行项目开发还是会令人生畏。
Android 开发者
2020-12-07
8730
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档