今天是鐵人賽的第二天,今天我們要正式動手,打造第一個 Android App。
如果你還沒有安裝好 Android Studio,請先去 Google 搜尋「Android Studio 下載」並跟著官方說明安裝。安裝好後,我們就可以開始了!
MyFirstApp
。當專案建立好後,你可能會看到兩個重要的檔案:
activity_main.xml
:這就是 App 的 「設計圖」。它負責描述 App 畫面上有哪些元件、這些元件長什麼樣子、要放在哪裡。在這裡,我們看不到任何程式邏輯,只會看到介面設計的細節。MainActivity.java
:這就是 App 的 「操作說明書」。它負責告訴 App:「當使用者點擊按鈕時,要做什麼事」。我們寫的程式邏輯,都會放在這個檔案裡。現在先找到 activity_main.xml
檔案,來設計 App 的畫面。
在 activity_main.xml
的畫面中,你會看到左側有一個叫做 Palette
的面板,裡面有各種元件,就像是樂高積木一樣。
Palette
中找到 「TextView」。Attributes
面板中,你可以調整它的屬性。找到 text
這個屬性,將內容從 "Hello World!" 改成 "哈囉,我的第一個 App!"。textSize
(文字大小) 和 textColor
(文字顏色) 等屬性,試著把它變得更顯眼。Palette
中找到 「Button」。TextView
的下方。Attributes
面板中,將 text
屬性改為 "點擊我"。id
。在 Attributes
面板的頂部找到 id
,將它改為 btn1_main
。這個 id
在後續的java檔案中非常重要,名字要取好。現在,我們的「設計圖」已經完成了,接下來我們要寫「操作說明書」了。
切換到 MainActivity.java
檔案,我們來加入一段程式碼,讓 App 在你點擊按鈕時做出反應。
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast; // 匯入 Toast 類別
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 1. 綁定按鈕,接下來可以用myButton來控制這個按鈕
Button btnButton = findViewById(R.id.btn1_main);
// 2. 告訴按鈕,當有人點擊它時,要做什麼事
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 3. 在這裡寫下點擊後要執行的動作
// 我們要讓 App 說一句話!
Toast.makeText(MainActivity.this, "你點到我啦!", Toast.LENGTH_SHORT).show();
}
});
}
}
這段程式碼的邏輯很簡單,我用比喻來解釋:
findViewById(R.id.myButton)
:就像是在「操作說明書」中,找到「設計圖」上 id
為 myButton
的按鈕。setOnClickListener(...)
:這個叫監聽器就是告訴按鈕:「我給你裝一個感應器,當有人碰你時,就執行我接下來寫的動作。」Toast.makeText(...)
:這就是執行的動作。告訴 App:「顯示一個『你點到我啦!』的小提示。」現在,點擊 Android Studio 上方工具列的綠色「▶」按鈕,App 就會開始編譯並在你的虛擬手機(或實體手機)上執行。
當 App 啟動後,試著點擊你設計的按鈕,你會看到畫面下方跳出一個短暫的提示訊息:「你點到我啦!」
恭喜你!已經成功打造了你的第一個 App,並讓它具備了互動能力!這是一個非常重要的開始!
今天我們學會了:
.xml
) 與「操作說明書」 (.java
)。TextView
和 Button
這兩種基本元件。Toast
)。明天,我們將學習 EditText
元件,讓你的 App 可以接收你的輸入,並根據你的輸入做出回應!
明天見!