Google I/O 2021: 在重要时刻提供帮助

2021-05-19
阅读 4 分钟
11.4k
很高兴今年能重新举办我们的 I/O 开发者大会。今天早上驾车进入山景城园区时,我有了一种久违的回归正常的感觉。当然,如果没有我们的开发者社群来到现场,一切都将有所不同。在过去的一年里,新冠肺炎疫情给全球的社区都带来了深刻的影响,并仍在继续造成损失。像巴西和我的故乡印度,现在正在经历着疫情爆发以来最艰难...
封面图

一起看 I/O | Android 12 Beta 版发布,诸多亮点不容错过

2021-05-19
阅读 5 分钟
36.9k
今天在 Google I/O 大会上,我们发布了 Android 12 的第一个 Beta 版。Android 12 是我们有史以来最具雄心的版本之一,我们致力于创造一套能适应您的需求的全新用户界面,提高性能,同时将隐私和安全置于核心。对于开发者来说,我们为大家提供了更多的工具,方便您在手机、笔记本电脑、平板电脑、可穿戴设备、电视和汽车...
封面图

Android Studio 4.2 现已发布!

2021-05-18
阅读 4 分钟
6.2k
我们高兴地宣布,Android Studio 4.2 现已发布,并可以从稳定版发布渠道中下载。此版本的重心在于推出经过升级的 IntelliJ 平台以及一些新功能,这些新功能旨在提高 Android 应用开发者的工作效率。
封面图

Google I/O 2021 中文直播全攻略,即刻收藏

2021-05-17
阅读 1 分钟
3.5k
5 月 19 日凌晨 00:40 (明天晚上)Google I/O 2021 将正式开幕今年大会以 "全线上" 形式强势回归让您足不出户,享受科技盛宴更有实时中文翻译,为您第一时间带来创新科技灵感和前沿产品资讯精彩内容不容错过赶紧调好闹钟准时和全球开发者共赴盛会还不知道如何线上参与?别着急,本地直播攻略立即奉上!当天会有...
封面图

别让引入的 SDK 和第三方库导致您应用被下架!

2021-05-14
阅读 3 分钟
4k
或许您的应用正在使用一些第三方 SDK 或者代码库,毕竟 "站在巨人的肩膀上" 比从头开始最基础的应用开发更节省时间。作为应用开发者,您需要为应用的整体情况负责,包括用户体验和您的代码,当然,也包含第三方 SDK 和代码库。
封面图

RecyclerView | 在 RecyclerView 中使用 ListAdapter

2021-05-13
阅读 3 分钟
5.4k
本文是介绍 RecyclerView 入门 系列文章 的第二篇。如果您已经对创建 RecyclerView 有了一定的认识,请继续阅读本文。如果尚未熟悉,建议您首先阅读本系列中的 第一篇文章。
封面图

在 Android 中通过 Hilt 进行依赖项注入

2021-05-12
阅读 3 分钟
3.6k
DI (依赖项注入) 是一种在程序设计中被广泛使用的技术,非常适合 Android 开发,该技术可以将依赖项提供给类,从而让类不必自己创建这些依赖。通过遵循 DI 原则,您将为良好的应用架构、更高的代码复用性和便捷的测试奠定基础。您是否尝试过在应用中进行手动依赖项注入?即使使用了当今许多现有的依赖项注入库,随着您的...
封面图

Google Play 新增安全模块,让应用对数据的使用更透明

2021-05-11
阅读 2 分钟
2.4k
在我们与开发者的密切合作下,Google Play 成为了一个 安全 且值得信赖的空间,为数十亿用户提供最新的 Android 应用体验。现在,我们将在 Google Play 中引入安全模块,帮助用户理解应用收集或共享的数据,该数据是否受保护,以及其他影响隐私和安全的详细信息。
封面图

Android 应用启动性能 | 延迟初始化

2021-05-10
阅读 6 分钟
5.7k
在 上一篇文章 中,我展示了 content provider (它出现在应用合并后的 manifest 文件) 是如何在应用启动的时候自动加载第三方库以及模块的。
封面图

Compose Preview 的 UX 设计之旅

2021-05-07
阅读 6 分钟
2.7k
本文由来自 Android Developer UX 团队的 Preethi Srinivas (UX 研究员) 和 Paris Hsu (交互设计师) 所撰写。
封面图

使用 Kotlin 提高生产力

