Android studio 2 手把手教你使用kotlin外掛
阿新 • • 發佈:2019-01-22
Kotlin for Android
最近谷歌IO大會, 把kotlin納入了Android開發首選語言, 估計這與谷歌和oracle一直在打官司的緣故分不開吧, 而且kotlin本身就很好用,不只是增加語法糖,而且kotlin-native是基於自己的runtime, 跨平臺的.好了, 廢話不多說,自己體會kotlin的好. 之前講了 [android studio3.0預覽版使用kotlin], 但是很多湧進來的新人在android studio2.0中使用kotlin有問題, 我現在就來演示一次, 希望有所幫助!(假定已經擁有了開發Android的基礎, 約定Android Studio簡稱as)
安裝kotlin外掛(安裝後重啟as生效)
新建工程
然後Next. 新增empty Activity, 然後等待gradle去下載依賴, build
快捷新增kotlin支援
選擇版本:
自動添加了kotlin所需要的依賴
把activity轉換成kotlin的
轉換後的activity就是kotlin寫的了, 非常簡單, 在xml裡面新增textview的id
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.i7play.kotlintest.MainActivity">
<TextView
android:id="@+id/tv_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
然後在程式碼裡面寫:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val tvText = findViewById(R.id.tv_text) as TextView
tvText.text = "測試一下"
}
}
不寫findViewById
kotlin的黑科技,可以不寫繁瑣的findViewById, 只需要在app/build.gradle裡面新增一個apply就可以了
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
現在可以直接寫在xml裡面定義的控制元件id
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_main.*//多引入的包
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//val tvText = findViewById(R.id.tv_text) as TextView
//tvText.text = "測試一下"
tv_text.text = "測試一下" //不要寫findViewById(R.id.tv_text) as TextView,是不是很爽?
}
}
怎麼學kotlin?
-
-github裡面搜搜kotlin, 一大堆開源app,可以多學學.
-不要動不動就去問別人, 自己先搜答案,網上多得是答案, kotlin 2012年就開源了!
-
-最後, 新手請教的時候一定要謙虛, 並沒有人有義務回答問題, 零android基礎, 零java基礎的人好好看文件吧.
-QQ群:516157585