概述
一、Activity的概念
Activity是Android应用的重要组件,是与用户交互的入口点,它表示拥有界面的单个屏幕。应用通常包含多个Activity,例如,电子邮件应用可能有一个显示电子邮件列表的Activity、一个用于撰写电子邮件的Activity以及一个用于阅读电子邮件的Activity。
通常,会为应用指定一个“主”Activity,主Activity是用户启动应用时出现的第一个屏幕。例如,一个电子邮件应用可以把显示电子邮件列表的Activity当作主Activity,当用户触摸应用启动器图标或主屏幕上的快捷方式时,首先会出现电子邮件列表的Activity。然后,同一应用内一个Activity可以启动另一个Activity来执行不同的操作,例如,电子邮件应用的邮件列表Activity可能会从该屏幕启动撰写邮件的Activity或阅读邮件的Activity。另外,一个Activity甚至可以启动设备上属于其他应用的Activity,例如,备忘录应用可以启动电子邮件应用内用于撰写新电子邮件的Activity,以便用户共享备忘录文本信息。
从一个Activity启动另一个Activity需要传入一个Intent对象,Intent对象是一个消息传递对象,可以携带少量数据。intent分为两种类型:
- 显式intent:需要明确指定被启动组件的信息,包括包名类名,一般是在同一个应用程序内部实现。
- 隐式intent:不会指定特定的组件,而是声明要执行的常规操作,从而允许其他组件来处理。一般是用在不同的应用程序之间。
二、显式Intent和隐式Intent
1.显式调用
例如,点击按钮“Send”,明确指定调用DisplayMessageActivity。
const val EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE"
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
fun sendMessage(view: View){
val editText = findViewById<EditText>(R.id.editText)
val message = editText.text.toString()
val intent = Intent(this,DisplayMessageActivity::class.java).apply {
putExtra(EXTRA_MESSAGE,message)
}
startActivity(intent)
}
}
manifest文件描述如下,不需要额外为DisplayMessageActivity指定<intent-filter>属性:
最后
以上就是想人陪篮球为你收集整理的从一个Activity启动另一个Activity一、Activity的概念二、显式Intent和隐式Intent三、startActivity()和startActivityForResult()的全部内容,希望文章能够帮你解决从一个Activity启动另一个Activity一、Activity的概念二、显式Intent和隐式Intent三、startActivity()和startActivityForResult()所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复