課程精進訪談專案 臺灣大學土木工程學系總整課程模組 ...1 臺大教學發展中心 課程精進訪談專案—臺灣大學土木工程學系總整課程模組
開發 Android 的新利器 01epaper.gotop.com.tw/pdf/ACL038000.pdf · 程式拼塊與流程控制...
Transcript of 開發 Android 的新利器 01epaper.gotop.com.tw/pdf/ACL038000.pdf · 程式拼塊與流程控制...
V
開發 Android 的新利器App Inventor 使用拼圖模式來組合程式,搭配好用的各式元件,即使完全未接觸過程式設計者也能開發功能強大的 Android App。
1.1 Android App 與 App Inventor 開發工具 ..............1-21.1.1 Android 簡介 .................................................................................................... 1-2
1.1.2 App Inventor 簡介 .......................................................................................... 1-3
1.2 建構 App Inventor 開發環境 ................................1-41.2.1 App Inventor 開發工具 ................................................................................ 1-4
1.2.2 安裝 Java 套件 ................................................................................................. 1-5
1.2.3 App Inventor Java 驗證 ................................................................................ 1-7
1.2.4 安裝 App Inventor 套件 ............................................................................... 1-8
1.3 第一個 App Inventor 專案 .................................1-111.3.1 App Inventor 專案管理 ..............................................................................1-11
1.3.2 Screen 元件.....................................................................................................1-13
1.3.3 Label 元件 .......................................................................................................1-15
1.3.4 開啟拼塊設計師 (Blocks Editor) .............................................................1-16
1.3.5 在模擬器中執行應用程式 ........................................................................1-18
1.3.6 在實機中執行應用程式.............................................................................1-20
1.4 專案維護 ...........................................................1-221.4.1 下載原始檔 .....................................................................................................1-22
1.4.2 原始檔內容 .....................................................................................................1-23
1.4.3 上傳原始檔 .....................................................................................................1-24
1.4.4 移除專案..........................................................................................................1-25
1.4.5 複製專案..........................................................................................................1-26
1.4.6 下載安裝檔 (.apk) .........................................................................................1-26
1.4.7 直接在手機安裝應用程式 ........................................................................1-27
本書目錄
CONTENTS
01Chapter
ch00.indd 5 2012/12/24 上午 11:55:10
VI
APP APP Inventor初學特訓班
基本元件與運算基本元件除了能控管是應用程式與使用者互動,並且經過精心安排介
面元件,就能設計出賞心悅目的使用者介面。
2.1 常用基本元件 ......................................................2-22.1.1 TextBox 元件 .................................................................................................... 2-2
2.1.2 PasswordTextBox 元件 ................................................................................. 2-3
2.1.3 Button 元件 ...................................................................................................... 2-3
2.1.4 Image 元件 ....................................................................................................... 2-6
2.2 介面排列元件 ......................................................2-72.2.1 HorizontalArrangement 元件 .................................................................... 2-7
2.2.2 VerticalArrangement 元件 .......................................................................... 2-9
2.2.3 TableArrangement 元件 .............................................................................. 2-9
2.2.4 巢狀介面排列元件 ......................................................................................2-11
2.3 基本拼塊功能與事件 ..........................................2-132.3.1 My Blocks (自訂元件) ..................................................................................2-13
2.3.2 事件 ...................................................................................................................2-14
2.3.3 第一個拼塊範例 ...........................................................................................2-15
2.4 基本運算 ...........................................................2-182.4.1 常數 ...................................................................................................................2-18
2.4.2 變數 ...................................................................................................................2-20
2.4.3 算術運算..........................................................................................................2-21
2.4.4 字串運算..........................................................................................................2-22
2.4.5 範例:計算 BMI 值 ......................................................................................2-23
2.4.6 比較運算..........................................................................................................2-25
2.4.7 邏輯運算..........................................................................................................2-26
02Chapter
ch00.indd 6 2012/12/24 上午 11:55:10
VII
程式拼塊與流程控制判斷式能讓執行程式依情況不同而執行不同程式碼;迴圈能處理程式
中重複的工作;陣列,能解決儲存大量同類型資料的問題。
3.1 判斷式 .................................................................3-23.1.1 單向判斷式 ....................................................................................................... 3-2
3.1.2 雙向判斷式 ....................................................................................................... 3-4
3.1.3 巢狀判斷式 ....................................................................................................... 3-6
3.2 迴圈 ....................................................................3-83.2.1 for range 迴圈 .................................................................................................. 3-8
3.2.2 巢狀迴圈..........................................................................................................3-11
3.2.3 while 迴圈 .......................................................................................................3-13
3.3 Lists (清單) .........................................................3-173.3.1 宣告 Lists .........................................................................................................3-17
3.3.2 foreach 迴圈 ...................................................................................................3-20
3.3.3 ListPicker 元件 ...............................................................................................3-22
3.3.4 管理 Lists .........................................................................................................3-26
自訂程序及內建程序程序能將具有特定功能或經常使用的程式拼塊,撰寫成獨立的小單元。
4.1 Notifier 元件 ........................................................4-24.1.1 Noti�er 元件特性 ........................................................................................... 4-2
4.1.2 顯示訊息............................................................................................................ 4-3
4.1.3 互動式對話方塊 ............................................................................................. 4-7
4.2 程序 ..................................................................4-124.2.1 無傳回值程序 (副程式) ..............................................................................4-12
4.2.2 有傳回值程序 (函式) ..................................................................................4-13
4.3 內建程序 ...........................................................4-174.3.1 亂數程序..........................................................................................................4-17
4.3.2 數值程序..........................................................................................................4-21
4.3.3 字串程序..........................................................................................................4-25
03
04
Chapter
Chapter
ch00.indd 7 2012/12/24 上午 11:55:11
VIII
APP APP Inventor初學特訓班
4.4 物件清單 ...........................................................4-294.4.1 建立物件清單 ................................................................................................4-29
4.4.2 設定物件清單元件屬性.............................................................................4-30
4.4.3 物件清單應用:輸入大寫中文數字 ....................................................4-32
APP專題:打雪怪遊戲「打雪怪遊戲」是以打地鼠遊戲架構為依據進行開發,但整個遊戲場
景是在冰天雪地中,月夜裡雪人和雪怪會不斷出沒。
5.1 專題介紹:打雪怪遊戲 ........................................5-2
5.2 專題使用元件 ......................................................5-35.2.1 Canvas元件 ....................................................................................................... 5-3
5.2.2 ImageSprite 及 Ball 元件.............................................................................. 5-6
5.2.3 Clock元件 .......................................................................................................... 5-9
5.2.4 Player 元件 ......................................................................................................5-16
5.2.5 Sound 元件 .....................................................................................................5-17
5.3 打雪怪遊戲設計 .................................................5-185.3.1 專題發想..........................................................................................................5-18
5.3.2 專題總覽..........................................................................................................5-18
5.3.3 介面配置..........................................................................................................5-19
5.3.4 專題分析和程式拼塊說明 ........................................................................5-20
5.3.5 未來展望..........................................................................................................5-27
APP專題:生活照心情塗鴉生活照心情塗鴉可以在拍攝的相片上進行塗鴉,或是加上心情圖示,
是相當有趣實用的範例。
6.1 專題介紹:生活照心情塗鴉 .................................6-2
6.2 專題使用元件 ......................................................6-36.2.1 Canvas元件 ....................................................................................................... 6-3
6.2.2 Camera元件 ...................................................................................................... 6-4
6.2.3 ImagePicker 元件 ........................................................................................... 6-4
05
06
Chapter
Chapter
ch00.indd 8 2012/12/24 上午 11:55:11
IX
6.3 生活照心情塗鴉設計 ............................................6-96.3.1 專題發想............................................................................................................ 6-9
6.3.2 專題總覽............................................................................................................ 6-9
6.3.3 介面配置..........................................................................................................6-11
6.3.4 專題分析和程式拼塊說明 ........................................................................6-14
6.3.5 未來展望..........................................................................................................6-28
APP 專題:經典打磚塊本專題利用基本的碰撞原理製作傳統打磚塊遊戲,若熟悉遊戲運作原
理,要製作較複雜的打磚塊關卡也非難事。
7.1 專題介紹:經典打磚塊 ........................................7-2
7.2 專題使用元件 ......................................................7-37.2.1 Ball 及 ImageSprite 元件.............................................................................. 7-3
7.2.2 AccelerometerSensor元件 .......................................................................... 7-6
7.3 經典打磚塊設計 .................................................7-117.3.1 專題發想..........................................................................................................7-11
7.3.2 專題總覽..........................................................................................................7-11
7.3.3 介面配置..........................................................................................................7-13
7.3.4 專題分析和程式拼塊說明 ........................................................................7-15
7.3.5 未來展望..........................................................................................................7-27
APP 專題:相片通訊錄本專題利用 Camera 元件直接照相後存入資料庫,再結合 PhoneCall 及 Texting 元件,使用者點按相片就能打電話及發簡訊。
8.1 專題介紹:相片通訊錄 ........................................8-2
8.2 專題使用元件 ......................................................8-38.2.1 TinyDB元件 ....................................................................................................... 8-3
8.2.2 PhoneCall 元件 ................................................................................................ 8-9
8.2.3 Texting 元件 ...................................................................................................8-10
8.2.4 打電話及發簡訊範例 .................................................................................8-10
07
08
Chapter
Chapter
ch00.indd 9 2012/12/24 上午 11:55:12
X
APP APP Inventor初學特訓班
8.3 相片通訊錄設計 .................................................8-138.3.1 專題發想..........................................................................................................8-13
8.3.2 專題總覽..........................................................................................................8-13
8.3.3 介面配置..........................................................................................................8-15
8.3.4 專題分析和程式拼塊說明 ........................................................................8-19
8.3.5 未來展望..........................................................................................................8-34
APP專題:籤王搖搖樂本專題使用隨身攜帶的手機,搖晃幾下,即可完成摸彩的動作,不僅
實用又有趣。
9.1 專題介紹:籤王搖搖樂 ........................................9-2
9.2 籤王搖搖樂設計 ...................................................9-39.2.1 專題發想............................................................................................................ 9-3
9.2.2 專題總覽............................................................................................................ 9-3
9.2.3 介面配置............................................................................................................ 9-7
9.2.4 專題分析和程式拼塊說明 ........................................................................9-12
9.2.5 未來展望..........................................................................................................9-36
APP專題:拼圖遊戲拼圖遊戲可以事先使用繪圖軟體,將一張完整的圖片分割成若干張的
小圖片並給予編號, 再將這些小圖片依編號組合,即可以進行。
10.1 專題介紹:拼圖遊戲 ..........................................10-2
10.2 ImageSprite 物件清單的拖曳 .............................10-310.2.1 單一 ImageSprite元件的拖曳 .................................................................10-3
10.2.2 多個ImageSprite 元件的拖曳 .................................................................10-5
10.3 拼圖遊戲設計 ..................................................10-1310.3.1 專題發想....................................................................................................... 10-13
10.3.2 專題總覽....................................................................................................... 10-13
10.3.3 介面配置....................................................................................................... 10-15
10.3.4 專題分析和程式拼塊說明 ..................................................................... 10-17
10.3.5 未來展望....................................................................................................... 10-31
10Chapter
09Chapter
ch00.indd 10 2012/12/24 上午 11:55:12
XI
AAppendix Google Play上架全攻略
Android 開發者可將應用程式上傳到 Google Play 商店供人下載,使
用者只需透過行動裝置的 Play 商店應用程式即可下載安裝使用。
A.1 準備工作 .............................................................A-2A.1.1 建立應用程式和金鑰的備份 .....................................................................A-2
A.1.2 設定應用程式的重要屬性 ..........................................................................A-3
A.1.3 下載 apk 檔 .......................................................................................................A-5
A.1.4 準備應用程式上傳時所需的圖片 ...........................................................A-5
A.2 將應用程式發佈到 Google Play 商店 ...................A-7A.2.1 註冊 Google Play 開發者 .............................................................................A-7
A.2.2 上傳應用程式 ..................................................................................................A-9
ch00.indd 11 2012/12/24 上午 11:55:12
5-18
APP APP Inventor初學特訓班
5.3 打雪怪遊戲設計
在這一章中,我們選擇一個難度不高,但介面卻非常吸引人的專題-「打雪怪遊
戲」當作讀者初次嘗試專題的體驗。同時為了讓讀者學習更順利,先花了一些篇
幅探討本專題使用的元件。
5.3.1 專題發想
「打雪怪遊戲」仍然保持打地鼠遊戲的架構,但整個遊戲場景是在冰天雪地中,
月夜裡雪人和雪怪會不斷出沒。遊戲者必須以最敏捷的動作,正確擊中從地洞中
突然冒出的雪人,否則雪人隨時又會立即鑽入地洞中,但是您也不能忙中出錯,
因為雪怪也會來攪局,它也可能隨時會從地洞中冒出來。
5.3.2 專題總覽
按下 Start 按鈕開始計時 60秒,得分從 0 開始。遊戲進行中雪人和雪怪會不斷
出沒,如果您擊中雪人會得到 10 分,但如果擊中雪怪則會扣 50 分。
專題路徑:<ch05\proj_MouseGame.zip>
建議使用實機執行
這個專題在實機執行時,觸控的效果極佳,然而在模擬器上執行時觸控的效果卻
不如預期,建議您在實機執行。
ACL038000.indb 18 2012/12/22 上午 09:34:15
6-2
APP APP Inventor初學特訓班
6.1 專題介紹:生活照心情塗鴉
心情好的時候,拿起手機拍下週邊的景物, 立即將相片設為畫布,利用這時的閒
情,在畫布上塗鴉,讓生活添加優雅和安逸。
在這個專題中,我們以 Canvas為主軸,首先以相機拍照或是以 ImagePicker 從
相簿中取得一張相片當作 Canvas 背景圖,再以 Canvas繪製點、 直線、 實心圓、
文字等圖形的基本功能,設計出如矩形、空心矩形和空心圓等更多的功能,然後
將繪製的結果存檔。
預設會先開啟相機拍照,當作 Canvas 的背景圖,也可以按下 開啟相簿,選
擇一張相片當作塗鴉的背景圖,然後選擇畫筆和繪圖模式在 Canvas 繪圖。
當作品完成之後,可以選擇將它存檔,並和親朋好友分享。
ACL038000.indb 2 2012/12/22 上午 09:34:18
9-2
APP APP Inventor初學特訓班
9.1 專題介紹:籤王搖搖樂
每次吃年終尾牙的時候,總是想到摸彩的好兆頭,現在的人這個時候如果還拿著
摸彩箱,用力翻攪後再抽出一張來摸彩,告訴您,這已經太落伍了。只要拿出隨
身攜帶的手機,搖晃幾下,摸彩名單立即出爐。
如果興緻好,也可以在摸彩時動點手腳,讓摸彩過程不易精準預測,增加摸彩的
剌激和樂趣。
建議使用實機執行
本範例使用加速度感應器以及 TinyDB 儲存資料,必須在行動裝置上執行。
ACL038000.indb 2 2012/12/22 上午 09:34:43
10-2
APP APP Inventor初學特訓班
10.1 專題介紹:拼圖遊戲
拼圖遊戲是很多人愛玩的遊戲,遊戲開始會從 3 張圖片中隨機抽出一張 (每張圖
片事先都已經切割成 9 張小圖片 ),按下 Start 按鈕即將小圖片打散並開始計時。
按下 Stop 按鈕則暫停計時,當 9 張小圖片都放在正確的位置時,即完成遊戲。
ACL038000.indb 2 2012/12/22 上午 09:34:54