跳转到拨号键盘
val intent=Intent(Intent.ACTION_VIEW)
intent.data=Uri.parse("tel:10086")
startActivity(intent)
val data="Hello theSecondActivity"
val intent=Intent(this,SecondActivity::class.java)
intent.putExtra("extra_data",data)
startActivity(intent)
val extraData=intent.getStringExtra("extra_data")
Log.d("secondActivity get ","extra_data $extraData")
可能会将原有的信息销毁,这时候需要使用
override fun onSaveInstanceState(outState: Bundle, outPersistentState: PersistableBundle) {
super.onSaveInstanceState(outState, outPersistentState)
outState.putString("datakey","something you just typed")
}
在销毁前会调用,只需要将信息保存在bundle类型的outstate中,而在创建的时候会调用onCreate方法,其中也有bundle类型的参数,主要将其中的数据提取出来即可
在Androidmanifest中设置
launchMode=“模式”
重写onCreate的父类,使其被继承
打印下该实例的信息即可知道
open class BaseActivity:AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Log.d("BaseActivity",javaClass.simpleName)
}
}
也可以直接使用 ,直接杀死程序
android.os.Process.killProcess(android.os.Process.myPid())
在secondActivity中写入
class SecondActivity : BaseActivity() {
companion object{
fun actionStart(context: Context,data1:String,data2:String){
val intent=Intent(context,SecondActivity::class.java)
intent.putExtra("param1",data1)
intent.putExtra("param2",data2)
context.startActivity(intent)
}
}
}
而在Firstactivity中调用
button1.setOnClickListener{
SecondActivity.actionStart(this,"zhang","san")
}
lambad中会提供对象的环境
val l= listOf<String>("a","b","c")
val w=with (StringBuilder()){
append("context")
for(i in l){
append(i)
}
toString()
}
println(w)
同上
val intent=Intent(context,SecondAcitivity::class.java).apply{
putExtra("param1","data1"
...
}
静态方法就是不需要创建实例即可直接调用的方法,在Java中static关键字,而在Kotlin中需要创建单例类
object util{
fun dosomething(){
println("do something")
}
}
util.dosomething()
但是该方法会将其全部变为静态方法,正确的做法可以加一个companion object{},该方法会生成一个伴生类, 若是强制性转化为静态类,可以使用注释@JvmStatic
class util{
fun dosomething(){
println("do something")
}
companion object{
@JvmStatic
fun dosomething2(){
println("do something2")
}
}
}
或者使用顶层方法,直接定义一个函数在单独的文件夹中
fun dosomething3(){
println("do something3")
}