2.3 使用 Intent 在 Activity 之间穿梭

从0系统学Android-2.3使用 Intent 在 Activity 之间穿梭-LMLPHP

在上一节中我们已经学会了如何创建一个 Activity 了。对于一个应用程序来说,肯定不可能只有一个 Activity。下面就来学习多个 Activity 是专门跳转的。

2.3.1 使用显式 Intent

对于创建 Activity 的过程我们已经很熟悉了,下面快速的创建第二个 Activity。取名 SecondActivity。好了第二个 Activity 已经创建好了,创建好了 Activity 后不要忘了需要在 AndroidManifest.xml 中注册。由于 Android Studio 已经默认给我们注册了,就不需要了,这个 Activity 也不是主 Activity 也就不需要配置 <intent-filter> 了。

下面就是如何启动这第二个 Activity 了,这个时候就需要 Intent 这个类了。

Intent 闪亮登场! Intent 是 Android 应用程序中各个组件进行交互的一个重要的方式。可以通过它指明当前组件想要执行的动作,还可以在不同的组件之间传递数据。 Intent 一般可以用于启动 Activity、Service、发送广播。后面两个我们现在还没有学习到,先看启动 Activity。

Intent 大致可分为:显式 Intent 和 隐式 Intent 。先来看显示 Intent 的使用。

Intent 有多个构造函数重载,其中一个是 Intent(Context context,Class<?> cls) 。这个方法有两个参数,第一个就是上下文,就是启动 Activity 的上下文,第二个是想要启动的目标 Activity 的 Class。如何使用?Activity 类给我们提供了一个方法startActivity() 方法,传入 Intent,就可以启动目标 Activity 了。

   bt.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view){
                Toast.makeText(MainActivity.this,"显示内容",Toast.LENGTH_SHORT).show();
              // 添加如下代码,启动 SecondActivity
                Intent intent = new Intent(MainActivity.this,SecondActivity.class);
                startActivity(intent);
            }
        });

首先传入了 MainActivity 这个上下文,传入 SecondActivity.class 作为要启动的 Activity。这样 "意图" 就非常明显了。完成了 SecondActivity 的启动。

使用这种方式来启动一个 Activity 的『意图』非常明显了,这就是 显式 Intent

从0系统学Android-2.3使用 Intent 在 Activity 之间穿梭-LMLPHP

07-23 06:08