2021-05-06
阅读 4 分钟
2.6k
Kotlin 以其简洁的特性而闻名,而在我们的实践中,更加简洁就意味着更加高效。事实上,在使用 Kotlin 的专业 Android 开发者中,有多达 67% 的人表示 Kotlin 已经帮助他们提升了生产力。在接下来的内容中,我会分享一些 Kotlin 帮助我们的合作伙伴工程师们提高生产力的方式,并为您介绍有助于此的 Kotlin 功能。
封面图

Kotlin Vocabulary | Kotlin 内建代理

2021-04-30
阅读 5 分钟
2.6k
代理可以帮助您将任务委托给其他对象,从而带来更佳的代码复用性,您可以从 我们之前的文章 了解到更多信息。Kotlin 不仅可以让您通过 by 关键字轻松实现代理,还在标准库中提供了像 lazy()、observable()、vetoable() 以及 notNull() 这样的内建代理。接下来就让我们开始了解这些内建代理的使用,以及其内部的实现原理。
封面图

在 Kotlin 序列化中使用 DataStore

2021-04-29
阅读 4 分钟
1.7k
我们之前已经 分享 了 Proto DataStore 和 Preferences DataStore 的使用方法。这两个 DataStore 版本都会在后台使用 Protos 对数据进行序列化。您也可以使用 Kotlin 序列化,结合使用 DataStore 与自定义数据类。这有助于减少样板代码,且无需学习或依赖于 Protobuf 库,同时仍可以为数据提供架构。
封面图

Hilt 新组件 | ViewModelComponent

2021-04-28
阅读 3 分钟
2.3k
在 ViewModelComponent 添加到 Hilt 之前,ViewModel 类通过 ActivityRetainedComponent创建和注入。因此,ViewModel 中的依赖项仅可以使用未限定作用域、或是将作用域限定到 SingletonComponent 或 ActivityRetainedComponent 中,被所有 ViewModel 共享实例的类型。
封面图

2020 年,我们如何应对恶意应用和开发者

2021-04-27
阅读 2 分钟
1.5k
多年来,向数十亿用户和数百万 Android 开发者提供安全的体验,是 Google Play 的首要任务之一。去年,我们推出了新政策,改进了系统,并进一步优化了流程,以更好地保护我们的用户,支持优秀的开发者,以及增强我们防范恶意应用和开发者的能力。此外,在 2020 年,Google Play 保护机制每天都在数十亿台设备上扫描超过...
封面图

WorkManager 系列课程 | MAD Skills

2021-04-27
阅读 2 分钟
1.7k
我们在不久前刚刚结束了一个 关于 WorkManager 的 MAD Skills 系列课程。在系列的最开始,我们为新接触的开发者们介绍了 WorkManager,随后,我们深入探讨了该库的高级用途,包括如何测试和调试您的 WorkManager 代码。在最后一集中,我们介绍了如何将 GCMNetworkManager 和 FirebaseJobDispatcher 中的旧代码迁移到 Wor...
封面图

Google Play 政策更新提醒与重点解读 | 2021 年 4 月

2021-04-26
阅读 4 分钟
4.2k
2021 年 5 月 5 日生效的有关现金游戏和竞赛的政策更新我们更新了与此相关的政策,包含:允许发布此类应用的国家和地区,以及会员回馈活动的新的要求,相关的内容请点击下面链接查看:[链接]
封面图

持续集成环境下的 Android 模拟器

2021-04-26
阅读 3 分钟
4.3k
实现在持续集成环境中为您的应用运行测试的能力,是确保产品质量的重要一步。然而,通过创建镜像来为持续集成计算机重新创建稳定的环境是一个颇具挑战性的任务。作为应对挑战的第一步,您可以使用预构建容器或脚本为 Linux 创建 Docker 镜像。在本文中,我将会向您阐述如何使用预构建容器,以及脚本都做了哪些工作。
封面图

发动引擎: 将全新 Android Auto 应用发布到生产环境!

2021-04-22
阅读 1 分钟
2k
作为 Jetpack 的一部分,我们在三月发布了 Android for Cars 应用库,且大多数开发者也已完成了相关迁移工作!这不仅获得了合作伙伴的广泛认可,也收获了一大批驾驶员朋友的热情,我们的各项质量指标也很积极。

欢迎体验 | Android 12 开发者预览版 3

2021-04-22
阅读 5 分钟
2.5k
几周后就是大家翘首以盼的 Google I/O 2021,我们已经迫不及待想要和大家分享 Android 相关的最新消息了!在这之前,我们为大家带来了 Android 12 最新的里程碑版本: 开发者预览版 3,欢迎大家试用和分享反馈。
封面图

