一.kotin 简介

Kotlin是由JetBrains设计的开放源码的编程语言,2017年Google IO大会宣布使用Kotlin作为Android的官方开发语言,相比较与典型的面相对象的JAVA语言,Kotlin作为一种新式的函数式编程语言,也有人称之为Android平台的Swift语言

二.kotin在android studio中的应用

1.kotin插件安装,启动as后,执行File->Settings->Plugins,搜索kotin进行安装

2.kotin实现Activity

1).新建kotin文件

 2).继承AppCompatActivity,实现onCreate方法

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

3).activity跳转的方法

 val intent=Intent();
                    intent.setClass(this,SecondActivity::class.java)
                    startActivity(intent)

三.实现两个activity之前跳转的demo

1.MainActivity.kt及布局activity_main.xml

package com.example.kotlin

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.view.View
import android.widget.Button
import android.widget.TextView

class MainActivity : AppCompatActivity(),View.OnClickListener {
    lateinit var textView:TextView;
    lateinit var btn:Button;
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        initViews()
        setListener()
    }

    private fun initViews(){
        textView=findViewById<TextView>(R.id.text)
        btn=findViewById<Button>(R.id.btn)
    }

    private fun setListener(){
        textView.setOnClickListener(this)
        btn.setOnClickListener(this)
    }

    override fun onClick(v: View?) {
        if (v != null) {
            when(v.id){
                R.id.text ->{
                    textView.setText("You clicked text!")
                }
                R.id.btn ->{
                    val intent=Intent();
                    intent.setClass(this,SecondActivity::class.java)
                    startActivity(intent)
                }
                else ->{
                    Log.d("onClick","click nothing");
                }

            }
        }

    }
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:gravity="center"
    android:orientation="vertical">

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello kotin"
        android:textSize="30sp">
    </TextView>

    <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="go to second">
    </Button>

</LinearLayout>

2.SecondActivity.kt及布局activity_second.xml

package com.example.kotlin

import android.os.Bundle
import com.google.android.material.floatingactionbutton.FloatingActionButton
import com.google.android.material.snackbar.Snackbar
import androidx.appcompat.app.AppCompatActivity

class SecondActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_second)
    }


}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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=".SecondActivity"
    android:gravity="center">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="30sp"
        android:text="second activity">
    </TextView>

</LinearLayout>
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