SF
Android_开发者
Android_开发者
注册登录
关注博客
注册登录
主页
关于
RSS
实战 | 使用 Kotlin Flow 构建数据流 "管道"
Android开发者
2022-03-23
阅读 10 分钟
2.9k
Flow 是一种基于流的编程模型,本文我们将向大家介绍响应式编程以及其在 Android 开发中的实践,您将了解到如何将生命周期、旋转及切换到后台等状态绑定到 Flow 中,并且测试它们是否能按照预期执行。
前进吧,开发者: Google 官方学习资源首发集结
Android开发者
2021-11-17
阅读 2 分钟
10.3k
Google 开发者在线课程是由 Google 产品团队打造的免费中文在线课程,包含 80+ 文章、110+ 视频深度解析、170+ 引导式编程练习 (Codelab),覆盖 10+ 项 Google 产品或服务。开发者可以借助循序渐进的课程,按自己的节奏学习知识,提升开发技能。
Room & Kotlin 符号的处理
Android开发者
2021-11-04
阅读 7 分钟
3.1k
Jetpack Room 库在 SQLite 上提供了一个抽象层,能够在没有任何样板代码的情况下,提供编译时验证 SQL 查询的能力。它通过处理代码注解和生成 Java 源代码的方式,实现上述行为。
获取数据并绑定到 UI | MAD Skills
Android开发者
2021-11-01
阅读 5 分钟
3.1k
欢迎回到 MAD Skills 系列 课程之 Paging 3.0!在上一篇 Paging 3.0 简介 的文章中,我们讨论了 Paging 库,了解了如何将它融入到应用架构中,并将其整合进了应用的数据层。我们使用了 PagingSource 来为我们的应用获取并使用数据,以及用 PagingConfig 来创建能够提供 Flow<PagingData> 给 UI 消费的 Pager 对象...
使用 Kotlin Symbol Processing 1.0 缩短 Kotlin 构建时间
Android开发者
2021-10-08
阅读 2 分钟
4.4k
Kotlin Symbol Processing (KSP)——用于在 Kotlin 中构建轻量级编译器插件的全新工具现已推出稳定版本!其与 Kotlin 注解处理工具 (KAPT) 的功能相似,但速度提高了 2 倍,同时还可以直接访问 Kotlin 语言结构并支持多个平台目标。
Flow 操作符 shareIn 和 stateIn 使用须知
Android开发者
2021-08-19
阅读 4 分钟
4.6k
Flow.shareIn 与 Flow.stateIn 操作符可以将冷流转换为热流: 它们可以将来自上游冷数据流的信息广播给多个收集者。这两个操作符通常用于提升性能: 在没有收集者时加入缓冲;或者干脆作为一种缓存机制使用。
Room 中的数据库自动迁移功能
Android开发者
2021-07-27
阅读 3 分钟
8.1k
自 2.4.0-alpha01 版本开始,Room 库里新加入了自动迁移的功能,这让数据库迁移的实现变得更简单。以往每当您的数据库 schema 发生变化时,您都必须实现一个 Migration 类,并将实际变化告知 Room,且多数情况下均涉及编写和执行复杂的 SQL 查询。
使用更为安全的方式收集 Android UI 数据流
Android开发者
2021-07-13
阅读 7 分钟
4.3k
在 Android 应用中,通常需要从 UI 层收集 Kotlin 数据流,以便在屏幕上显示数据更新。同时,您也会希望通过收集这些数据流,来避免产生不必要的操作和资源浪费 (包括 CPU 和内存),以及防止在 View 进入后台时泄露数据。
从 LiveData 迁移到 Kotlin 数据流
Android开发者
2021-06-29
阅读 10 分钟
9.1k
LiveData 的历史要追溯到 2017 年。彼时,观察者模式有效简化了开发,但诸如 RxJava 一类的库对新手而言有些太过复杂。为此,架构组件团队打造了 LiveData: 一个专用于 Android 的具备自主生命周期感知能力的可观察的数据存储器类。LiveData 被有意简化设计,这使得开发者很容易上手;而对于较为复杂的交互数据流场景,...
FAQ | 使用 Kotlin 进行 Android 开发
Android开发者
2021-06-23
阅读 3 分钟
2.7k
自从 2017 年我们宣布支持 Kotlin 以来,收到了很多关于使用 Kotlin 进行 Android 开发的问题: 大家想知道现在是否适合学习 Kotlin,是否要在应用开发中引入 Kotlin,学习 Kotlin 的最佳课程或教程是什么,Google 内部是否在使用 Kotlin,以及我们对 Java 编程语言的规划是怎样的?本文将一一作答。
Kotlin 中使用 Hilt 的开发实践
Android开发者
2021-06-04
阅读 5 分钟
5.2k
Hilt 是基于 Dagger 开发的全新的依赖项注入代码库,它简化了 Android 应用中 Dagger 的调用方式。本文通过简短的代码片段为您展示其核心功能以帮助开发者们快速入门 Hilt。
深入浅出协程、线程和并发问题
Android开发者
2021-06-03
阅读 6 分钟
6.1k
"协程是轻量级的线程",相信大家不止一次听到这种说法。但是您真的理解其中的含义吗?恐怕答案是否定的。接下来的内容会告诉大家协程是如何在 Android 运行时中被运行的,它们和线程之间的关系是什么,以及在使用 Java 编程语言线程模型时所遇到的并发问题。
使用 Kotlin 提高生产力
Android开发者
2021-05-06
阅读 4 分钟
2.8k
Kotlin 以其简洁的特性而闻名,而在我们的实践中,更加简洁就意味着更加高效。事实上,在使用 Kotlin 的专业 Android 开发者中,有多达 67% 的人表示 Kotlin 已经帮助他们提升了生产力。在接下来的内容中,我会分享一些 Kotlin 帮助我们的合作伙伴工程师们提高生产力的方式,并为您介绍有助于此的 Kotlin 功能。
Kotlin Vocabulary | Kotlin 内建代理
Android开发者
2021-04-30
阅读 5 分钟
2.7k
代理可以帮助您将任务委托给其他对象,从而带来更佳的代码复用性,您可以从 我们之前的文章 了解到更多信息。Kotlin 不仅可以让您通过 by 关键字轻松实现代理,还在标准库中提供了像 lazy()、observable()、vetoable() 以及 notNull() 这样的内建代理。接下来就让我们开始了解这些内建代理的使用,以及其内部的实现原理。
在 Kotlin 序列化中使用 DataStore
Android开发者
2021-04-29
阅读 4 分钟
1.8k
我们之前已经 分享 了 Proto DataStore 和 Preferences DataStore 的使用方法。这两个 DataStore 版本都会在后台使用 Protos 对数据进行序列化。您也可以使用 Kotlin 序列化,结合使用 DataStore 与自定义数据类。这有助于减少样板代码,且无需学习或依赖于 Protobuf 库,同时仍可以为数据提供架构。
Kotlin Vocabulary | 数据类
Android开发者
2021-04-16
阅读 6 分钟
2.1k
一只小奶狗会有名字、品种以及一堆可爱的特点作为其属性。如果将其建模为一个类,并且只用来保存这些属性数据,那么您应当使用数据类。在使用数据类时,编译器会为您自动生成 toString()、equals() 与 hashCode() 函数,并提供开箱即用的 解构 与拷贝功能,从而帮您简化工作,使您可以专注于那些需要展示的数据。接下来...
Kotlin 和 Jetpack 视频合集 | MAD Skills
Android开发者
2021-04-15
阅读 2 分钟
2.1k
在近期完成的一系列 Modern Android Development (简称 MAD Skills) 的视频和文章中,我们重点关注了 Kotlin 和 Jetpack。我们介绍了多种不同的方法,让 Android 代码更具表现力、更简洁、更安全以及更易于使用 Kotlin 运行异步代码。
优先使用 KTX 库 | MAD Skills
Android开发者
2021-04-14
阅读 5 分钟
2.8k
在 Kotlin 中使用 Android 的 Java API 时,您会迅速意识到这样的做法失去了 Kotlin 语言简单有趣的特点。与其您亲自去编写这些 API 的 wrapper 和扩展函数,不如了解一下 Jetpack KTX 库。目前为止,已有超过 20 个库拥有对应的 KTX 版本,这些 KTX 库实现了常用的 Java 版本 API 的功能,包括 Android 平台 API、ViewM...
使用协程和 Flow 简化 API 设计
Android开发者
2021-04-13
阅读 6 分钟
6.2k
如果您是库作者,您也许希望用户在使用 Kotlin 协程与 Flow 时可以更加轻松地调用您基于 Java 或回调的 API。另外,如果您是 API 的使用者,则可能愿意将第三方 API 界面适配协程,以使它们对 Kotlin 更友好。
使用 Kotlin API 实践 WorkManager
Android开发者
2021-04-12
阅读 4 分钟
2k
WorkManager 提供了一系列 API 可以更加便捷地规划异步任务,即使在应用被关闭之后或者设备重启之后,仍然需要保证立即执行的或者推迟执行的任务被正常处理。对于 Kotlin 开发者,WorkManager 为协程提供了最佳的支持。在本文中,我将通过实践 WorkManager codelab 为大家展示 WorkManager 中与协程相关的基本操作。那么...
Kotlin Vocabulary | 使用 Kotlin 中的扩展提升代码可读性
Android开发者
2021-04-10
阅读 4 分钟
2k
通常您可以通过继承该类,或者创建一个新的函数,该函数接收该类的实例作为参数,从而解决这个问题。Java 编程语言通常使用 Utils 类来解决此类问题,但这样的方式并不支持代码自动补全,会让写出的代码比较难以查找,使用起来也不直观。虽然这两种方式都可以解决问题,但终究还是很难写出简洁易读的代码。
上手使用 Room Kotlin API
Android开发者
2021-04-09
阅读 6 分钟
3.1k
Room 是 SQLite 的封装,它使 Android 对数据库的操作变得非常简单,也是迄今为止我最喜欢的 Jetpack 库。在本文中我会告诉大家如何使用并且测试 Room Kotlin API,同时在介绍过程中,我也会为大家分享其工作原理。
Kotlin Vocabulary | 解构声明详解
Android开发者
2021-04-02
阅读 3 分钟
2.1k
有时候您会想要将一个包含了多个字段的对象分解,以初始化几个单独的变量。为了实现这点,您可以使用 Kotlin 的解构声明功能。继续阅读本文以了解解构的使用、Kotlin 默认提供的类型、如何在您自己的类和您无法控制但认为将会从解构中受益的类中实现解构,以及这一切的内部实现。
Kotlin Symbol Processing (KSP) Alpha 版现已发布
Android开发者
2021-03-03
阅读 2 分钟
1.7k
我们很高兴地向您介绍 Kotlin Symbol Processing (KSP) 的 Alpha 版,帮助您在 Kotlin 中构建轻量级编译器插件的全新工具。KSP 提供的功能类似于 KAPT,但速度提高了 2 倍,可以直接访问 Kotlin 编译器功能,并且开发时充分考虑到了多平台兼容性。
Kotlin Vocabulary | Kotlin 默认参数
Android开发者
2021-01-30
阅读 6 分钟
3.5k
默认参数 是一个简短而易用的功能,它可以让您无需模版代码便可实现函数重载。和 Kotlin 所提供的许多其他功能一样,默认参数会给人一种魔法般的感觉。如果您想要知道其中的奥秘,请继续阅读,本文将会揭晓默认参数内部的工作原理。
使用 Jetpack DataStore 进行数据存储
Android开发者
2021-01-09
阅读 5 分钟
5.8k
作者 / Android 开发技术推广工程师 Florina Muntenescu 与 Google 软件工程师 Rohit Sathyanarayana
Kotlin Vocabulary | Kotlin 委托代理
Android开发者
2020-12-26
阅读 6 分钟
2.4k
当然,委托在软件行业不是什么新鲜名词。委托 (Delegation) 是一种设计模式,在该模式中,对象会委托一个助手 (helper) 对象来处理请求,这个助手对象被称为代理。代理负责代表原始对象处理请求,并使结果可用于原始对象。
WeSing 用 Kotlin 和歌声连接用户 | Android 开发者故事
Android开发者
2020-12-11
阅读 2 分钟
2.1k
"WeSing 这个名字,本身就包含着我们的愿景——大家一起来唱歌吧!就像好友们总是相约去 K 歌一样,WeSing 希望通过歌声将更多的人聚集到一起。"—— Hary Zhang,Team Lead
开始切换到 Kotlin: 谷歌工程师给初学者的知识点总结
Android开发者
2020-12-05
阅读 7 分钟
2k
在 2019 年的 I/O 大会上,我们曾宣布 Kotlin 将会是 Android 应用开发的首选语言,但是,部分开发者们反馈仍不清楚如何切换到 Kotlin,如果团队中没有人熟悉 Kotlin,一开始直接使用 Kotlin 进行项目开发还是会令人生畏。
大众点评用 Kotlin 打造灵活稳定兼备的应用 | Android 开发者故事
Android开发者
2020-12-05
阅读 2 分钟
2k
大众点评是全球最早的消费点评网站之一,成立于 2003 年。进入移动互联网时代后,用户可以在手机上使用大众点评 APP 方便地查询任何一个城市里的餐厅、影院、商场、景点和酒店等信息,并且了解其他用户写下的评价。应用也会依据用户评价数据和专家评价来推出各种榜单,比如 "必系列" 榜单和 "黑珍珠" 系列餐厅评价体系,...
1
(current)
2
3
下一页
1
(current)
下一页