若是對Kotlin不太瞭解的童鞋們請參考html
Kotlin成爲Android開發首選語言——你絕對不能錯過的java
blog.csdn.net/androidstar…android
推薦幾個學習的地址:git
官網文檔:github
最全最值得去學習的文檔,把他 當作一本詞典用,效率會提升的更加快些bash
官網:微信
官網是個很很少的學習的地方jvm
至於Kotlin是什麼,簡單的說就是跑在jvm上的新語言,他的特色就是短小 快,至於有什麼好處,那就說不完啊,挑特色來講。
無縫對接java,能夠java代碼和kotlin代碼互相調用
函數擴展功能,不再知道啥叫繼承
Kotlin 是一個基於 JVM 的編程語言,與 Java 有很深的淵源。
它能與 Java 100% 互通,具有諸多 Java 尚不支持的新特性。
一鍵java轉kotlin,若是你有遺留的java代碼,能夠一鍵轉換,Kotlin 能夠編譯成 Java 字節碼,也能夠編譯成 JavaScript ,方便在沒有 JVM 的設備上運行
可用於移動端以及 Web 開發,是一種全棧式開發語言
首先打開你的AS,像往常同樣,建立一個Android應用。
而後在Setting裏找到Plugin選項,搜索kotlin插件。從官方倉庫下載安卓便可。
kotlin-android-extensions-1.1.2-4.jar的下載地址爲:
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'複製代碼
在總工程project的gradle下加入以下代碼:(大部分是自動生成的)
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}複製代碼
在model下面的gradle下加入以下代碼(注意你本身配置的時候,改爲最新版本)
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-4"複製代碼
這裏我用的是已下載好的jar
compile files('libs/kotlin-android-extensions-1.1.2-4.jar')複製代碼
將Hello World編爲Hello Kotlin
轉換後
將兩斷代碼作一個比較,能夠看到的語法變化有:
首先給xml文件裏的Button加一個id
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btn_onclick01"
android:text="點擊事件"/>複製代碼
在以往的java代碼中,想要Button的文本,須要先findviewbyid()以後再setText(),控件多了就很臃腫。是時候試試kotlin了!
下面用kotlin實現一樣的功能,代碼以下:
btn_onclick01.text = "123";複製代碼
點擊事件也變爲:
btn_onclick01.setOnClickListener {
view -> btn_onclick01.text = "androidstarjack歡迎你";
}複製代碼
findviewbyid不見了,取而代之的是直接寫id。kotlin能夠直接根據id找到控件,而避免findviewbyid,這時候你須要注意一下import頭,導入這個東西才能夠
import kotlinx.android.synthetic.main.activity_main_kotlin.*複製代碼
另外,setText也不見了。這是kotlin的一個特性,全部getter和setter能夠省略,直接變爲 .text
感受如何?代碼量是否是減小了許多,實際上這只是百裏挑一而已啦。
Java
String lan = "Hello Kotlin";
final String lan = "Hello Kotlin";複製代碼
Kotlin
var lan = "Hello Kotlin"
val lan = "Hello Kotlin"複製代碼
Java
System.out.print("Hello Kotlin");
System.out.println("Hello Kotlin");複製代碼
Kotlin (相似於C/C++)
print("Hello Kotlin");
println("Hello Kotlin");複製代碼
java
class Studenty private constructor() {
private var name: String? = null
private var age: Int = 25
private var level:Int? = 0;
private var sex:String = "男";
constructor (name: String, age: Int,level: Int,sex : String): this() {
this.name = name
this.age = age
this.level = level
this.sex = sex
}
}複製代碼
kotlin
class Studenty private constructor() {
private var name: String? = null
private var age: Int = 25
private var level:Int? = 0;
private var sex:String = "男";
constructor (name: String, age: Int,level: Int,sex : String): this() {
this.name = name
this.age = age
this.level = level
this.sex = sex
}
}複製代碼
關於Java to Kotlin的語法有不少,下次咱們作一個 Kotlin的語法總結,以便於你快速認識 Kotlin 這門語言。
相關博客地址:
若是你以爲此文對您有所幫助,歡迎入羣 QQ交流羣 :232203809
微信公衆號:終端研發部