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

Android数据库高手秘籍(十),如何在Kotlin更好地使用LitePal

' } 而如果你使用的是Kotlin,那么就在build.gradle引入如下配置: dependencies { implementation 'org.litepal.android:kotlin...在异步查询的onFinish()回调,我们直接得到的并不是查询的对象,而是一个泛型T对象,还需要再经过一次强制转型才能得到真正想要查询的对象。...Song类型了,从而避免了一次强制类型转换。...一次不可思议的升级 从上述文章我们都可以看出,Kotlin版的代码普遍都是比Java代码要更简约的,Google给出的官方统计是,使用Kotlin开发可以减少大约25%以上的代码。...不管是Java还是Kotlin,只要是基于JVM的语言,泛型基本都是通过类型擦除来实现的。也就是说泛型对于类型的约束在编译时期存在,运行时期是无法直接对泛型的类型进行检查的。

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

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

作者 / 软件工程师 Ting-Yuan Huang 和 Jiaxiang Chen Kotlin Symbol Processing (KSP)——用于在 Kotlin 构建轻量级编译器插件的全新工具现已推出稳定版本...为何要构建 KSP 在 Android 团队,我们经常会向开发者提出这样一个问题: 就现阶段而言,开发应用时遇到的最大痛点是什么?其中出现最频繁的问题就是构建速度。...Kotlin 注释处理工具 (KAPT) 通过与 Java 注释处理基础架构相结合,让大部分 Java 语言注释处理器能够在 Kotlin 开箱即用。...但是创建这些存根的成本很高,这意味着编译器必须多次解析程序的所有符号 (一次生成存根,另一次完成实际编译)。 KSP 不使用存根生成模型,而是作为 Kotlin 编译器插件运行。...此举大幅提升了构建速度 (对于 Room 的 Kotlin 测试应用 而言速度提高了 2 倍),同时也意味着 KSP 可以在非 Android 以及非 JVM 环境 ( Kotlin/Native 和

3.7K10

还有Android 11权限变更讲解

真的很遗憾看到,即使在今天,Kotlin在国内仍然还只是少部分开发者群体使用的语言,然而这就是现实。因此,如果PermissionX支持Kotlin语言的话,势必将大部分的开发者都拒之了门外。...因为这3种权限都是属于隐私敏感的权限,如果像过去一样用户同意一次就代表永久授权,可能某些恶意应用会无节制地采集用户信息。在Android 11请求摄像机权限,界面如下图所示。 ?...在Android 10系统,如果我们同时申请前台和后台定位权限,那么将会出现如下界面: ?...但是如果我们在Android 11系统同时申请前台和后台定位权限会怎么样呢?很遗憾地告诉你,会崩溃。...具体思路也是比较简单的,如果应用程序同时申请了前台和后台定位权限,那么就只先忽略后台定位权限,申请前台定位以及其他权限,等所有权限都申请完毕后再单独去申请后台定位权限。 看上去很简单是不是?

1.5K30

Google 推荐在 MVVM 架构中使用 Kotlin Flow

Kotlin Flow 是什么? Kotlin Flow 解决了什么问题? Kotlin Flow 如何在 MVVM 中使用?...Google 推荐在 MVVM 使用 Kotlin Flow Google 推荐在 MVVM 中使用 Kotlin Flow我相信如今几乎所有的 Android 开发者至少都听过 MVVM 架构,在...我相信能够体会到从入门到放弃是什么感觉 解决回调地狱的问题 而相对于以上的不足,Flow 有以下优点: Flow 支持线程切换、背压 Flow 入门的门槛很低,没有那么多傻傻分不清楚的操作符 简单的数据转换与操作符,...map 等等 Flow 是对 Kotlin 协程的扩展,让我们可以像运行同步代码一样运行异步代码,使得代码更加简洁,提高了代码的可读性 易于做单元测试 Kotlin Flow 如何在 MVVM 中使用...Kotlin Flow 在数据源的使用 在 [PokemonGo](https://github.com/hi-dhl/PokemonGo) 项目中,进入详情页,会检查本地是否有数据,如果没有会去请求

4.1K20

Kotlin 语言入门宝典 | Android 开发者 FAQ Vol.5

增加 7000 个方法和 1M 的大小,如果您使用 Kotlin 替换 Guava、RxJava 等其他的库,影响可能会小一些。...如果您在使用遇到了问题请参考以下链接的 “KotlinAndroid Studio 的常见问题” 如何在 Android Studio 中使用 Kotlin?...当有提示出现的时候,点击 “Yes” 将 Java 代码转换为 Kotlin 代码,并且可以勾选 “Don’t show this dialog next time” 来方便您下一次转换。...与此同时,开发者可以依赖 Java 和 Kotlin 的互操作性,将 Java 代码转换为 Android Studio Kotlin 代码。...Kotlin 在运行时可能会在您的 debug APK 增加 7000 个方法和 1M 的大小,如果您使用 Kotlin 替换 Guava、RxJava 等其他的库,影响可能会小一些。

2.5K60

Kotlin Vocabulary | 揭秘协程的 suspend 修饰符

Kotlin 协程把 suspend 修饰符引入到了我们 Android 开发者的日常开发。您是否好奇它的底层工作原理呢?编译器是如何转换我们的代码,使其能够挂起和恢复协程操作的呢?...ko… 协程的进阶使用: Kotlin Flow 和 Live Data codelabs.developers.google.com/codelabs/ad… 协程 101 协程简化了 Android...使用不同的 Dispatcher 您可以在不同的 Dispatcher 间切换,从而做到在不同的线程执行计算。那么 Kotlin 是如何知道从哪里开始恢复挂起的计算的呢?...此时,编译器只需要添加如何在状态之间切换的信息。 首先需要知道的是: 函数是第一次被调用; 函数已经从前一个状态恢复。...您将在下面代码中所见,它将调用 LoginUserStateMachine 存储的 cont 变量的 resume 函数: /* Copyright 2019 Google LLC.

2.2K10

Now in Android #17 —— 最新 Android 动态分享

,原有的 adb 安装速度很慢,即使安装包做了一点点修改。...由于需要在设备级别上更改文件系统,ADB 增量安装 适用于 Pixel 4 / 4XL 设备。所有新推出的 Android 11 设备都将包含这一变化并支持 ADB 增量安装。...在 Kotlin ,object 有几个用法。第一是实现单例类。object 修饰的单例类,其实是通过私有化构造函数并在静态代码块实例化来完成的。...第二种是 companion object ,Kotlin 没有 static 关键字,可以用 companion object 来代替。...上面的文章介绍了 Android 是如何渲染页面的,以及应用如何在 Android 11 上请求不同的刷新率。 AndroidX AndroidX 发布了一些更新(通常是两周发布一次更新)。

1.1K30

这款老牌 “装机必备” 应用,一边用 Kotlin 换血,一边深耕精细市场

△ 品果科技三位联合创始人徐灏、徐滢、顾锐 (左起) 虽然现在很多 Android 旗舰机的自带相机拍照功能越来越强大,第三方相机应用的必要性似乎越来越低。...能在激烈的市场竞争屹立不倒,得益于 Camera360 开发公司成都品果科技对于产品定位的精准拿捏以及最新技术的快速跟进。 这个老牌影像应用是如何在手机自带相机越来越强的冲击下顺利存活的?...这一次,我们带来的是 Camera360 的开发商品果科技的心得与故事。 及时跟进新技术 用 Kotlin "换血" 提效 任何一家技术驱动型公司,都会对热门领域的新技术嗅觉敏感。品果也不例外。...2017 年,Lee 和同事参加 Google I/O 大会时见证了 Kotlin 正式成为 Android 官方语言的时刻,回到成都后,便开始在公司内部推动学习 Kotlin。...在发展初期,Camera360 是记录、创作两手抓,所以早期的一些滤镜 LOMO、复古等,其实都是想让用户更好地记录所见到的世界。

77270

Kotlin 和 Jetpack 视频合集 | MAD Skills

在近期完成的一系列 Modern Android Development (简称 MAD Skills) 的视频和文章,我们重点关注了 Kotlin 和 Jetpack。...我们介绍了多种不同的方法,让 Android 代码更具表现力、更简洁、更安全以及更易于使用 Kotlin 运行异步代码。...优先使用 KTX 库 在本视频,我们探讨了如何通过 Jetpack KTX 扩展 使 Android 和 Jetpack 编码变得轻松、愉悦且符合 Kotlin 习惯。...上手使用 Room Kotlin API 本视频打开了 Room 的大门,一探如何在 Kotlin 创建 Room 表和数据库,以及如何使用 Flow 实现插入和使用可观察的查询等一次性挂起操作。...社区分享 本视频,Magda Miu - Android 的 GDE 分享了她结合使用基础 Kotlin API 与 CameraX 的经验。您可以 点击这里 观看视频。

72420

10 年 Android 开发者经验分享:如何从 0 到 1 开启职业生涯

这意味着,你能在网上( StackOverflow.com 上)找到的任何代码片段都可以转换为 Kotlin。...除了 Java 和 Kotlin 之外,你也可以选择其他语言, C#、JavaScript 等。在本文的后半部分,我们会简要地讨论一下。 2 如何学习 Anroid 开发?...一旦你对如何创建自己的 Android 应用有了一个大概的想法,就可以开始构建了。 这是目前为止最好的学习方式: 它将提供大量你在今后的日常工作需要的技能。...最后,同样重要的是,看看 Android 官方的 Twitter 账户(@AndroidDev)。它非常活跃,经常会分享大量有用的信息。 5 如何在求职时脱颖而出?...这意味着许多公司还没有多少机会使用它,许多公司正在设法弄清楚如何在他们的应用中使用它。目前,很多工作都还没有这个要求。

1.1K30

Kotlin学习日志(四)函数

一、函数的基本用法 函数这个词相信各位不会陌生,而Kotlin也是使用了众多函数的,正所谓面向函数编程。...1.2 输入参数的格式 Kotlin的函数写法与Java的传统写法区别很大,刚从Java开发AndroidKotlin开发Android的朋友会不适应,但是后面你就会明白Kotlin的优势了,这也是Google...我这一顿操作的意义何在呢?不是说默认参数吗?请听我慢慢道来,Kotlin引入了默认参数的概念,允许在定义函数时直接指定输入参数的默认值。...,Kotlin又引进了命名函数的概念,说的是调用函数时可以指定某个参数的名称及其数值,格式“参数名=参数值”,演示代码如下: ?...10点 小写的hh 表示12小时制的两位小时数字,06可同时表示早上6点与傍晚6点,容易产生歧义所以实际开发很少用 小写的mm 表示两位分钟数字,45表示某点45分 小写的ss 表示两位秒钟数字

1.8K10

Kotlin成了Google的亲儿子,现在赶紧来学学

那么,我们该如何在Android应用这门新的语言呢?今天的这篇文章带你学习使用Kotlin开发Android应用,并对比我们传统语言Java,让你真真切切的感受到他的美和优雅。...好了,言归正传,Anko是Kotlin官方开发的一个让开发Android应用更快速更简单的Kotlin库,并且能让我们书写的代码更简单清楚更容易阅读。它包括多个部分,如下 ?...那么接下来,我们就通过代码来理解Kotlin语言开发Android的优势所在。...有时候写的是不是想吐,可能有些人说现在不是有一些注解的库,butterknife,当我们使用注解时可以不用findViewById了,使用方式如下 ?...Anko在Kotlin代码实现这个布局。

1.4K40

一起看 IO | Jetpack 组件的新特性

在 Room 2.4 ,对 Kotlin Symbol Processing (KSP) 的支持已经稳定。在我们针对 Kotlin 代码的基准测试,KSP 相对 KAPT 有两倍的速度提升。...如果想要了解如何在各种 SharedPreferences 的应用场景中使用这一强大的替代方案,您可以查看 MAD Skills: DataStore 系列文章和视频,其中包含了如何测试应用 DataStore...如需了解有关 Paging 3 的更多信息,请参阅 Android 开发者网站全新简化版的教程: Paging Basics Codelab,它描述了如何在包含列表的应用中集成 Paging 库。...架构库指南 针对我们的核心架构库如何协同使用这一问题,您想要了解更多信息,可以观看我们的视频与 文章 合集,这其中涵盖了现代 Android 开发最佳实践系列内容——MAD Skills: 架构。...JankStats 还提供了超越平台内置功能的其他能力: 帮助定位丢帧原因的启发式算法、在报告中提供了额外上下文的界面状态,以及可以用于上传数据以进行分析的报告回调。

3.1K20

Android Studio Arctic Fox (2020.3.1) Beta 版发布

简而言之,这是一次不容错过的升级!✨ 围绕这些主题,Beta 版还有很多功能和改进供您体验,请继续阅读本文或观看下面的演讲,以了解更多亮点。...无论您的应用是完全用 Compose 编写的布局,还是混合使用了 Compose 和 View,Layout Inspector 都能帮助您了解布局如何在设备或模拟器上呈现,获得丰富的细节 (传递给每个...这些扩展控件将为开发者提供强大的工具来在 Android studio 测试应用,导航回放、虚拟传感器和快照。...Kotlin 和原生内存分配。...观看以下演讲视频以了解最新功能,并获得有关如何使用 Android Studio 的技巧和心得: Android 开发工具更新一览 Android Kotlin 最新状态 设计工具更新一览 Android

32520

使用 Kotlin 构建的常见问题解答 | Kotlin 迁移指南 (下篇)

何在 Android Studio 中使用 KotlinAndroid Studio 3.0 及更高版本全面支持 Kotlin。...详情请参阅 "Kotlin 使用入门"。 如何在 Android Studio 调试 Kotlin 代码? Kotlin 代码的调试方法与 Java 代码相同。您不需要执行任何其他操作。...我可以在 Kotlin 调用 Android 或其他 Java 语言库的 API 吗? 可以。Kotlin 与 Java 语言具有互操作性。...如何将 Kotlin 代码添加到我的新项目中? 当您在 Android Studio 创建新项目时,只需选中 Include Kotlin support 复选框即可。...KotlinAndroid 开发能实现协程吗?能实现异步/等候吗? Kotlin 协程目前应该可以实现,但这些特性还处于实验设计阶段。

4.4K20

把 格子衫 改造得更时尚 | Kotlin & Jetpack 最佳实践技巧

重构 Plaid 的目标不仅是修复内容源 API 接口的失效问题,更重要的是应用最新的 Android Jetpack、Kotlin 语言特性和 Android 应用架构指南,因此 Plaid 2.0...Plaid 1.0 起初,我们定位 Plaid 将是一款 Material Design 样例应用,我们希望通过它展示 Material Design 的可以为交互体验带来的改进。...随着 Android 平台不断的改进以及 Kotlin 在全球开发者社区的迅速流行,达到这个目标变得更容易了。...使用 Kotlin (视频) Kotlin 语言有诸多特性 (协程的 suspend 函数、扩展函数和高阶函数等) 可以帮助开发者更好的构建应用。.../plaid 关于 Kotlin 的更多知识,可以参考我们之前发布的内容《31 天,从浅到深轻松学习 Kotlin》,或 点击这里 访问 Android 开发者文档网站。

43140

把 格子衫 改造得更时尚 | Kotlin & Jetpack 最佳实践技巧

重构 Plaid 的目标不仅是修复内容源 API 接口的失效问题,更重要的是应用最新的 Android Jetpack、Kotlin 语言特性和 Android 应用架构指南,因此 Plaid 2.0...Plaid 1.0 起初,我们定位 Plaid 将是一款 Material Design 样例应用,我们希望通过它展示 Material Design 的可以为交互体验带来的改进。...随着 Android 平台不断的改进以及 Kotlin 在全球开发者社区的迅速流行,达到这个目标变得更容易了。...使用 Kotlin (视频) Kotlin 语言有诸多特性 (协程的 suspend 函数、扩展函数和高阶函数等) 可以帮助开发者更好的构建应用。.../pla… 关于 Kotlin 的更多知识,可以参考我们之前发布的内容《31 天,从浅到深轻松学习 Kotlin》,或 点击这里 访问 Android 开发者文档网站。

83830

Android编程权威指南》之Android应用的调试篇

还有信息太多的情况下,可以调整Log Level为Error,让系统输出严重问题日志。或者直接搜索 “FATAL EXCEPTION”,直接定位到崩溃异常。...如图,模拟一个崩溃日志: 异常日志 注意,Android应用编译,Kotlin代码会被编译为和Java代码同样的低级字节码,所以即使是用kotlin来编写代码,会看到java.lang异常也不用觉得太奇怪...地址:https://jaeger.itscoder.com/android/2016/02/14/android-studio-tips.html 小总结: 打印Log日志的优点是,在同一日志记录可以看到多处的栈跟踪信息...^_^ 挑战练习:探索布局检查器 Tools → Layout Inspector 可用交互的方式检查布局文件,研究它是如何在屏幕上渲染显示的。...挑战练习:探索Android性能分析器 Android Studio 3.0 及更高版本Android Profiler 取代了 Android Monitor 工具。

77220
领券