Android介面設計 Android智慧型手機程式設計 建國科技大學 資管系 饒瑞佶 2012/4 V1 2012/8 V2

Slides:



Advertisements
Similar presentations
減重藥膳與耳穴 台北市立聯合醫院 陽明院區 中醫科 林俐嘉 醫師 一、肥胖定義 1.BMI 超過 24─ 體重過重;超過 27─ 肥胖 BMI ( Body Mass Index ,身體質量指數)它是 身高與體重之間關係的一種指標,數值越大代表 一個人越胖。 個人體重(公斤)除以身高(公尺)兩次,就是.
Advertisements

設計者:陳麗妃 台南市新化國中 健康促進議題 --- 均衡飲食 與健康體 位. 一、均衡飲食  全穀根莖類  蔬菜類  水果類  豆魚肉蛋類  低脂奶類  油脂與堅果類  醣類  脂肪  蛋白質  維生素  礦物質  水 *六大類食物*六大類營養.
怎樣才算「識飲識食」? 適當 適量 在日常生活中進食 適當 和 適量 的食物 和飲料。 何謂「適當」? 1. 不偏食,選擇不同種類的食物和飲料, 以吸收不同的營養素。 2. 多進食營養價值高的食物。 3. 避免進食熱量、脂肪、糖份、鹽份和膽 固醇含量過高的食物,以及加工食品 ( 如 罐頭和即食麵.
你把什麼喝下肚 ? 竹林國小 99 年 4 月 22 日 延杰股份有限公司 營養師:楊雅雯. 你最喜歡喝哪一瓶 ??
Android ADT + Android SDK Eclipse Eclipse 編輯器 JAVA JAVA 開發工具.
第二章 Android 简单界面开发 倚动软件工厂实验室 View 组件介绍 布局管理器 自定义组件 目录 CONTENTS.
均衡飲食與健康體位 逸馨園 營養師 鍾筱薇.
Android开发入门 -----第一个Android程序 主讲:李晓蕾
第2章  Android应用的界面编程.
主講者:簡言竹 護士 臺南市政府衛生局 關心您
認識健康體位: BMI:    維持18.5~24 腰圍: 男性:<90公分    女性:<80公分.
台南市永康區五王國小 體重過重學童衛教宣導
實驗五:多媒體播放器選單介面.
Part 2 開發Android應用程式的流程
第二章 JAVA语言基础.
ArrayAdapter & Spinner
Android App 系統開發教學 Luna 陳雯琳 2014/12/18
使用Android Studio 開發Android App 靜宜大學資管系 楊子青
建立Android新專案 建國科技大學 資管系 饒瑞佶 2010/10.
厦门大学数据库实验室 报告人:谢荣东 导师:林子雨 2014年8月30日
Chapter 4 手機控制項應用.
實驗四:單位轉換程式.
第2章 建立Android應用程式 2-1 Java語言、XML文件與Android 2-2 建立第一個Android應用程式
CH3 Eclipse.
Chapter 13 Android 實戰演練.
Android + JUnit 單元測試 建國科技大學資管系 饒瑞佶 2012/8/19V4.
其他視窗.
Ch06 再談選單元件 物件導向系統實務.
Android資料庫處理 Android智慧型手機程式設計 程式設計與應用班 建國科技大學 資管系 饒瑞佶 2012/4 V1
第一个Android程序 本讲大纲: 1、创建Android应用程序 2、Android项目结构说明 3、运行Android应用程序
Chapter 6 Advanced UI Design.
Android智慧型手機程式設計實務應用班
Ch5 Android應用程式的主要組成.
Chapter 7 Android應用元件 Android應用元件可以幫助我們獲得系統資源訊息(ActivityManager)、提供系統服務(Service)、搜尋系統服務(SearchManager)、監聽Intent訊息(Broadcast Receiver)以及資料共享(ContentProvider和ContentResolver)。
Android基本程式設計 建國科技大學 資管系 饒瑞佶.
CH10 對話框與分頁.
Android Intent 建國科技大學 資管系 饒瑞佶 2011/1.
Chapter 6 進階UI設計.
第9章 使用意圖啟動活動與內建應用程式 9-1 意圖的基礎 9-2 使用意圖啟動活動
ANDROID PROGRAMMING2.
CH7 佈局、按鈕與文字編輯元件.
Android + Service 建國科技大學 資管系 饒瑞佶.
Android 基礎.
實驗十四:顯示與控制地圖.
建立Android新專案 Android智慧型手機程式設計 程式設計與應用班 建國科技大學 資管系 饒瑞佶 2012/4 V1
第6章 建立Android使用介面 6-1 介面元件的基礎 6-2 Android的事件處理 6-3 按鈕元件 6-4 文字元件
營養 營養師 陳姵蓉.
Android檔案處理 建國科技大學 資管系 饒瑞佶 2010/10.
生活智慧王 樹德科技大學 資訊工程系 指導教授 : 陳毓璋 教授 小組成員: 劉上緯 翁維廷 洪文財.
第11章 系统结构与包模型模型.
實驗十一:待辦事項程式 (儲存在手機上).
主编:钟元生 赵圣鲁.
Android Studio介面設計 建國科技大學資管系 饒瑞佶 2016/3 V1.
Chapter 5 Basic UI Design.
Android視窗介面 建國科技大學 資管系 饒瑞佶 2010/10.
實驗九:延續實驗八, 製作一個完整音樂播放器
Location Based Services - LBS
選單.
第二章 Java语法基础.
Android視窗介面 建國科技大學 資管系 饒瑞佶 2010/10.
第二章 Java基本语法 讲师:复凡.
RecyclerView and CardView
健康久久.
Android Speech To Text(STT)
第2章 Java语言基础.
布局管理器 本讲大纲: 1、线性布局 2、表格布局 3、帧布局 4、相对布局 5、范例1:使用表格布局与线性布局实现分类工具栏
讀取網路資料及JSON開放資料 靜宜大學資管系 楊子青
----以《西北民族音乐学术资源数据库》为例 西安音乐学院 景 月 亲
控制UI界面 本讲大纲: 1、使用XML布局文件控制UI界面 2、在代码中控制UI界面 3、使用XML和Java代码混合控制UI界面
Part 8 Broadcast Receiver、Service和App Widget
Presentation transcript:

Android介面設計 Android智慧型手機程式設計 建國科技大學 資管系 饒瑞佶 2012/4 V1 2012/8 V2

Android介面設計 全部都透過XML檔案來決定 res/layout內 Activity內透過setContentView來設定

Model-View-Controller Model:儲存內容 MVC Model Model-View-Controller Model:儲存內容 View:顯示介面 Controller:控制程式操作 使用者 View 要求動作 顯示內容 Controller 查詢資料 Model 提供資料

Android視窗介面 Views 按鈕元件 影像按鈕元件 單選選單元件 複選選單元件 對話視窗 …

Android視窗介面 透過main.xml佈局資源檔設計介面 透過strings.xml文字資源檔設計介面文字 裡面的android:id屬性設定UI名稱 是程式與介面的連結點 透過strings.xml文字資源檔設計介面文字 透過drawable圖檔資源檔設計介面圖形 透過anim.xml設計介面動畫

XML

XML eXtensible-Markup-Language data of data 由tag構成,一定要有開始與結束tag 需有root tag Well-defined 開頭:   <?xml version="1.0" encoding="UTF-8" ?> 與HTML不同,並非HTML的進化

XML 原始main.xml XML表頭定義 root tag 一定要有 一定有名稱空間xmlns

XML 擴充後main.xml 擴充後tag 有幾個擴充後tag?

多國語言

多國語言 main.xml不動 使用規定語法的strings.xml目錄 只要Android上使用的語言更改,就會自動顯示對應的文字 繁體中文:values-zh-rTW 簡體中文: values-zh-rCN 日文:values-ja 英式英文:values-en-rUK 美式英文:values-en-rUS 只要Android上使用的語言更改,就會自動顯示對應的文字

多國語言 依據規定建立各語言的目錄與strings.xml檔案 修改顯示文字

多國語言 手機上切換語言 執行時顯示文字就會自動替換

介面佈局 Layout

View Hierarchy

Layout LinearLayout RelativeLayout TableLayout 將View以水平或垂直方式做線性排列 像建立表格般安排View/ViewGroup 的位置

LinearLayout

LinearLayout

RelativeLayout

RelativeLayout

TableLayout

介面檢視工具 Hierarchy View

Hierarchy View 要先啟動AVD SDK:hierarchyviewer

Hierarchy View 點兩下可預覽

介面設計工具 DroidDraw

DroidDraw 協助進行Android程式介面設計,拖拉放方式 協助產生XML碼,再貼回main.xml等檔案就可以 網路版 單機版 http://droiddraw.org/ 單機版

DroidDraw網路版 產生xml碼 物件 版面 xml碼

DroidDraw單機版 下載單機版

DroidDraw單機版 不需要安裝,直接執行droiddraw.exe

DroidDraw單機版 物件 版面 產生xml碼

其它Views http://developer.android.com/guide/tutorials/views/index.html

按鈕

按鈕View 使用Eclipse建立新專案 Project Name=Jao Application Name=MyButton Package Name=com.android.jao Create Activity= Jao

Jao專案畫面

設計main.xml 介面佈局資源檔 設計介面的組成元件,例如按鈕… res\layout\main.xml

設計main.xml 原始main.xml

設計main.xml 1 加入scrollview讓介面可以上下捲動 大小寫有差!

設計main.xml 代表有錯誤! 加入button讓介面出現按鈕元件 還有 Relative layout Table layout 程式與介面的連結 android:id 屬性 代表有錯誤! 2 加入button讓介面出現按鈕元件

android:id 介面佈局資源檔main.xml與程式的連結 格式:android:id=“@+id/名稱” @:解讀成識別符號而不是一般內容 +:新增一個id id/:識別符號被歸類在id類別下 自動在R.java中產生索引 取用方式:R.id.名稱

設計strings.xml 在strings.xml加入button_large文字對應

預覽main.xml 預覽main.xml

R.java R.Java自動加入資源

加入圖檔 加入arrow.png 確定圖檔路徑是在專案內

AndroidManifest.xml 2 更改Application的icon 1

執行程式 1

執行程式 目前只有畫面,沒有動作

加入按鈕處理程式 1 main.xml中的android:id屬性 2 3

按鈕跳頁 建立對應的畫面sample_page.xml 建立對應的程式sample_page.java res/layout/sample_page.xml 建立對應的程式sample_page.java src/com.example.android.button/ sample_page.java 在AndroidManiFest.xml中加入Activity

按鈕跳頁 建立對應的畫面sample_page.xml 2 1

按鈕View跳頁 建立對應的畫面sample_page.xml 複製main.xml的結構

按鈕跳頁 建立對應的畫面sample_page.xml

按鈕跳頁 建立對應的程式sample_page.java 1

按鈕跳頁 建立對應的程式sample_page.java 2

按鈕跳頁 建立對應的程式sample_page.java 複製Button.java的結構

按鈕跳頁 建立對應的程式sample_page.java 1 2 3 4

按鈕跳頁 建立對應的程式sample_page.java

按鈕跳頁 加入從Jao.java呼叫sample_page.java 先在main.xml加入一個按鈕

按鈕跳頁 在Jao.java加入呼叫按鈕與程式

按鈕跳頁 在AndroidManifest.xml中加入Activity

執行按鈕跳頁 解決” Unparsed aapt error(s)! Check the console for output” 問題(如果有)

執行按鈕跳頁

執行按鈕跳頁

執行按鈕跳頁

執行按鈕跳頁

跳畫面但不換Activity 只換Layout main main1 Java 只有1份

BMI範例

BMI計算範例 Body Mass Index = 體重(kg)/(身高*身高)(m) 產生新專案HelloBMI 利用Droiddraw設計介面與產生xml介面檔 修改main.xml 撰寫HelloBMI.java程式 利用按鈕view計算BMI值 利用兩個TextView呈現結果

BMI UI Body Mass Index = 體重(kg)/(身高*身高)(m) 我們需要 兩個顯示view(TextView) 來提示填入身高體重數字 兩個輸入view(EditText)來填入身高體重數字 需要一個按鈕view(Button)來開始計算 需要兩個顯示view(TextView)來顯示計算結果

輸入View <EditText </EditText> android:id=“@+id/名稱" android:layout_width="wrap_content" android:layout_height="wrap_content“ android:numeric="true”> </EditText>

BMI UI

修改main.xml 未修改前

修改main.xml 修改後

R.java 自動產生

BMI UI執行結果

BMI程式(I) 建立按鈕事件

BMI程式(II) 取得輸入值 計算BMI 顯示BMI 顯示身體狀況

BMI範例結果

練 習 重構:將HelloBMI中的findViewById與setOnClickListener改成副程式 將字串改存入string.xml中,再在HelloBMI.java中顯示

練 習 解 答 將HelloBMI中的findViewById與setOnClickListener改成副程式

More Samples http://developer.android.com/resources/samples/index.html

對話框(Dialog) I 具備實體,會佔記憶體 結構: AlertDialog.Builder builder=new AlertDialog.Builder(專案.this); builder.setTitle(對話框標題訊息); builder.setMessage(對話框內容); builder.show(); 具備實體,會佔記憶體

對話框(Dialog) I

對話框(Dialog) I

對話框 (Dialog) II 匿名實體,不佔記憶體 結構: new AlertDialog.Builder(專案.this) .setTitle(對話框標題訊息) .setMessage(對話框內容) .show(); 匿名實體,不佔記憶體

對話框 (Dialog) II

對話框 (Dialog) II 結果相同,但不佔記憶體

對話框(Dialog)按鈕 匿名實體,不佔記憶體 結構: new AlertDialog.Builder(專案.this) .setTitle(對話框標題訊息) .setMessage(對話框內容) .setPositiveButton("確認",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }) .show(); 匿名實體,不佔記憶體

