Kotlin Android 高效入門
線上課程
  • Kotlin Android 高效入門
  • Android 開發準備
    • 0 Git 版本控制系統
      • 0.1 Gitlab 網站
      • 0.2 Gitlab 範例專案
      • 0.3 Gitlab 取得本書範例
      • 0.4 版本切換
    • 1 Android 系統與應用程式
      • 1.1 Android 版本演進
      • 1.2 Android 系統架構
      • 1.3 應用程式基礎
      • 1.4 應用程式元件
      • 1.5 應用程式宣告檔
      • 1.6 Android Studio 開發環境
    • 2 開發環境安裝
      • 2.1 基礎環境-JDK
      • 2.2 整合開發工具-Android Studio
      • 2.3 必要的設定
  • Android 專案開發
    • 3 Android 專案架構與 Activity
      • 3.1 建立Bmi專案
      • 3.2 AndroidManifest.xml載運清單
      • 3.3 畫面配置-Layout
      • 3.4 Java/Kotlin 類別
      • 3.5 資源 Resources
      • 3.6 Android Support Library-支援函式庫
    • 4 版面配置環境
      • 4.1 版面配置設計畫面
      • 4.2 ConstraintLayout 版面配置
      • 4.3 LinearLayout 流水式版面
      • 4.4 元件的高度與寬度
      • 4.5 元件位置與距離
    • 5 Kotlin 語言基礎
      • 5.1 Kotlin 基礎知識
      • 5.2 類別與物件
    • 6 Activity 設計
      • 6.1 Bmi 專案功能設計
      • 6.2 MainActivity 中取得畫面元件
      • 6.3 按鈕的事件處理
      • 6.4 使用浮動顯示-Toast類別
      • 6.5 使用對話框-AlertDialog 類別
      • 6.6 多國語言
      • 6.7 按鈕事件處理-匿名類別與 lambda
  • 線上課程
    • 20 線上課程 courses
Powered by GitBook
On this page
  • R 類別
  • 圖檔 drawable
  • 畫面配置 layout
  • 選單 menu
  • 資料 values

Was this helpful?

  1. Android 專案開發
  2. 3 Android 專案架構與 Activity

3.5 資源 Resources

Previous3.4 Java/Kotlin 類別Next3.6 Android Support Library-支援函式庫

Last updated 4 years ago

Was this helpful?

一個應用程式除了用來控制行為的 Kotlin/Java 類別外,一定會用到其他如畫面配置、圖檔、樣式甚至字串資料等,這些在 Android 中稱之為「Resources 資源」,資源依其類型放置在專案的「res」資料夾中。在 程式中存取檔案的代價是高的,因為要經過開啟檔案、讀取、解析、辨識等工作,但程式碼又經常需要存取畫面中的元件。

在現代的手持裝置程式架構中,先整理一個應用程式中所使用的資源, 如圖檔、畫面 XML 檔、字串等,為每個資源「造冊」、「分類」,產生一個 「資源造冊類別」,讓程式直接利用資源造冊類別取得資源。在 Android 中, 這個類別的名稱就叫「R」,其套件名稱就是應用程式的套件名稱,如本例為 「com.tom.bmi」,類別的全名為「com.tom.bmi.R」。

R 類別

R 類別是自動產生的,不需要手動加入,也不需要修改它,當新增或修 改資源時,皆會自動產生新的 R 類別,例如新加入一個圖檔、修改畫面配置 檔中的元件屬性或加入一個元件時,只要按下儲存後,會立即產生對應最新資源狀態的 R 類別。

在 Layout 版面內的每個元件所設定的 id 屬性的用途為辨識,一個應用 程式的所有版面 (Layout) 中的每一個元件都會被自動掃描,依照 id 值製成一 個對照表,成為一個 R 類別,未來可在 Activity 類別中使用這個 R 類別快速存取到元件。

每個在資源中的值都會自動產生,自動指派不重覆的 Int 整數值,畫面中的元件 (View) 所設定的 id 值,可使用 R.id.xxx 存取,如果是字串資源 ( 在 /rec/values/strings.xml) 則會自動分配為 R.string.xxx,圖檔資源則會是 R.drawable.xxx,圖檔檔名去除副檔名後,即成為該圖檔在資源中的名稱。

除了上述常用的資源外,還有如 R.layout.xxx (版面)、R.array.xxx (陣列)、R.anim.xxx (動畫) 與 R.dimen.xxx (大小) 等資源。

圖檔 drawable

在應用程式中使用的圖檔,如圖示檔、按鈕的底圖與在畫面中使用到的 所有小圖示等,都應放置在這個目錄下。

畫面配置 layout

活動畫面的版面配置設定檔,有關畫面設置,如按鈕、輸入方塊、文字 區塊、下拉選單的的畫面設計檔,使用 XML 格式儲存在這個目錄下。

選單 menu

顯示在畫面上方的橫向列的功能選單,使用者以 XML 檔案方式設計選 單的項目與內容,儲存在此目錄下,可以在活動中使用、設定這些選單。

資料 values

字串 (string)、顏色 (color)、方塊區域大小 (dimension) 或字型大小 (text size) 在 Android 中都可以設定為資料 (value),設定後會成為 R 類別的項目 之一,例如R.string.字串名、R.color.顏色名等資源,可使用在類別的程式中。