博客
关于我
Android-Kotlin-Activity直接的跳转
阅读量:103 次
发布时间:2019-02-26

本文共 2705 字,大约阅读时间需要 9 分钟。

Kotlin Activity 开发实践指南

创建第一个 Activity:MainActivity

代码实现

package cn.kotlinimport android.content.Intentimport android.support.v7.app.AppCompatActivityimport android.os.Bundleimport android.util.Logimport android.view.Viewclass MainActivity : AppCompatActivity() {    var tag: String = "MainActivity"        override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        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()")    }    fun startNextActivity() {        val intent: Intent = Intent()        intent.setClass(this@MainActivity, Main2Activity::class.java)        startActivity(intent)    }    fun startNextActivity(v: View) {        val intent: Intent = Intent()        intent.setClass(this@MainActivity, Main2Activity::class.java)        startActivity(intent)    }}

创建第二个 Activity:Main2Activity

代码实现

package cn.kotlinimport android.support.v7.app.AppCompatActivityimport android.os.Bundleimport android.view.Viewimport android.widget.Toastclass Main2Activity : AppCompatActivity() {    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)    }    override fun onResume() {        super.onResume()        Toast.makeText(this@Main2Activity, "第二个 Activity", Toast.LENGTH_LONG).show()    }    fun back(view: View) {        finish()    }}

Activity 开发总结

  • Activity生命周期方法

    • 所有 Activity 周期方法都使用 override fun 方式书写
    • 各个生命周期方法(如 onCreateonStart 等)通过 override 关键字扩展默认实现
  • 变量定义

    • 使用 var 定义变量 tag 为 String 类型,注意:此 String 是 Kotlin 的
  • 线程操作

    • 使用 Kotlin 的 kotlin.run 方法进行线程操作
    • 没有使用 new 关键字
    • 通过 runOnUiThread 确保 UI 操作在主线程进行
  • this 使用方式

    • 在 Kotlin 的 Activity 或组件中,this 使用方式为:this@MainActivity
  • Activity 跳转

    • 使用 this@MainActivityMain2Activity::class.java 实现 Activity 跳转
    • 代码示例:val intent: Intent = Intent().setClass(this@MainActivity, Main2Activity::class.java).startActivity()
  • Activity 内部方法

    • 定义 startNextActivity 方法用于跳转到下一个 Activity
    • 方法可以接受 View 参数,但主要功能保持一致
  • 通过以上步骤,可以轻松创建并切换多个 Activity,在 Kotlin 开发中灵活运用 Activity 生命周期和跳转功能。

    转载地址:http://islk.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现k nearest neighbours k最近邻分类算法(附完整源码)
    查看>>
    Objective-C实现k-Means算法(附完整源码)
    查看>>
    Objective-C实现k-nearest算法(附完整源码)
    查看>>
    Objective-C实现KadaneAlgo计算给定数组的最大连续子数组和算法(附完整源码)
    查看>>
    Objective-C实现karatsuba大数相乘算法(附完整源码)
    查看>>
    Objective-C实现karger算法(附完整源码)
    查看>>
    Objective-C实现KMP搜索算法(附完整源码)
    查看>>
    Objective-C实现Knapsack problem背包问题算法(附完整源码)
    查看>>
    Objective-C实现knapsack背包问题算法(附完整源码)
    查看>>
    Objective-C实现knapsack背包问题算法(附完整源码)
    查看>>
    Objective-C实现knight tour骑士之旅算法(附完整源码)
    查看>>
    Objective-C实现knight Tour骑士之旅算法(附完整源码)
    查看>>
    Objective-C实现KNN算法(附完整源码)
    查看>>
    Objective-C实现knuth morris pratt(KMP)算法(附完整源码)
    查看>>
    Objective-C实现koch snowflake科赫雪花算法(附完整源码)
    查看>>
    Objective-C实现KPCA(附完整源码)
    查看>>
    Objective-C实现KruskalMST最小生成树的算法(附完整源码)
    查看>>
    Objective-C实现kruskal克鲁斯卡尔算法(附完整源码)
    查看>>
    Objective-C实现kth order statistick阶统计量算法(附完整源码)
    查看>>
    Objective-C实现lamberts ellipsoidal distance朗伯椭球距离算法(附完整源码)
    查看>>