Kotlin学习记录——6.Android 开发中的应用

现在的 Android Studio 默认已经将 Kotlin 作为开发语言,所以新建项目时,勾选 support Kotlin 集成 Kotlin 所需要的一些必要库了。如下:

// 在项目的build.gradle 文件中有如下配置:
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        //kotlin-gradle-plugin 编译Kotlin代码
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
    }
// 在项目Module下的build.gradle 文件中 添加如下依赖:
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    // 文件最顶层添加plugin 
    apply plugin: 'kotlin-android'
    apply plugin: 'kotlin-android-extensions'

这里给大家项目中常用的几个点:

say bye to findViewById
在 Android 开发中相比大家一定被一堆的 findViewById 所厌烦,而在 Kotlin 中再也无需使用了,butterknife 也不需要使用了,直接使用 Layout 中控件 id 就可操作 view ,如下:

// layout activity_main 文件
    <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />
// Kotlin  MainActivity

import kotlinx.android.synthetic.main.activity_main.* // 必须引入

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        // 直接使用layout中控件的id进行操作。
        textview!!.text = "hello Kotlin" 
    }

控件的访问和操作就是这么简洁,这里需要确认 import 指定的布局文件,如果有子 view,记得也需要引入进来,不然在运行时会有异常。

网络请求
之前进行一次简单的网略请求,需要写很长的代码,而 Kotlin 依据就简单搞定,如下:

val response = URL("baidu.com").readText()

async/uiThread

Android 中异步写起来很麻烦,AsyncTask、Handler 等,而 Kotlin 则写起来轻松很多,

async {
      val result = URL("<api call>").readText()
      uiThread { 
        Log.d("Request", result)
        longToast("Request performed") 
      }
}

async/uiThread 可以很方便的进行异步执行,或者切换到主线程操作。

总之,Kotlin 提供了很多简洁,高效的方法,供我们使用,使得我们开发起来方便很多,原来写 100 行才能完成的功能,用 Kotlin 也许 30 行就搞定。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赈川

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值