亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

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下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消