【编程语言】Kotlin之扩展函数】的更多相关文章

简介: 平时Android开发中会使用各种各样的工具类函数,大部分工具类都是对原有对象的一种扩展,例如: public static void startActivity(Activity act, Class clz){ Intent intent = new Intent(act, clz); act.startActivity(intent); } 对于这种形式,Kotlin给与我们提供更加方便的调用形式,不需要在调用的时候传入操作对象(例如上面代码的Activity类型函数形参),这就是…
第一时间关注程序猿(媛)身边的故事 谷歌钦定的编程语言Kotlin大揭秘 语法+高级特性+实现原理:移动开发者升职加薪宝典! 谷歌作为世界级的科技公司巨头,强悍的技术研发与创新能力使其一直是业界的楷模,其在各个领域的每一次创新,都能够引领一个新的时代! Kotlin便是其最新的一个创新力作. 这几年互联网领域先后经历了几次大革命,包括物联网.大数据.云计算等,如今则处于人工智能的火热时代.在这个时代,人们极其努力地开启机器智慧,在大数据样本下,通过算法,让机器进行一定的模糊识别,从而解决很多传统…
作者:Antonio Leiva 时间:Jan 11, 2017 原文链接:https://antonioleiva.com/extension-functions-kotlin/ 扩展函数是Kotlin提供的非常酷的特性,在编写Android应用程序时,你将发现自己会大量使用它. 我们必须承认Android框架有时做些事有点困难,在Java中我们唯一的解决方案是把我们要做事封装起来,或利用可读性差的类静态方法. 你想怎样才能加额外函数到框架类?这就是Kotlin扩展函数允许我们做的. Kotl…
通过前面两篇文章,我们学习了Kotlin的基本知识,并知道如何配置工程,本文将接着介绍Java没有的而Kotlin实现了的有趣的特性.记住当你对Kotlin语言有任何疑问时,请参考官方指南.该指南组织的很好,而且容易理解,本文将不会介绍语言的基本知识. 扩展函数 Kotlin的扩展函数功能使得我们可以为现有的类添加新的函数,而不用修改原来的类.例如,我们可以为一个activity添加一个新函数,用于显示一个toast: fun Activity.toast(message: CharSequen…
过去一年,使用 Kotlin 来为安卓开发的人越来越多.即使那些现在还没有使用这个语言的开发者,也会对这个语言的精髓产生共鸣,它给现在 Java 开发增加了简单并且强大的范式.Jake Wharton 在他的 Øredev 的讨论中,提到了 Kotlin 是如何通过提升安卓开发的语言特性和设计模式来解决这些严重的问题,通过这些方法你可以清除那些无用的 API 还有无效代码.充分利用扩展特性来解决你的开发中的模板性代码的问题!   为什么要推广这个语言?   好吧,大伙.欢迎来到这里.我们今天的主…
几个月前接触过scala,当时下载一个库用maven引入,弄了很久,后来觉得没起一个项目有点重量级,一次偶然机会在升级idea的时候,发现jetbrains官网出了一门新的jvm编程语言kotlin,官网介绍100%兼容java,于是就找官网的demo体验了下,发觉真的很不错,语言简洁,功能强大. 以前做.NET开发的时候,那会jetbrains出的resharper插件是标配,非常好用,重构功能,提示,单元测试等非常强大,这也是我后来做java为什么选用idea的原因,相信idea在kotli…
本文由微信开发团队工程是由“oneliang”原创发表于WeMobileDev公众号,内容稍有改动. 1.引言   Kotlin 是一个用于现代多平台应用的静态编程语言,由 JetBrains 开发(也就是开发了号称Java界最智能的集成开发工具IntelliJ IDEA的公司).Kotlin可以编译成Java字节码(就像Groovy和Scala一样),也可以编译成JavaScript,方便在没有JVM的设备上运行.Kotlin已于2017年的Google I/O开发者大会上正式被宣布为Andr…
Kotlin 参考 官网 reference kotlin实战 Try Kotlin Kotlin China Github 简介 Kotlin是一门把Java平台作为目标的新的编程语言.它简洁.安全.优雅而且专注于和Java代码间的互操作性.它几乎可以用于如今Java遍及的所有地方. Kotlin是静态类型的,支持类型推断的,在保持代码精简的同时维持准确性和性能. kotlin同时支持面向对象和函数式编程风格,通过把函数放在一等公民的位置实现更高层次的抽象,通过支持不可变值简化了测试和多线程开…
导语:2017年Google IO大会宣布使用Kotlin作为Android的官方开发语言,相比较与典型的面相对象的JAVA语言,Kotlin作为一种新式的函数式编程语言,也有人称之为Android平台的Swift语言. 本文由腾讯Bugly发表在腾讯云+社区 先让我们看下实现同样的功能,Java和Kotiln的对比: // JAVA,20多行代码,充斥着findViewById,类型转换,匿名内部类这样的无意义代码 public class MainJavaActivity extends A…
Activity的活动页面跳转是App最常用的功能之一,在前几章的demo源码中便多次见到了,常常是点击界面上的某个按钮,然后跳转到与之对应的下一个页面.对于App开发者来说,该功能的实现非常普通,使用Java编码不过以下两行代码而已: Intent intent = new Intent(MainActivity.this, LinearLayoutActivity.class); startActivity(intent); 上面代码的关键之处在于Intent的构造函数,其中第一个参数指定了…
前面介绍了,使用扩展函数可以很方便地扩充数组Array的处理功能,例如交换两个数组元素.求数组的最大元素等等.那么除了数组之外,日期和时间的相关操作,也是很常见的,比如获取当前日期,获取当前时间.获取指定格式的日期时间等等.因此,基本上每个Java书写的Android工程,都需要一个类似DateUtil.java的工具类,用于获得不同格式的时间字符串,下面代码便是一个实现了基础时间拼接的日期工具类例子: public class DateUtil { //获取当前完整的日期和时间 public…
函数声明: fun plus(a:Int,b:String):Boolean{ //fun 函数名(参数名:参数类型,参数名:参数类型):返回值类型 println(a) return true //返回值 } 集合: Kotlin可以使用Java声明集合的方法,也有自己的声明方式. //Java方式 val a=ArrayList<Int>() //Kotlin方式 val b=arrayListOf<Int>() 顶层函数和属性: Kotlin中没有static修饰符. 为了消…
2017年11月GitHub上最热门的Java项目出炉~ 一起来看看这些项目你使用过哪些呢? 1分布式 RPC 服务框架 dubbohttps://github.com/alibaba/dubbo Star 13970 本月上涨1666 ?wx_fmt=jpeg&wxfrom=5&wx_lazy=1 Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成.主要核心部件:Remoting: 网络通…
这是关于Kotlin的第三篇. 原文标题:Kotlin for Android (III): Extension functions and default values 原文链接:http://antonioleiva.com/kotlin-android-extension-functions/ 原文作者:Antonio Leiva(http://antonioleiva.com/about/) 原文发布:2015-04-06 在你了解Kotlin的基本知识和怎样配置你的项目后,现在我们可以…
作为coder,大家当然关心自己所使用语言的应用趋势.要是几年后所用语言变得默默无闻,那岂不是之前的知识储备与经验积累都会大打折扣.TIOBE排行榜是根据互联网上有经验的程序员.课程和第三方厂商的数量,并使用搜索引擎(如Google.Bing.Yahoo!)以及Wikipedia.Amazon.YouTube统计出排名数据,只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少. 本期排名(201706) 2017年6月,最新一期的TIOBE编程语言排行已…
转瞬之间,今年已进入为期不足一个月的倒计时模式.在编程语言界,谁将问鼎 2017 年度编程语言?诸多开发者众说纷纭,有人说是最近风头正盛且被纳入中国高考科目的 Python.有人认为还是老牌常青藤 Java.亦有人赞成是今年刚被 Google 拥抱的 Kotlin? 然而根据最新的 TIOBE 12 月编程语言排行榜来看,年度最佳候选人除了以上猜中的一个 Kotlin 之外,我们还发现了一个意想不到的候选人——C 语言. 年度编程语言最佳候选人:Kotlin vs. C 对于较新的 Kotlin…
从长远来看,排名前10的也基本上是Java.C.C++.Python.C#.VB.PHP.JavaScript.至于Kotlin的排名,11月份在编程语言仅排41名,Ratings仅有0.216%. 曾看到一个理论是说,看一个事物还能存在多久,首先要看看它已经存在了多久.如果一门编程语言已经存在了20年,那么它在20年后也不会消失.像C.VB这样的语言,至今仍然能够在编程语言排行榜中占据非常重要的位置. Kotlin语言中文站官方网站已经有非常详细的说明,这里我只想说下我刚刚接触Kotlin两天…
kotlin 扩展函数 https://www.kotlincn.net/docs/reference/extensions.html 扩展函数在android中的应用 fun AppCompatActivity.replaceFragmentInActivity(fragment: Fragment, @IdRes frameId: Int) { supportFragmentManager.transact { replace(frameId, fragment) } } fun AppCo…
今年 5 月,谷歌在 I/O 大会上宣布,Kotlin 编程语言成为其 Android 应用程序开发人员的首选语言. Kotlin 是一种面向现代多平台应用程序的编程语言,成为谷歌开发 Android 应用程序的首选语言后,许多开发人员逐渐地从 Java 转向 Kotlin.根据最新的一项调查显示,有 62% 的开发人员使用 Kotlin 来构建移动应用程序,另有 41% 的开发人员使用 Kotlin 来构建 Web 后端项目. 而随着 Kotlin 的出现,越来越多的知名组织愈加重视移动应用程…
利用Kotlin扩展函数实现View的点击处理(点击效果和防止快速点击) kotlin经典写法: view?.setOnClickListener { //实现 } 项目实践证明,这种写法存在问题 例如:项目中有支付功能,发起支付时会向后台提交数据,如果此时用户手抖(狗头)就会多次提交,可能创建了2个订单 例如:需要点击跳转页面时由于点击抖动,跳转了不止一次 优化抖动写法: val minTime = 500L//这是间隔多少毫秒var lastTime = 0L val tmpTime = S…
本文承接上一篇文章:让你的代码量减少3倍!使用kotlin开发Android(一) 创建Kotlin工程 本文同步自博主的私人博客wing的地方酒馆 上一节说到,kotlin可以省去getter,setter,和findviewbyid,可以看到已经能去除掉不少代码了.本篇再带给大家一篇秘笈,叫做函数扩展. 函数扩展是什么东东捏,一般来说,我们扩展一个类,需要去继承来实现,不过这样又要写N多代码呀~~ 标题说了,kotlin能让你的代码量减少至少3倍!不信?快来跟我看看! 来让我们先把布局的Te…
在一个体重秤项目里面使用Kotlin开发,考虑到项目比较小型轻量,所以和团队申请决定使用Kotlin开发,以此熟悉和尝试一下Kotlin. 首先使用Kotlin之后,发现能和Java很好的兼容一起,开发体验很不错.在开发过程中,遇到了需要使用匿名内部类的场景,然后就了解到Kotlin的object关键字. object关键字: 在Kotlin中,object通常有三个用途: 对象表达式 对象声明 伴生对象 对象表达式 对象表达式可以实现Java中匿名内部类的效果,但比Java更加友好. (1)K…
开始阅读Kotlin官方文档.先上文档目录.有些内容还未阅读,有些目录标目翻译还需琢磨琢磨.后续再将具体内容的链接逐步加上. 文档链接:https://kotlinlang.org/docs/kotlin-docs.pdf 网页链接:https://kotlinlang.org/docs/reference/ 1. 入门1.1.基本语法1.1.1. 定义包1.1.2. 定义函数1.1.3. 定义局部变量1.1.4. 使用字符串模板1.1.5. 使用条件表达式1.1.6. 使用nullable值检…
原文标题:Converting Plaid to Kotlin: Lessons learned (Part 1) 原文链接:http://antonioleiva.com/plaid-kotlin-1/ 原文作者:Antonio Leiva(http://antonioleiva.com/about/) 原文发布:2015-11-03 经常有人问我用Kotlin语言编写Android APP有哪些优点.可问题是我从来没有直接将用Java语言开发的Android APP转到Kotlin语言,所以…
原文标题:Unleash functional power on Android (I): Kotlin lambdas 原文链接:http://antonioleiva.com/operator-overloading-kotlin/ 原文作者:Antonio Leiva(http://antonioleiva.com/about/) 原文发布:2015-09-01 虽然Java 8中已包含一些函数式工具,且如你想象那样Android开发者还不能够立即(或许甚至根本不能)使用这些工具,但是如果…
原文标题:API request in Android the easy way using Kotlin 原文链接:http://antonioleiva.com/api-request-kotlin/ 原文作者:Antonio Leiva(http://antonioleiva.com/about/) 原文发布:2015-07-21 Kotlin是功能非常强大的编程语言,其目标是利用较少的模板(boilerplate)编写更多的代码.尤其是在Android开发中.除了编程语言自身和它的类之外…
原文标题:Kotlin for Android Developers: The book 原文链接:http://antonioleiva.com/kotlin-android-developers/ 原文作者:Antonio Leiva(http://antonioleiva.com/about/) 原文发布:2015-07-14 亲爱的读者,今天我十分兴奋宣布我的第一本书<Android开发者的Kotlin>出版了. <Android开发者的Kotlin>是一本精益的图书,它还…
原文标题:Kotlin for Android (IV): Custom Views and Android Extensions 原文链接:http://antonioleiva.com/kotlin-android-custom-views/ 原文作者:Antonio Leiva(http://antonioleiva.com/about/) 原文发布:2015-05-07 在阅读了扩展函数和默认值能做什么后,你可能想知道接下来是什么.如我们在Kotlin的第一篇文章说的那样,该语言可以使得…
关于Kotlin,网上已有一些介绍的文章,包括Antonio Leiva的这组blog翻译稿.不过,我还是想跟进它们.翻译它们,以锻炼自己的英文翻译.各位高手发现问题,请及时“拍砖”. 原文题目:Kotlin for Android (I): Introduction(http://antonioleiva.com/kotlin-for-android-introduction/) 原文作者:Antonio Leiva(http://antonioleiva.com/about/) 原文发布:2…
使用Kotlin开发Android应用(I):简单介绍 @author ASCE1885的 Github 简书 微博 CSDN 原文链接 Kotlin是一门基于JVM的编程语言.它正成长为Android开发中用于替代Java语言的继承者. Java是世界上使用最多的编程语言之中的一个,当其它编程语言为更加便于开发人员使用而不断进化时,Java并没有像预期那样及时跟进. Java缺失的非常多特性在最新的修订版中逐渐覆盖到了,但Android开发人员临时还没能够使用它们. 这就使得相似Kotlin这…