第二章 第一個Android程式 OnClick 介紹
之前的課程中,我們大部分練習的是console應用程式,就是一個黑底視窗的那種如下圖:
這回呢~~我們要寫的是視窗程式,視窗程式大致上可以把程式碼分成兩部分。第一個部分是程式開始執行的時候需要先跑的程式碼,主要是一些設定,例如這個視窗的配置呀、檢查一下需要的硬體是否支援啦,諸如此類的~~,這些程式碼依照Android的程式規範必須視情況放在OnCreate()、OnResume()、 OnStart().....這些函數中。第二個部分的程式是由與使用者互動的程式碼,專業一點的說法叫做訊息驅動程式,這些程式碼藉由使用者的動作,如按下Button、長按Button、輸入文字、滑螢幕等等動作,不同的動作產生不同的事件,而程式設計師就針對這些事件撰寫對應的程式碼,本周的練習呢~~就是請大家寫一個訊息驅動程式,這個程式包含一個Button與一個文字(Text),Button按一下Text中的數字就加一,長按Button呢~數字歸零。
Text與Button的大小排列方式樣式等屬性,我們稱之為Layout,Layout是一種XML檔,不過我們可以藉由Android Studio提供的視窗化Layout編輯功能直接用拉來拉去的方式完成,不用寫XML,還有呢如何接Button產生的event,如何改變Text的內容,這是本次課程要請大家練習的,讓我們來看看怎麼做~~~
首先我們先來簡介一下Android studio的介面
Android Studio介面介紹
一、 程式專案架構
專案資料夾分為manifests、java和res三大類。
1. Manifest目錄: 資料夾中的AndroidManifest.xml是開發 Android App 的必備檔案,可將它看作是 Android 程式的功能表。程式的名稱、設定、權限 (例如網路功能、GPS功能) 以及程式第一個要執行模組、...等都必須在此設定,。
2. java目錄 此目錄為原始碼目錄,原始碼為java檔,檔案放在對應的package下。開發App的過程中,大部分的時間都會花在這個目錄上。專案資料夾中的MainActivity為app的主程式。
3. res目錄: 資源目錄,其中存放了app會用到的各種資源,如中包含
drawable資料夾:圖片資料
layout資料夾:畫面布局檔案
mipmap資料夾:解析度檔案
values資料夾:字串、樣式等檔案
xml資料夾:xml檔案
二、 Android SDK Manager
如果你的Android Studio需要升級,或者需要不同Level的API,就需要到SDK Manager進行一些下載的動作,藉由點選下拉式選單Tools/SDK Manager,使用者可在SDK Manager下載需要用的工具包及Android API。
右邊的功能表也有SDK Manager
三、 Android AVD Manager
最後要介紹一下模擬器,點選下拉式選單Tools/ Device Manager,使用者可在Device Manager新增各種類型的模擬器。
右上方的功能表也有Device Manager
簡單介紹完介面後,我們就來寫一下第一個訊息驅動的程式
Button按鈕事件教學(短按數字+1,長按數字歸0)
Step 1: 建立一個新的Android專案
右上方的功能表也有Device Manager
簡單介紹完介面後,我們就來寫一下第一個訊息驅動的程式
Button按鈕事件教學(短按數字+1,長按數字歸0)
Step 1: 建立一個新的Android專案
↑ 這是一進入專案的畫面
↑ Layout會看到TextView元件顯示”HelloWorld”, 我們可以先設定這個TextView的id,讓他顯示的內容 (即數字)
可以之後在程式碼中再設計(利用TextView中 setText() 的方法)
Step 2: 直接從Layout的地方拉取需要的元件
在元件上點擊兩下可以編輯該原件要顯示的text和id,在此需要一個TextView和一個Button,我們直接從左邊的Palette/Common中找到Button元件拉進Layout中。
我們可以先設定這個Button的text,讓他顯示按鈕的文字
Design與Code的選單在右上方就能看到
Design: 可以直接拉元件到手機的layout
Code: 可以設計Layout的程式碼
Step3: 進入主程式設計程式碼(MainActivity.java)
(1) 在Android的應用程序開發中,通常使用的是JAVA語言,一般JAVA應用中,如果需用引用基礎類庫,需要在類別宣告前用import的方式。
import的目的在於讓我們後面可以直接用縮寫使用它,例如:
import android.widget.Button;後面的程式碼可以直接使用”Button”,而它的全名是android.widget.Button,若沒有import,後面再使用Button時會找不到而產生錯誤。
(2) 接著進入類別裡,首先要宣告我們會使用到的Button和TextView,再利用findViewById找出在Layout的這些元件。此外,也可以直接寫成:
Step4. 按下 綠色三角形圖案或 Shift+F10 即可執行App。
Step5. 執行結果如下。
(1) 執行APP,短按按鈕後,會出現按按鈕的次數,並且能夠累積按按鈕的次數
(2) 執行APP,長按按鈕後,會將短按鈕的累積數字歸0