Kotlin學習(一)

最近的I/O大會上kotlin被google定為官方語言,并在AS3.0上也已經(jīng)搭載,筆者也搭上學習的車。

1.基本配置
打開Android studio, 在Plugins中的Browse Repositories中輸入"kotlin",點擊 Install, 沒有翻墻下載會很慢并且會出現(xiàn)錯誤,多下幾次就行了,下載完成后 在一個Activity界面 選擇 工具欄的 code ——> Convert java file to kotlin file, 這時候你的Activity 代碼就會變成

class TestActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_test)
    }
}

這個之后再分析
現(xiàn)在 運行是會出錯的, 要點擊右上角的“Configure”進行配置

//配置過后 project的build.gradle

buildscript {
    ext.kotlin_version = '1.1.2-4'
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        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
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
//配置過后 module的build.gradle

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'//增加特性(剔除了findViewById())

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "com.example.leon.kotlintest"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    compile 'com.android.support:recyclerview-v7:25.3.1'
    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
}
repositories {
    mavenCentral()
}

現(xiàn)在基本配置完成,也可以運行了

2.控件操作
在module的build.gradle中增加
apply plugin: 'kotlin-android-extensions'//增加特性(剔除了findViewById())

然后在布局文件 這是兩個TextView, id分別為 text1、text2
之后再activity中直接通過 id.text設置(比databinding還方便)

 text1.text = "Hello Kotlin!"
 text2.textSize = 18.0f

再在布局中寫個Button,id為btn1

btn1.setOnClickListener {toast("Hello leon")} //點擊彈出toast 

toast需要 新建一個 .kt文件, 寫一個方法

fun Context.toast(msg:String){
    Toast.makeText(this, msg, Toast.LENGTH_SHORT).show()
}

這樣只要一行代碼 就實現(xiàn)了點擊btn彈出toast
由此我們可以看出,kotlin中 函數(shù)的寫法: 由關(guān)鍵字‘fun’聲明
而 msg:String 表示String類型,與java寫法相反并加了一個“:”

變量聲明: var、 val
var 是可變的
val 不可變,常量

剛開始寫kotlin代碼,有很多錯誤,可以java文件里編寫,在復制過來轉(zhuǎn)換,慢慢的就記住了,這個要用到項目中還不太現(xiàn)實,還是有很多的坑,但終究是大勢所趨,還是要好好學習的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,181評論 25 708
  • Google在今年的IO大會上宣布,將Android開發(fā)的官方語言更換為Kotlin,作為跟著Google玩兒An...
    藍灰_q閱讀 77,196評論 31 489
  • 不說點兒廢話總感覺開不了頭 自從Google I/O 2017上宣布Kotlin為Android開發(fā)的一級語言之后...
    HelloTu閱讀 1,242評論 0 2
  • 今天主要講講 kotlin 的簡單配置,以及在配置中會遇到的問題 一 kotlin配置 最新的Androidstu...
    奔跑的佩恩閱讀 1,406評論 2 1
  • 不理我的王某某: 從前書信很慢,同城需要8天的時間才能收到對方的回信?,F(xiàn)在通訊很快,卻發(fā)現(xiàn),走心的問候越來越...
    417ab8ff3136閱讀 360評論 0 0

友情鏈接更多精彩內(nèi)容