Kotlin与Android SDK 集成(KAD 05)

作者:Antonio Leiva

时间:Dec 19, 2016

原文链接:https://antonioleiva.com/kotlin-integrations-android-sdk/

使用Kotlin语言不仅仅简化你的代码,而且也可以简化从Kotlin调用Java代码。

这是怎样工作的?简单地使用一些通用结构就可以得到Kotlin的感觉。

在这篇文章中,你将看到一些例子,它是怎样提升相同代码。它也预防Java代码包含模板部分。

Kotlin与Android SDK 集成

如Android 框架是基于Java库,之前我们提到的一切关于Java应用都完全适用于Android。

让我们来看一些例子。

映射到属性的getter和setter方法

在前面几篇文章中,我们已经看到getter和setter。这只是解释。

如我们讨论的,Kotlin使用属性而不是 字段+getter+setter,赋值的方式与在Java public域中get一样。

但是我们也知道,简单的赋值可以执行代码,或我们实现的自定义操作。

这类的规则是在Java中找到的任何setX和getX都被映射到Kotlin X。

例如,如果你在用TextView,你可以用类似属性的语句设置text:

1 val textView: TextView = ...
2 textView.text = "My Text"

当然,这可以应用到任何类。你用相同的方法,在Activity能够访问(例如)applicationContext 或者 layoutInflater:

1 layoutInflater.inflate(R.layout.view_item, parent)
2 val hello = applicationContext.getString(R.string.hello)

这不用担心性能,它们事实上是映射到原始的getter和setter方法,所以与直接调用它们一样。

接口方法映射到Lambda表达式

这令人惊奇。对于Android的任何简单事情,不是要创建匿名类吗?而使用Kotlin,你不需要为Android侦听器这样做。

条件是这样:需要一个接口对于一个方法。典型的例子是View类的setOnClickListener。

你能够做这样简单的一句:

1 view.setOnClickListener { navigateToNextActivity() }

看多么容易?

如果你需要从原接口返回视图,你也可以覆盖它:

1 view.setOnClickListener { v -> navigateWithView(v) }

说明:这是什么怪结构?它是Lambda表达式,它表示函数的输入参数是箭头左边定义的方法。箭头右边是函数体,上一行是结果。我们将在后续文章中讨论这些。

结论

在Kotlin项目中,集成其他Java库是很容易的,尤其是Android框架。

如何你要进一步学习Kolin,请加入这个列表,你就可以在你的收件箱中收到这些文章。

时间: 2024-11-03 21:43:56

Kotlin与Android SDK 集成(KAD 05)的相关文章

【笔记】android sdk集成的eclipse中导入项目

android sdk集成的eclipse中导入项目 想要把旧的ADT项目,一模一样的导入进来,需要: 1.把项目放到,非当前ADT的workspace目录下: 2.从Project中Import,选择Existing Android Code into Workspace,就可以正常导入了. 3.导入后,右击MainActivity->Refactor -> Rename,即可去把项目名从默认的MainActivity改为你真正的项目的名字.

shareinstall之Android SDK集成

提示:以下代码(配置)由shareinstall根据当前应用动态生成,开发者可直接使用:按照以下步骤指引,10分钟即可完成Android SDK集成. 一.导入SDK Android SDK 下载 v1.0.6 http://api.shareinstall.com/download/1.0.6/android Android DEMO 下载 v1.0.6 http://api.shareinstall.com/download/1.0.6/androiddemo 从下载的ShareInstal

用Kotlin实现Android定制视图(KAD 06)

作者:Antonio Leiva 时间:Dec 27, 2016 原文链接:https://antonioleiva.com/custom-views-android-kotlin/ 在我们阅读有关class文章时,你可能记得通常情况下仅用一个构造函数.这对于要创建定制视图就是一个问题. Android框架希望有多个构造函数对应不同的创建视图位置和创建视图方法(通过代码.使用XML,设置主题,等等),这样我们就不能忽略这种情况. 为此,Kotlin团队提供了同一个类中有多个构造函数的能力,就如同

Android SDK教程

Android SDK 网络问题解析 Android 客户端网络不稳定,会导致App 有时候无法及时收到 Push 消息. 很多开发者认为这是因为 JPush 推送不稳定.延迟,甚至有时候认为 JPush 后台推送系统出问题了. 本文目的是从各个方面来分析 Android 网络导致的 JPush 不能正常工作的问题. JPush 正常工作的必要条件 首先,我们需要知道,JPush SDK 并不是集成到App 后就必然一直工作的. 其正常工作的必要条件是:JPush SDK 与 JPush Ser

即刻开始使用Kotlin开发Android的12个原因(KAD 30)

作者:Antonio Leiva 时间:Jul, 11, 2017 原文链接:https://antonioleiva.com/reasons-kotlin-android/ 这组文章已到最后了,它们是非常实用的.今天我想谈谈为什么我认为学习Kotlin是非常有趣的. 虽然, Kotlin现在已是官方支持的开发Android APP的编程语言,而你仍可能觉得没有足够的理由进行改变.在这些年以来,Java已经证明其能力,为什么要改变? 这是我认为转换到Kotlin不是一个冒险的赌注,而是你可以做的

Kotlin的android扩展:对findViewById说再见(KAD 04)

作者:Antonio Leiva 时间:Dec 12, 2016 原文链接:http://antonioleiva.com/kotlin-android-extensions/ 你也许已厌倦日复一日使用findViewById编写Android视图.或是你可能放弃它转而使用著名的Butterknife库.那么你将会喜爱Kotlin的Android扩展. Kotlin的Android扩展 Kotlin的Android扩展是Kotlin插件的正规插件之一,它无缝覆盖Activities的视图,Fra

用Kotlin创建第一个Android项目(KAD 01)

原文标题:Create your first Android project using Kotlin (KAD 01) 作者:Antonio Leiva 时间:Nov 21, 2016 原文链接:http://antonioleiva.com/create-first-android-project-kotlin/ 原文作者,开始Kotlin系列课程的第一课:用Kotlin创建第一个Android项目. 今天,我开始一组30篇针对Android开发者的Kotlin语言的论文(KAD).在这系列

Android消息推送 SDK 集成指南

使用提示 本文是 Android SDK 标准的集成指南文档. 匹配的 SDK 版本为:r1.8.0及以后版本. 本文随SDK压缩包分发.在你看到本文时,可能当前的版本与本文已经不是很适配.所以建议关注在线文档: 3 分钟快速 Demo(Android):如果您想要快速地测试.感受下极光推送的效果,请参考本文在几分钟内跑通Demo. 极光推送文档网站上,有极光推送相关的所有指南.API.教程等全部的文档.包括本文档的更新版本,都会及时地发布到该网站上. 极光推送问答网站:大家除了文档之外,还有问

[Android Pro] 开发一流的 Android SDK:Fabric SDK 的创建经验

cp from : https://academy.realm.io/cn/posts/oredev-ty-smith-building-android-sdks-fabric/ Ty Smith Ty 是一个在 Twitter 的 Android 技术负责人,专职于 Fabric 开发工具团队.他曾经负责架构了 Fabric 平台和 Twitter 的 Android SDK,推动了 Digits 和 Twitter SDK 的开源事业,可以说是他一手创建了更大的 Twitter 体系结构.他