### 第 1 章 Hello 貓咪
**教學制作**:一克拉
**App作品下載**:

**視頻教程**:稍候上傳
**效果說明**:
當你觸摸這只貓時,它會發出“喵嗚”聲;
當你搖晃它時,則將發出嘟嘟的震顫。
**一、【學習目標】**
本章用到了以下組件和概念:
1、選擇組件來創建應用:決定了應用 的外觀;
2、為組件設定行為:做什么以及何時做;
3、 使用組件設計器選擇組件,在Android設備上,有些組件可以顯示,有些則不可見;
4、從本地計算機加載媒體文件(聲音或圖像),并添加到應用中;
5、用塊編輯器來組裝程序塊,以此來設定組件行為;
6、 用App Inventor的實時測試功能對應用進行測試。你可以一邊創建應用,一邊在手機上看到它們外觀以及運行情況;
7、 將應用打包并下載到Android設備上。
**二、【制作環境】**
App Inventor的編程環境包括以下三個重要組成部分:
**組件設計器**,運行在瀏覽器中,創建應用過程中,用它來進行組件的選擇,并進行屬性設置;
**塊編輯器**也在瀏覽器中運行,用于創建組件的行為;
**測試設備**:在開發應用過程中,可以用Android設備對應用進行同步的運行與測試;如果你手邊沒有Android設備,你可以使用系統中集成的Android模擬器來測試應用。
**三、【制作組件】** 四個:
1、標簽(寵物小貓文字說明)
2、按鈕(作為熱點,圖像更改為貓咪)
3、聲音(非可視組件)
4、傳感器(Sensors,加速度傳感器AccelerometerSensor)
**四、【制作程序】** 塊編輯
1、對按鈕編程 :當手點上按鈕貓圖時,播放聲音并間隔半秒(500毫秒)
2、對聲音編程:把聲音塊程序加到按鈕事件中去
3、對傳感器編程:兩個屬性,加速度改變及傳感器晃動shaking(手機晃動)
**五、【制作過程】**
**(一)、創建一個Label(標簽)**
添加的第一個組件是Label:
1. 轉到組件面板(Palette),單擊Label(列表中的第五個),并將其拖動到預覽窗口(Viewer)中。你會看到一個矩形框出現在預覽窗口中,框里寫著Text for Label1。
2. 看組件設計器右側的Properties(屬性)框,它顯示了Label的屬性。在中間位置有一個Text屬性,下面是Label中顯示的文字。將文字改為“寵物小貓”并按回車鍵。你會看到在預覽窗口中的文字也改變了。
3. 單擊BackgroundColor(背景色)下面的方框來改變Label的背景色,目前屬性值為None(無背景色),從顯示的顏色列表中選擇藍色,并將Label的TextColor(文字顏色)屬性改為黃色。最后將FontSize(字號)屬性改為20。
**(二)、添加Button(按鈕)組件**
HelloPurr應用中的貓咪用Button組件來實現:
創建一個普通Button,然后將Button的圖像更改為貓咪。
1. 首先,需要下載的小貓的圖片,并保存在你的電腦上。
2. 在屬性框中點擊中部Image屬性,顯示“Upload File…”按鈕。
3. 單擊“選擇文件”按鈕,瀏覽并選擇之前下載的圖片文件,然后單擊確定。
4. 在測試設備中,也將顯示貓咪的圖片,此時按鈕看起來像一只小貓咪。
5. 注意到貓咪的圖片上顯示文字“Text for Button1”,將Button1的Text屬性改為“寵物小貓”一類的文字,或者干脆刪除所有文字。
**(三)、添加貓叫聲**
當點擊按鈕時,應用會發出貓叫聲。為此需要添加貓叫的聲音文件,并通過設定Button的行為來實現這一功能:
1. 如果meow.mp3文件尚未下載,現在下載;
2. 在左側的組件面板中,單擊Media類的標題打開Media組件列表。向預覽窗口中拖放一個Sound組件。無論你把它放在哪里,它都會出現在預覽窗口的底部,并被標記為“Non-visible components(非可視組件)”。非可視組件在應用中發揮特定作用,但不會顯示在用戶界面中;
3. 點擊Sound1以顯示其屬性。設置其Source屬性為meow.mp3。同貓咪圖片一樣,需要從電腦中加載這個聲音文件。加載完成后,Media列表中將出現kitty.png與meow.mp3兩個文件。
HelloPurr中的組件類型 面板中分組 命名 作用
Button User Interface Button1點擊發出貓叫聲
Label User Interface Label1 顯示文本“寵物小貓”
Sound Medi undefined Sound1播放貓叫聲
**(四)、塊程序,添加組件行為**
單擊設計器右上角的“Blocks”按鈕**切換到塊編輯器**。
**(1)、發出貓叫聲** 如下圖 (上部分)

**(2)、添加震動效果** 如下圖下部分

**(3)、將應用打包以供下載**
在測試設備上使用AI伴侶做實時測試,或上傳軟件包到手機中安裝測試。如果在App Inventor中對應用進行了修改,那么修改結果必須重新打包,并下載安裝新版本來替換設備上的原有版本。
**(4)、馬上用Android設備下載安裝**HelloPurr應用吧,這樣,你就可以與家人和朋友一起分享了!
**(5)、分享應用**
有兩種方式:
第一,將apk文件上傳到web上,讓其他人可以下載并安裝。
第二,保存為擴展名為aia的文件(HelloPurr.aia),用App Inventor選擇Project→Import project,并選擇.aia文件。這樣,使用者獲得了該應用的完整備份,對此備份的任何修改,都不會影響原有版本。
**(6)、改進**
通常是先創建一個應用,之后設法改進、完善它,并重新回到程序中來實現你的新想法,這正是一名優秀開發者的必經之路!
1 當搖晃設備時,貓的叫聲好像有回聲。這是因為在1秒鐘內,加速度傳感器多次觸發搖動事件,所以貓叫聲是重疊的。你會發現Sound組件有一個屬性Minimum interval(最小間隔),它決定了兩次聲音播放之間的時間間隔。當前設置為400毫秒(約半秒鐘),這個間隔小于單次貓叫的持續時間(500毫秒)。通過改變播放的最小間隔,可以改變聲音的重疊。
2 通常Android應用會保持在運行狀態,即使你不去管它們,應用程序與加速度傳感器之間的通信也不會間斷,因而貓叫聲也會相繼傳來。
要想真正退出程序,需要呼出HelloPurr應用并按下設備上的菜單按鈕,會呼出兩個選項,其中stop this application用來停止并完全關閉應用。
**小 結**
以下是本章中涵蓋的內容:
1 創建應用的過程:在組件設計器中選擇組件,并在塊編輯器中設定它們的行為,解決做什么及何時做;
2 有些組件是可見的,有些則不可見。可見組件會出現在應用的用戶界面中;不可見組件執行像播放聲音這類的事情;
3 通過在塊編輯器中組裝“塊”來定義組件的行為。
4 有些塊(命令)需要附加特定信息才能起作用。例如震動就必須設定振動的毫秒數。這些值被稱為參數。
5 數字塊用來表示數字。你可以將這些數字塊插入到需要參數的命令塊中。
6 App Inventor提供傳感器組件,加速度傳感器(Accelerometer Sensor)可以檢測到設備的移動。
7 可以將創建完成的應用打包并下載到手機上,它們將獨立于App Inventor而運行。
THE END