我是靠谱客的博主 想人陪篮球,最近开发中收集的这篇文章主要介绍从一个Activity启动另一个Activity一、Activity的概念二、显式Intent和隐式Intent三、startActivity()和startActivityForResult(),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、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()所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部