最近Google的I/O大會又火了了一把,不為別的,只為android開發語言,其實這門開發語言在2010年的時候就已經問世了,只是當時的技術也不是很成熟,google也沒有重視它,導致到目前為止,google才開始挖掘這門語言.
我認為這門語言在以后android開發中,會成為主流,原因之一是:受到了google開發人員的重視,二,我覺得最重要的是,版權問題,android使用java開發,始終不是自己的語言,最后難免會出現以前的jvm的問題.我想這大概也試google推崇這門語言的原因之一吧.
下面我們一起來見識一下Kotlin語言吧.
開發環境:
Android Studio
首先,目前studio版本不支持該語言,所以說必須先下載插件(但是在3.0版本,studio會直接支持),下載插件安裝過程我就不詳細說了.
插件下載完成后,我們開始我們的開發之旅.
新建android工程,和原先的沒有什么區別,當然你也可以直接創建Kotlin工程,下載插件后,在創建activity的時候會出現這個界面
箭頭標識的是 一個是實體類,一個是activity.
但是我不建議現在直接創建這種. 我建議下面這種方式,先創建以前一樣的工程項目.當 你把東西創建完成后,可以直接轉換.
轉換步驟: 1.將java代碼轉換成kotlin代碼
第一步,打開java代碼文件
第二步,Ctrl+shift+A
第三步,在搜索框中輸入Convert Java File to Kotlin File即可.Ctrl+shift+K
第四步,配置

最后同步一下就ok了.
基本語法:
常量 val 代表用final修飾的
變量 var
靜態 companion object 代表static
其他的詳見 官方文檔
http://www.mamicode.com/info-detail-1172799.html
下面是我寫的一個自己以前封裝的帶上拉加載和下拉刷新的listView的一個Demo
部分代碼如下:
private fun initData() {
if (allData.size <= 0) {
for (i in 0..99) {
allData.add("我是張三-----" + i)
}
}
val adpter = MyAdpter(this, allData)
listview!!.adapter = adpter
// listview!!.onItemClickListener = this
listview!!.setOnRefreshListener(object : RefreshListView.OnRefreshListener {
override fun onPullDownRefresh() {
try {
Handler().postDelayed(object : Runnable {
override fun run()
allData.add(0, "我是下拉刷新出來的數據.. ")
adpter.notifyDataSetChanged()
listview!!.onRefreshFinish()
}
}, 3000)
} catch (e: InterruptedException) {
e.printStackTrace()
}
}
override fun onLoadingMore() {
try {
Handler().postDelayed(object : Runnable {
override fun run() {
allData.add("我是加載更多的數據1")
allData.add("我是加載更多的數據2")
allData.add("我是加載更多的數據3")
listview!!.onRefreshFinish()
}
}, 5000)
} catch (e: InterruptedException) {
e.printStackTrace()
}
}
})
}
去掉了標點符號結尾. 該demo只是一個簡易的展示.只是一個Kotlin的入門體驗.
最后推薦一個java轉Kotlin 的網站
https://try.kotlinlang.org/#/Examples/Hello,%20world!/A%20multi-language%20Hello/A%20multi-language%20Hello.kt
源碼地址:
https://github.com/Simonhy/Kotlin
其他的github上文章
https://github.com/Simonhy