對話框(Dialog)按鈕

Toast訊息框 import android.widget.Toast; Toast.makeText(專案.this, 訊息, 顯示時間).show();

Toast訊息框

Toast訊息框+try catch

練 習 加入使用者輸入0的錯誤訊息顯示 使用Try catch +Toast 顯示錯誤訊息

練 習 解 答

選 單 使用手機硬體上的MENU鍵進行呼叫顯示 建立選單 處理選項動作 onCreateOptionsMenu onOptionsItemSelected

選 單

選 單 onOptionsItemSelected onCreateOptionsMenu

選單基本結構 建立選單 onCreateOptionsMenu 處理選項動作 onOptionsItemSelected

加入選單選項 加入選項(群組id,i項目id,順序,名稱) menu.add(0, 識別符號, 0, 顯示文字) menu.add(0, MENU_ABOUT, 0, "關於BMI").setIcon(android.R.drawable.ic_menu_help); menu.add(0, MENU_QUIT, 0, "結束BMI").setIcon(android.R.drawable.ic_menu_close_clear_cancel);

選 單

處理選項動作 處理選項動作 onOptionsItemSelected

protected static final int MENU_ABOUT=Menu.FIRST; protected static final int MENU_QUIT=Menu.FIRST+1; @Override public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub menu.add(0, MENU_ABOUT, 0, "關於BMI").setIcon(android.R.drawable.ic_menu_help); menu.add(0, MENU_QUIT, 0, "結束BMI").setIcon(android.R.drawable.ic_menu_close_clear_cancel); return super.onCreateOptionsMenu(menu); } public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()){ case MENU_ABOUT: break; case MENU_QUIT: return super.onOptionsItemSelected(item);

選 單

練 習 在”結束”選項中加入詢問對話框 對話框中有”確定”與”取消”按鈕 按下”確定”就結束程式 按下”取消”就取消結束程式的動作

選 單

練 習 解 答

選單選項加入圖示 加入選項 menu.add(0, 識別符號, 0, 顯示文字).setIcon();

選單選項加入圖示

控制螢幕方向 預設是可以隨著手機方向旋轉而旋轉 可以在AndroidManiFest.xml中設定不旋轉(很多Game APP就是這樣做) <activity android:name="Main" android:screenOrientation="portrait"></activity> landscape:橫向 portrait:直向

設計隨螢幕旋轉與大小無關的UI 多使用DashboardLayout UI裡面也有include功能 請參考 http://www.androidhive.info/2011/12/android-dashboard-design-tutorial/

動態Layout

result

answer