1.选中应用包名packageName,右键:
2.选中Kotlin:
3.创建Kotlin的Activity完成:
第一个Activity,MainActivity
package cn.kotlin import android.content.Intent import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.util.Log import android.view.View class MainActivity : AppCompatActivity() { // 定义tab变量为String类型的,注意:此String是Kotlin的 var tag:String = "MainActivity" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // setContentView(R.layout.activity_main) Log.d("@@@", "${tag}--onCreate()") } override fun onStart() { super.onStart() Log.d("@@@", "${tag}--onStart()") } override fun onResume() { super.onResume() Log.d("@@@", "${tag}--onResume()") Thread(){ kotlin.run { Thread.sleep(5000) runOnUiThread(Runnable { run { startNextActivity() } }) } }.start() } override fun onPause() { super.onPause() Log.d("@@@", "${tag}--onPause()") } override fun onStop() { super.onStop() Log.d("@@@", "${tag}--onStop()") } override fun onDestroy() { super.onDestroy() Log.d("@@@", "${tag}--onDestroy()") } /** * 跳转第二个Activity */ fun startNextActivity() { var intent:Intent = Intent() intent.setClass(this@MainActivity, Main2Activity::class.java) startActivity(intent) } /** * 跳转第二个Activity */ fun startNextActivity(v: View) { var intent:Intent = Intent() intent.setClass(this@MainActivity, Main2Activity::class.java) startActivity(intent) } }
第二个Activity,Main2Activity:
package cn.kotlin import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.Toast class Main2Activity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // setContentView(R.layout.activity_main2) } override fun onResume() { super.onResume() Toast.makeText(this@Main2Activity, "第二个Activity", Toast.LENGTH_LONG).show() } fun back(view: View) { finish() } }
以上Activity总结:
1.所有的Activity周期方法,都是使用 override fun 方法() {} 方式写的;
2.定义变量 var tag:String = "MainActivity"
3.此线程是使用Kotlin的,所有没有new:
Thread(){ kotlin.run { Thread.sleep(5000) runOnUiThread(Runnable { run { startNextActivity() } }) } }.start()
4.在Kotlin的Activity或组件,this使用方式是:this@MainActivity
5.Activity的跳转:this@MainActivity, Main2Activity::class.java
var intent:Intent = Intent() intent.setClass(this@MainActivity, Main2Activity::class.java)