应用启动性能 | 介绍 App Startup 库

2021-04-21
阅读 4 分钟
2k
首先我注意到的是它的名字 —— 应用启动,其表明这个库的功能可能比它字面上的意义更广泛。这个库并不涉及普通的启动 (起码目前如此)。它主要是为了降低由 content provider 初始化导致的对应用启动速度的影响。
封面图

Android 嵌套 Intent

2021-04-20
阅读 3 分钟
2.8k
比如,一个 Intent 接受了另一个 Intent 作为它的 Extra 参数,并将其作为参数通过 startActivity() 进行调用。
封面图

测试应用启动性能

2021-04-19
阅读 6 分钟
2.5k
用于测试启动的 Shell 命令本文的编写目的,更多的在于介绍性能、启动测试以及我进行启动测试背后的原因。但如果您只是希望能够快速获得结论,可以直接参考下面的内容:尽可能锁定 CPU 主频 (请参阅下文);在命令行运行如下命令 (保证您的设备处于连接状态)。 {代码...} 上面的命令会循环 100 次: 启动应用、输出启动过程...
封面图

Kotlin Vocabulary | 数据类

2021-04-16
阅读 6 分钟
2k
一只小奶狗会有名字、品种以及一堆可爱的特点作为其属性。如果将其建模为一个类,并且只用来保存这些属性数据,那么您应当使用数据类。在使用数据类时,编译器会为您自动生成 toString()、equals() 与 hashCode() 函数,并提供开箱即用的 解构 与拷贝功能,从而帮您简化工作,使您可以专注于那些需要展示的数据。接下来...
封面图

Kotlin 和 Jetpack 视频合集 | MAD Skills

2021-04-15
阅读 2 分钟
2k
在近期完成的一系列 Modern Android Development (简称 MAD Skills) 的视频和文章中,我们重点关注了 Kotlin 和 Jetpack。我们介绍了多种不同的方法,让 Android 代码更具表现力、更简洁、更安全以及更易于使用 Kotlin 运行异步代码。
封面图

优先使用 KTX 库 | MAD Skills

2021-04-14
阅读 5 分钟
2.6k
在 Kotlin 中使用 Android 的 Java API 时,您会迅速意识到这样的做法失去了 Kotlin 语言简单有趣的特点。与其您亲自去编写这些 API 的 wrapper 和扩展函数,不如了解一下 Jetpack KTX 库。目前为止,已有超过 20 个库拥有对应的 KTX 版本,这些 KTX 库实现了常用的 Java 版本 API 的功能,包括 Android 平台 API、ViewM...
封面图

使用协程和 Flow 简化 API 设计

2021-04-13
阅读 6 分钟
5.9k
如果您是库作者,您也许希望用户在使用 Kotlin 协程与 Flow 时可以更加轻松地调用您基于 Java 或回调的 API。另外,如果您是 API 的使用者,则可能愿意将第三方 API 界面适配协程,以使它们对 Kotlin 更友好。
封面图

使用 Kotlin API 实践 WorkManager

2021-04-12
阅读 4 分钟
1.9k
WorkManager 提供了一系列 API 可以更加便捷地规划异步任务,即使在应用被关闭之后或者设备重启之后,仍然需要保证立即执行的或者推迟执行的任务被正常处理。对于 Kotlin 开发者,WorkManager 为协程提供了最佳的支持。在本文中,我将通过实践 WorkManager codelab 为大家展示 WorkManager 中与协程相关的基本操作。那么...
封面图

Kotlin Vocabulary | 使用 Kotlin 中的扩展提升代码可读性

2021-04-10
阅读 4 分钟
1.8k
通常您可以通过继承该类,或者创建一个新的函数,该函数接收该类的实例作为参数,从而解决这个问题。Java 编程语言通常使用 Utils 类来解决此类问题,但这样的方式并不支持代码自动补全,会让写出的代码比较难以查找,使用起来也不直观。虽然这两种方式都可以解决问题,但终究还是很难写出简洁易读的代码。
封面图

政策更新 | 开发者如何处理软件包可见性

2021-04-09
阅读 3 分钟
2.2k
我们正在 Android 平台上进行多项变更来增强用户隐私和平台安全性,旨在为用户提供更安全的体验。以 Android 11 (API 级别 30) 或更高版本为目标的应用默认将只能获取 过滤后的已安装应用列表。如需访问过滤后列表以外的应用,则需要在应用内的 Android manifest 中使用 <queries> 元素声明需要与之交互的应用。本...
封面图