欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android开发——Kotlin开发APP使用笔记

程序员文章站 2022-06-21 09:01:22
之前一直使用java来开发Android项目,学了新的kotlin语言,前来试一试,并说一下kotlin对Android的一些功能增强 创建项目 我使用的是Android Studio3.0+,所以默认就支持kotlin 创建项目的时候记得勾选kotlin支持 找到实例与设置监听器 以往我们是通过f ......

之前一直使用java来开发android项目,学了新的kotlin语言,前来试一试,并说一下kotlin对android的一些功能增强

创建项目

我使用的是android studio3.0+,所以默认就支持kotlin

创建项目的时候记得勾选kotlin支持

Android开发——Kotlin开发APP使用笔记

找到实例与设置监听器

以往我们是通过findviewbyid来找到实例,而kotlin中提供了一种更为快捷的方式,只需要一行代码,之后我们就可以直接使用布局里面的定义的各种实例了

像平常一样,我们可以使用实例来更改控件的内容,同时,这个按钮也可以作为监听器的判断。

以往我们的点击监听器,使用switch或者if语句来判断点击的控件,从而执行不同的操作。而kotlin中,直接使用实例判断,具体的代码在下面的mainactivity.java中

switch(v.getid){
    case r.id.btn:
        //逻辑操作
        break;
}
if(v.getid == r.id.btn){
    //逻辑操作
}

activity_main.xml

<?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.wan.noveldownloader.activity.mainactivity">

<button
    android:id="@+id/btn_test"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="测试"  />
</android.support.constraint.constraintlayout>

mainactivity.java

package com.wan.noveldownloader.activity

import android.os.bundle
import android.view.view
import com.wan.noveldownloader.r
import kotlinx.android.synthetic.main.activity_main.*

class mainactivity : baseactivity(),view.onclicklistener {
    override fun onclick(v: view?) {
        when (v) {
            //操作
            btn_test -> showtoast("htllo")
        }
    }

    override fun oncreate(savedinstancestate: bundle?) {
        super.oncreate(savedinstancestate)
        setcontentview(r.layout.activity_main)
        //这里的btn_test就是布局文件的按钮实例
        //输入btn_test会自动增加一行import kotlinx.android.synthetic.main.activity_main.*
        btn_test.setonclicklistener(this)
    }
}