一.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>