iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 8
0
Software Development

Java 與 Kotlin 入門系列 第 8

[Day08]Android Studio基本介紹+ListView呈現

基本介紹

相信大家已經對java這個語言,有了些許了解,與實作,那麼今天就來告訴大家,Android Studio,這個開發平台吧!

Android應用程式架構

  • mainifests:應用程式model的主要設定檔「AndroidManifest.xml」在這個目錄下面。
  • java:應用程式模組需要的Java原始程式碼都會放在這個目錄下,展開它以後會看到一個套件,這是在建立專案時決定的主要套件名稱。目前這個套件下有一個預設元件類別MainActivity.java那當然也可以再添加或者修改。
  • res:Android應用程式很重要的資源目錄,應用程式需要的資源,例如圖形(png)在drawable資料夾與音效(mp3、mp4 more than...)檔案,還有各種XML格式的資源檔案都放在這個目錄。其實在「res/layout」目錄下,早已經建立一個名稱為「activity_main.xml」的預設畫面配置檔案相對應到的是MainActivity檔案,如下圖所示。
    Imgur
  • extends
    Android Studio 採用java常用的Framework,當創建Activity時,要繼承父類別。
  • super.onCreate
    並且複寫父類別中的,onCreate方法。
  • setContentView則是配置畫面資源。
    res裡,各種資源:
  • anim – 動畫資源。
  • color – 顏色狀態資源。
  • drawable – 圖形與繪圖資源。
  • layout – 畫面配置資源。
  • menu – 選單資源。
  • raw – 檔案資源。
  • values – 一般資源,包含文字、顏色、尺寸、陣列與樣式資源。

一般資源又分:

  • strings.xml – 文字資源。
  • colors.xml – 顏色資源。
  • dimens.xml – 尺寸資源。
  • arrays.xml – 陣列資源。
  • styles.xml – 樣式資源。

顏色資源:
#RGB – 使用0~9、A~F設定紅綠藍的配色,共256種顏色。
#RRGGBB – 使用00~FF設定紅綠藍的配色,共65535種顏色。
#ARGB – 第一碼使用0~9、A~F設定透明度,0表示完全透明,FF則相反
#AARRGGBB – 使用00~FF設定透明度,00表示完全透明,FF表示完全不透明。

一個api -----> android.R 系統資源

Imgur
這邊是決定畫面的配置,目前裡面只有一個文字元件

  • android:layout_width:設定畫面元件的寬度

  • android:layout_height:設定畫面元件的高度

  • LinearLayout可以設定為依照水平(horizontal)或垂直(vertical)排列。

  • RelativeLayout使用畫面元件相對的位置來排列。

import元件,如未找到出現紅字可以「Alt + Enter」,快速import。
Imgur
Gradle Scripts,儲存與Gradle建置系統相關的設定檔,Gradle是Android Studio採用的全新應用程式建置系統。一個應用程式可以有多個模組(Module)。
Gradle Scripts目錄有下列兩個主要的設定檔,它們都是Groovy格式的文字檔:

  • build.gradle(Project:專案名稱)
  • build.gradle(Module:模組名稱)

Imgur
創建一個match_parent的ListView,給id。
Imgur
宣告一個listView,找出listView,設置一個Arrayadapter泛形帶String,將data塞入、再將它塞入listView,結束。
Imgur
看看結果吧!

監聽與事件介紹

「android.view」和「android.widget」套件宣告了許多「Listener」介面,這些介面通常會叫作「監聽介面」。每一個監聽介面可以控制使用者在應用程式中執行的一種操作。

  • View.OnClickListener:執行點擊事件。
  • View.OnLongClickListener:執行長按事件。
  • View.OnKeyListener:執行實體按鍵操作事件。
  • View.OnTouchListener:執行觸控螢幕操作事件。

上一篇
[Day07]abstract抽象方法
下一篇
[Day09]ListView應用
系列文
Java 與 Kotlin 入門30

尚未有邦友留言

立即登入留言