为了账号安全,请及时绑定邮箱和手机立即绑定

Kotlin在安卓中的一些tips

标签:
Android

在本次谷歌IO大会上Kotlin终于转正成为安卓官方语言。虽然每年都会出来一些编程语言,不过很多都小众且容易消亡,但这次,由于Oracle和Google的在Java版权问题,以及Google的安卓生态圈保卫战等原因,这次kotlin多半会真正上位,起码在安卓开发方面,相信随着Kotlin的完善和安卓生态圈的继续成熟,java的使用将越来越少。 本文主要记录自己学习Kotlin过程中卡住的一些技术点。 1-Kotlin实现Activity之间的跳转 - 这点其实挺无奈的,在网上找了半天也没找到最准确,说明资源还是挺缺的。记录下,其实和java中还是比较像的。kotlin中,使用intent跳转到其它activity 其中,这里的activity都是kotlin activity:  var intent = Intent(this,SecondActivity::class.java);startActivity(intent)  当然若是使用anko库的话,跳转方式为:  startActivity<secondactivity>(...可传数据...)  2-Kotlin中匿名内部类 - kotlin接口类似于java jdk8中的接口,具体用法就不介绍了。当使用接口回调时,传参的匿名内部类的格式稍微复杂些,类似于静态方法的定义,这里,kotlin中匿名内部类的表示为:  //.kt接口 interface ICallBack { fun getResult(age:Int) } //传参, 匿名内部类 request.setCallBack(object :ICallBack{ override fun getResult(age: Int) { } })  接上,不过匿名内部类在kotlin中使用并不多 3-Kotlin中扩展属性和函数 - 可以使用类似静态导入的方式,给一个已存在但不易修改的类,动态的添加属性和方法,这是比较牛的一个功能。记录一下 //作为单例对象的类声明 object Utils { fun Context.tos(msg: String) { Toast.makeText(this, msg, Toast.LENGTH_LONG).show(); } val View.ctx:Context get() = context }  == 给所有的activity中植入toast方法,静态导入packgename.Utils.tos即可,调用tos(). == 在所有的设计view引用的地方植入直接调用属性,内部实现还是调用的方法静态导入packgename.Utils.ctx即可,使用方法view.ctx 4-Kotlin中函数参数,多参数的使用 很多教程和博客里基本只提到了单参数的函数作为参数,那个相对比较简单,就不再赘述。这里只举个多参数函数的用法,其实也很类似,但是记录的博客并不多。 首先定义个请求类,有个函数作为参数,该函数需要两个参数:  class Request2(var callListener:(String,Int) -> Unit) { fun run() { val readText = "from request2" callListener.invoke(readText,12345) } } 假如有个btn点击,完成逻辑,代码如下: btn_r1.setOnClickListener{ Request2{text:String,length:Int-> Log.e("flag--","(MainActivity.kt:27)-->>"+text+length); }.run() }  此时上述回调里面的log日志便会打印出来。 文章转载自Kotlin在安卓中的一些tips,全部内容请点击链接查看</secondactivity>

收藏

原文链接:http://www.apkbus.com/blog-908382-67970.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消