從0系統學Android-2.3使用 Intent 在 Activity 之間穿梭

sydMobile發表於2019-07-22

2.3 使用 Intent 在 Activity 之間穿梭

從0系統學Android-2.3使用 Intent 在 Activity 之間穿梭

在上一節中我們已經學會了如何建立一個 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

更多資料

相關文章