Activity使用优化
1. 使用BaseActivity以实现快速判断当前Activity
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity//BaseActivity不需要在AndroidManifest.xml进行注册
open class BaseActivity : AppCompatActivity() {override fun onCreate(saveInstanceState: Bundle?) {super.onCreate(savedInstanceState)Log.d("CurrentActivity", "The current Activity is ${javaClass.simpleName}.")}
}
在定义好BaseActivity之后,只需要让所有Activity都去继承BaseActivity即可实现快速判断当前Activity
2. 优化Activity间调用
被调用Activity:
companion object {fun actionStart(context: Context, dataOne: String, dataTwo: String) {val intent = Intent(contect, SecActivity::class.java)intent.putExtra("paramOne", dataOne)intent.putExtra("paramTwo", dataTwo)context.startActivity(intent)}
}
调用Activity:
SecActivity.actionStart(this, "dataOne", "dataTwo")
这样就将Activity的调用给封装起来了
补充:
Kotlin中javaClass获取的是当前实例的Class对象,相当于Java中的getClass()方法
而SecActivity::class.java获取的是SecActivity类的Class对象,相当于Java调用SecActivity.class