[App Inventor] 用 If-else 區塊判斷輸入值正確性,並顯示 Notifier 提醒視窗
在昨天的 MIT App Inventor 2 安裝與初學,我寫了一個計算酒精與水混合濃度的 app,
不過裡面並沒有去確認輸入值的正確性,今天就來補上吧~
1. 加入 Notifier 元件
在 Designer 模式,把 Notifier 元件拉到 Viewer 區裡面,
因為 Notifier 是不可視元件,因此我們可以在 Components 區確認它的存在
(Viewer 區其實也有標示啦,不過個人覺得用 Components 確認比較清楚):
2. 實作檢查邏輯
在 Blocks 模式,原本我們是在 ButtonCalc.Click 就立刻做計算,
現在我們先加入一個 Built-in > Controls > If-then 區塊,
在 if 那邊加入數個 or 區塊,好讓我們可以輸入四個判斷式:
– InDensity <= 0
– InDensity > 100
– OutDensity <= 0
– OutDensity > 100
當判斷式有任何一個成立時,就呼叫 Notifier.ShowMessageDialog 來顯示一個提示視窗:
另外,我們加另外一個判斷式,
確保混合後的酒精濃度不會比原本的還高 (加水只會讓酒精濃度降低而已):
這邊是完成後的整體程式的樣子:
3. 測試程式
我們故意讓混合後的濃度比混合前還高,按下計算的按鈕後,
果然如我們預期的,顯示出「輸入值有誤」的提醒視窗了:
這次學到了 If-else, Or, 和 Notifier 元件的用法~
以 Or 區塊來說,在 App Inventor 裡的寫法,
要比平常程式 (如 python) 直接寫 if a <= 0 or a > 100 or b <= 0 or b > 100 要麻煩不少,
如果它也能提供一個設定鈕,可以讓 Or 裡面直接塞多個判斷式的話就方便多了~
One thought on “[App Inventor] 用 If-else 區塊判斷輸入值正確性,並顯示 Notifier 提醒視窗”
ephrain感覺你的網誌可以出一本程式書了,
話說自從有了FB後,
會打網誌的人越來越少,
最近在學Android Studio,
看到您對程式的熱情,
我覺得很棒
版主回覆:(09/07/2016 02:51:45 PM)
謝謝,您太過獎了,
我這邊都只是記錄一些小心得,
一方面自己可以再回來查,一方面也希望可以分享給別人~
學 Android 很棒喔,
我也感受到您對程式的熱情,一起加油吧 ^^/