《Android 初學特訓班》筆記
ㄧ. Android 專案概觀
1.資料夾架構:
(1)src: Java 程式原始碼。底下可再建立不同的套件路徑資料夾。
(2)gen:儲存由編譯器產生的專案資源。
(3)assets:不會產生索引的外部資源(意即不會在 gen/R.java 中產生索引)。
(4)res:產生索引的外部資源。
<1>drawable:圖片、圖示、檔案資源。
<2>layout:介面設定的 XML 檔。
<3>values:參數設定的 XML 檔。
2.在 XML 檔案中使用資源索引的語法:
@類別名稱 / 欄位名稱
3.在 java 檔案中使用資源索引的語法:
R. 類別名稱 . 欄位名稱
4.版面標籤種類:
RadioGroup:將多個 RadioButton 元件組合起來。
語法:
…
PS:RadioButton 的 Checked 屬性為 true,則為預設選取的選項
(1)FrameLayout:框架式版面標籤。
(2)LinearLayout:線性版面標籤。
(3)AbsoluteLayout:絕對位置版面標籤。
(4)RelativeLayout:相對位置版面標籤。
(5)TableLayout:表格式版面標籤。
*預覽圖、詳細介紹及程式碼請參考:Android 基础教程(二)之五大布局对象
--FrameLayout,LinearLayout ,AbsoluteLayout,RelativeLayout,TableLayout.
二. 基本的介面元件
1.TextView:在畫面上顯示訊息,但不允許輸入資料。
android:layout_height:文字的高度。
(1)fill_parent 、match_parent:填滿整個外框
(2)wrap_content:依文字高度自動調整
android:layout_width:文字的寬度。
(1)fill_parent 、match_parent:填滿整個外框
(2)wrap_content:依文字寬度自動調整
android:text:顯示的文字內容。
android:id:元件的名稱。
android:textColor:文字的顏色,以「#RGB」格式表示。
android:textSize:文字的大小。
2.EditText:提供使用者輸入資料,也可設定輸入資料的類型。
android:lines:最多可以顯示的列數。
android:editable:是否可輸入文字。
android:enabled:是否可作用。
android:numeric:數值輸入的格式。
(1)integer:整數
(2)signed:帶正負數符號的數字
(3)decimal:帶小數點的數字
*可使用「|」設定同時核選多項輸入的格式
android:password:文字輸入後以密碼顯示輸入的文字。
android:phoneNumber:輸入電話號碼(0~9、「+」、「-」、「#」、「*」)。
android:singleline:false 可輸入多列;true 只能輸入一列。
android:inputType:限定輸入資料的類型。
(1)text:所有字元
(2)textUri:網址
(3)textEmailAddress:電子郵件
(4)textPassword:密碼
(5)number:0~9 的數字
(6)date:日期(0~9、「/」)
(7)time:時間(0~9、「:pam」)
(8)phone:電話號碼
android:hint:當輸入欄位為空時顯示的提示訊息。
3.android:id 屬性的設定格式:
android:id = "@+id/ 元件名稱"
4.Button:提供按下按鈕後,透過設定的監聽事件,執行指定的動作。
5.Button 元件觸發事件的程序流程:
(1)藉由 id 編號取得需要使用的介面元件。
(2)在該元件設定監聽動作以及觸發時要執行的方法名稱。
(3)設定執行方法的程式內容。
6.Button 元件設定偵聽動作:
元件變數.setOnClickListener(執行方法名稱);
7.Button 元件設定按下後的功能:
private Button.OnClickListener 方法名稱 = new Button.OnClickListener(){
public void onClick(View v){
程式內容...}};
PS:需 import android.view.View;
8.取得對應的元件,並放入變數中:
變數名稱 = (元件類型)findViewById(R.id.元件名稱);
三. 訊息顯示相關元件
1.Toast:快顯訊息。
makeText:設定欲顯示的字串
show:顯示訊息框
語法:
(1)Toast 變數名稱 = Toast.makeText(主程式類別.this , Text, Time);
(2)變數名稱.show();
*Text:欲顯示之字串
*Time:顯示的時間
<1>Toast.LENGTH_LONG:時間較長
<2>Toast.LENGTH_SHORT:時間較短
2.設定 Toast 元件位置語法:
Toast 變數名稱.setGravity(Gravity, xOffset, yOffset);
*Gravity 屬性:
(1)Gravity.CENTER:水平及垂直置中
(2)Gravity.CENTER_HORIZONTAL:水平置中
(3)Gravity.CENTER_VERTICAL:垂直置中
(4)Gravity.RIGHT:螢幕右邊緣
(5)Gravity.LEFT:螢幕左邊緣
(6)Gravity.TOP:螢幕上邊緣
(7)Gravity.BOTTOM:螢幕下邊緣
可使用「|」同時設定多項值
3.取得主程式類別名稱:
getApplicationContext()
4.AlertDialog:互動對話方塊。
setTitle():對話方塊的標題
setIcon():對話方塊的圖示
setMessage():對話方塊的內容
setItems():對話方塊的表列內容
setPositiveButton():在對話方塊中加入 Yes 按鈕
setNegativeButton():在對話方塊中加入 No 按鈕
setNeutralButton():在對話方塊中加入 Ignore 按鈕
語法:
AlertDialog.Builder 變數名稱 = new AlertDialog.Builder(主程式類別);
變數名稱.setTitle("標題");
變數名稱.setIcon(圖示);
變數名稱.setMessage("內容");
變數名稱.show();
PS:需 import android.app.AlertDialog;
四. 單選、複選和下拉式清單
1.CheckBox:複選清單
2.CheckBox 元件設定偵聽動作:
元件變數.setOnCheckedChangeListener(執行方法名稱);
3.CheckBox 元件設定核選後的功能:
private CheckBox.OnCheckedChangeListener 方法名稱 = new
CheckBox.OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean
isChecked){
if(元件變數.isChecked()){
程式內容...}}};
PS:需 import android.view.View;
4.RadioButton:單選清單。
5.RadioGroup 元件設定監聽動作:
元件變數.setOnCheckedChangeListener(執行方法名稱);
6.RadioGroup 元件設定核選後的功能:
private RadioGroup.OnCheckedChangeListener 方法名稱 = new
RadioGroup.OnCheckedChangeListener(){
@Overide
public void onCheckedChanged(RadioGroup group, int checkedId)/*辨別觸發的選
項並取得選項資訊*/{
程式內容;}};
*取得選項的索引值:int p =
group.indexOfChild(RadioButton)findViewById(checkedId));
*取得清單中的選項數目:int count = group.getChildCount();
*檢查是否按下選項:if(checkedId == R.id.id 名稱)
7.Spinner:下拉式清單。
8.Spinner 元件觸發事件的程序流程:
(1)建立清單選項的資料來源。
(2)將資料來源設定給 Spinner。
(3)設定 Spinner 的顯示格式。
(4)在 Spinner 加上偵聽動作並設定處理程序。
PS:清單的資料來源是以 ArrayAdapter 物件型式存在,建立方式包含兩種建立方
法:
<1>使用陣列方式宣告在程式中。
<2>若有其他語系考量,則將選項清單設定在專案的中,
再由程式經由資源類別檔中取得清單陣列來使用。
五. 圖片相關介面元件
1.ImageView:顯示影像。
android:src:圖片來源。
android:scaleType:顯示圖片的縮放方式:
(1)center:按原來尺寸置中顯示。
(2)centerCrop:按比例擴大圖片尺寸置中顯示。
(3)centerInside:將圖片的內容完整置中顯示。
(4)fitCenter:按比例置中完整顯示。
(5)fitEnd:按比例靠右或下完整顯示。
(6)fitStart:按比例靠左或上完整顯示。
(7)fitXY:不按比例依元件大小顯示。
(8)matrix:依 matrix 矩陣來顯示。
2.Gallery:畫廊展示
android:animationDuration:動畫過渡時間。
android:gravity:圖片對齊方式。
android:unselectedAlpha:選中圖片的透明度。
android:spacing:圖片間的間隔。
3.Gallery 元件執行流程:
(1)建立圖片檔案的資料來源。
(2)將資料來源設定給 Gallery。
(3)在 Gallery 加上偵聽動作並設定處理程序。
PS:使用 Gallery 元件的資料來源必須建立一個繼承自 BaseAdapter 的物件來放
置想要呈現的圖片資料。繼承後,必須實作以下方法:
<1>加入欲顯示的內容:getView()
<2>取得共有多少張圖片:getCount()
<3>取得目前的選項:getItem()
<4>取得目前選項的 Id:getItemId()
4.GridView:表格展示。
android:numColumns:表格的行數。
android:gravity:圖片對齊方式。
android:horizontalSpacing:圖片的水平間隔。
android:verticalSpacing:圖片的垂直間隔。
5.GridView 元件執行流程:
(1)建立圖片檔案的資料來源。
(2)將資料來源設定給 GridView。
(3)在 GridView 加上偵聽動作並設定處理程序。
PS:使用 Gallery 元件的資料來源必須建立一個繼承自 BaseAdapter 的物件來放
置想要呈現的圖片資料。繼承後,必須實作以下方法:
<1>加入欲顯示的圖片:getView()
<2>取得共有多少張圖片:getCount()
<3>取得目前的選項:getItem()
<4>取得目前選項的 Id:getItemId()
六. ListView 介面元件
1.ListView:選項清單。
2.ListView 元件執行流程:
(1)建立清單選項的資料來源。
(2)將資料來源設定給 ListView。