探究活动之--显式Intent

来源:互联网 发布:淘宝店铺解封软件 编辑:程序博客网 时间:2024/05/17 00:03

        对于Android开发人员来说,对活动一定是非常的熟悉。那么活动到底是什么?以及它的一些用法,本节我们一起来探究一下。

        首先,活动(Activity)是最容易吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序都会包含1个或多个活动,用来和用户进行交互。理解了活动是什么之后,我们来通过一个稍微复杂一点的实例,来更加深入的去理解活动的用法。

        本节我们重点学习一下如何使用Intent在活动之间进行穿梭(关于活动的创建请各位童鞋自行学习)。那首先我已经准备好了两个活动。

  



上面的图中,很简单,是我创建的两个活动以及对应的布局文件。活动中还没有任何代码逻辑,只是通过setContentView()把布局加载出来。现在有了活动,我们来简单介绍一下Intent的概念。

Intent是Android程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传播数据。Intent一般可被用于启动活动、启动服务以及发送广播等场景,暂时我们先只学习启动活动。

而Intent大致又可以分为两种:显示Intent和隐示Intent,我们先来看一下显示Intent示如何工作的。


public class FirstActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.first_layout);  //在活动中加载first_layout布局        Button button1 = (Button) findViewById(R.id.button_1);        button1.setOnClickListener(new View.OnClickListener(){            @Override            public void onClick(View v){                Intent intent = new Intent(FirstActivity.this,SecondActivity.class);                startActivity(intent); //startActivity()方法专门用于启动活动            }        });    }}


看到上面的代码,我们先来讲一下Intent。Intent有多个构造函数的重载,其中一个是Intent(Context packageContext, Class<?>cls)。这个构造函数接收两个参数。第一个参数Context要求提供一个启动活动的上下文,第二个参数Class则是指定想要启动的目标活动,通过这个构造函数就可以构建初Intent的“意图”。然后通过Activity类中提供的startActivity()方法来启动活动。这样上面的代码就很容易理解了。在button1按钮点击事件中,我们在Intent()构造函数中,FirstActivity.this作为上下文,传入SecondActivity.class作为目标活动,然后通过startActivity()执行这个Intent。

接下来执行程序,点击button1按钮,应该会跳转到button2的界面,也就是从FirstActivity跳转到了SecondActivity



可以看到,通过Intent,我们已经成功的启动了SecondActivity这个活动了,如果你想要回到上一个活动怎么办呢?很简单,按下Back键就可以销毁当前活动,从而回到上一个活动了。使用这种方式来启动活动,Intent的“意图”非常明显,我们称之为显示Intent。

通过文章标题我们知道,有显示Intent,就一定还有隐示Intent。关于隐示Intent,还有更重要的内容,我们下节继续学习。











        

原创粉丝点击