WEBVTT 00:00:00.240 --> 00:00:03.040 若我在應用程式裡勾選這個框格 就會新增鮮奶油 00:00:03.040 --> 00:00:03.850 到咖啡中 00:00:03.850 --> 00:00:06.445 那會讓咖啡更美味 00:00:06.445 --> 00:00:09.250 對 且可能更貴 00:00:09.250 --> 00:00:10.360 沒錯 00:00:10.360 --> 00:00:13.396 最後我們要學習 如何建立訂單概要 00:00:13.396 --> 00:00:14.400 然後送出 00:00:14.400 --> 00:00:17.238 喔,所以當我們送出訂單概要 就可以拿到咖啡 00:00:17.238 --> 00:00:17.868 對嗎? 對 00:00:17.868 --> 00:00:18.450 真好 00:00:18.450 --> 00:00:21.320 問題是我們不知道 框格有沒有被勾選 00:00:21.320 --> 00:00:23.250 等等,你剛剛勾選框格了 00:00:23.250 --> 00:00:24.280 我知道你勾選了 00:00:24.280 --> 00:00:28.180 人們很容易看到 但是手機要看到就困難了 00:00:28.180 --> 00:00:30.205 那是人嗎? 00:00:30.205 --> 00:00:33.700 總之 當你增加勾選框格到應用程式中 00:00:33.700 --> 00:00:36.688 就是建立一個爪哇目標 00:00:36.688 --> 00:00:38.168 就像這樣 00:00:38.168 --> 00:00:40.258 到底有多少個框格? 00:00:40.258 --> 00:00:45.300 很多,因為事實上 在框格目標裡我們有變數 00:00:45.300 --> 00:00:46.150 好 00:00:46.150 --> 00:00:48.020 布爾邏輯變數 00:00:48.020 --> 00:00:48.520 布爾? 00:00:48.520 --> 00:00:50.030 你沒聽過這個詞嗎? 00:00:50.030 --> 00:00:52.410 布爾的意思是這裡有兩種狀態 00:00:52.410 --> 00:00:55.080 像紐約與加州? 00:00:55.080 --> 00:00:56.635 不是 比較像電燈開關 00:00:56.635 --> 00:00:58.585 真是的 00:00:58.585 --> 00:01:00.550 這要怎麼做? 00:01:00.550 --> 00:01:01.180 總之 00:01:01.180 --> 00:01:04.890 你是說當我們建立一個勾選框格時 就有一個爪哇目標 00:01:04.890 --> 00:01:07.830 裡面有布爾邏輯變數 00:01:07.830 --> 00:01:08.460 沒錯 00:01:08.460 --> 00:01:11.450 變數類型是開或關 00:01:11.450 --> 00:01:13.300 數值是開或關 00:01:13.300 --> 00:01:17.230 好,所以 我可以把數值關掉 00:01:17.230 --> 00:01:18.470 我什麼都沒看到 00:01:18.470 --> 00:01:19.610 你可以再打開嗎? 00:01:19.610 --> 00:01:20.650 還沒完成 00:01:20.650 --> 00:01:23.720 喔,好 好,所以 00:01:23.720 --> 00:01:26.870 布爾邏輯有兩種狀態 對或錯 00:01:26.870 --> 00:01:29.340 代表勾選框格的狀態 00:01:29.340 --> 00:01:32.390 哇,這個敘述中有很多勾 00:01:32.390 --> 00:01:33.370 我們備份一下 00:01:33.370 --> 00:01:34.340 我要做結論 00:01:34.340 --> 00:01:35.670 我說錯的話告訴我 00:01:35.670 --> 00:01:38.890 當我們建立勾選框格 我們建立這個爪哇目標 00:01:38.890 --> 00:01:41.070 這裡面有變數 00:01:41.070 --> 00:01:46.580 叫做布爾邏輯變數 這類型變數有兩個值 00:01:46.580 --> 00:01:49.840 開或關,一或零 對或錯 00:01:49.840 --> 00:01:50.600 正確 00:01:50.600 --> 00:01:52.775 好 讓我們用布爾邏輯播放 00:01:52.775 --> 00:01:56.255 好 00:01:56.255 --> 00:01:57.410 該是時候拿走了 00:01:57.410 --> 00:02:01.010 讓我們看一下布爾邏輯的 00:02:01.010 --> 00:02:01.870 文件 00:02:01.870 --> 00:02:04.880 我要谷哥搜尋爪哇數據類型 00:02:04.880 --> 00:02:10.090 這是因為布爾邏輯是 爪哇原始數據類型之一 00:02:10.090 --> 00:02:12.400 原始,就是最基礎的數據類型 00:02:12.400 --> 00:02:15.110 我要捲動檢視原始清單 00:02:15.110 --> 00:02:17.440 數據類型直到找到布爾邏輯 00:02:17.440 --> 00:02:18.570 在這裡 00:02:18.570 --> 00:02:23.220 上面說布爾數據類型 只有兩個可能的值,對或錯 00:02:23.220 --> 00:02:26.360 是用來追蹤標示對或錯的情況 00:02:26.360 --> 00:02:29.590 然後說布爾邏輯訊息佔用一位元 00:02:29.590 --> 00:02:32.980 就是佔電腦多少空間 00:02:32.980 --> 00:02:36.920 總之,重要的是 布爾邏輯有兩個數值 00:02:36.920 --> 00:02:38.120 你可能會想 00:02:38.120 --> 00:02:41.610 對或錯是字串值 因為它們是文字 00:02:41.610 --> 00:02:45.800 但是事實上,它們不在雙引號內 所以不是字串 00:02:45.800 --> 00:02:48.220 它們是固定的字面數值 00:02:48.220 --> 00:02:51.870 你記得固定字面數值 像零或一或 00:02:51.870 --> 00:02:54.400 特定字串像哈囉或今天? 00:02:54.400 --> 00:02:57.380 這表示當你建立一個布爾變數時 你可以設為這兩個 00:02:57.380 --> 00:02:58.300 數值之一 00:02:59.350 --> 00:03:03.498 回到我們的框格類比 若我們有個變數叫isChecked 00:03:03.498 --> 00:03:07.102 且儲存在不管是否勾選的框格中 00:03:07.102 --> 00:03:10.710 則這個布爾變數中 我們可以儲存數值為對 00:03:10.710 --> 00:03:14.800 則可以解釋為勾選框格被勾選 00:03:14.800 --> 00:03:18.060 或者我們可以儲存變數值為錯 00:03:18.060 --> 00:03:22.260 則可以解釋勾選框格未被勾選 00:03:22.260 --> 00:03:26.590 布爾邏輯很適合有兩個可能的狀態 00:03:26.590 --> 00:03:30.850 你做為開發者可以 解釋對或錯的關係 00:03:31.850 --> 00:03:35.790 若你需要兩個以上的可能狀態 就不能使用布爾邏輯 00:03:35.790 --> 00:03:38.960 你要使用像字串或整數 00:03:38.960 --> 00:03:42.840 聲明布爾變數與聲明int很類似 00:03:42.840 --> 00:03:45.950 不像建立目標變數那樣複雜 00:03:45.950 --> 00:03:49.850 照著布爾有鮮奶油=對的格式 00:03:49.850 --> 00:03:53.880 我們有數據類型,也就是布爾 後面是變數名稱 00:03:53.880 --> 00:03:58.225 可以隨你命名 與初始數值對或錯 00:03:58.225 --> 00:04:00.020 這裡有幾個例子 00:04:00.020 --> 00:04:02.339 這裡我設定同一個布爾邏輯為錯 00:04:03.540 --> 00:04:05.850 這是不同的布爾邏輯 叫isRegistered 00:04:05.850 --> 00:04:08.360 我初始設定為錯 00:04:08.360 --> 00:04:12.400 舉例來說,這個變數可以 代表使用應用程式的使用者 00:04:12.400 --> 00:04:15.050 有沒有跟我們註冊帳戶 00:04:15.050 --> 00:04:16.329 這是另一個例子 00:04:16.329 --> 00:04:19.470 布爾邏輯是isOrderForPickup=對 00:04:19.470 --> 00:04:22.740 這個變數可以代表 有人訂購咖啡 00:04:22.740 --> 00:04:26.080 想要自取或外送 00:04:26.080 --> 00:04:29.780 因為我們的應用程式不支援 這些特點,你可以想像 00:04:29.780 --> 00:04:33.960 使用布爾邏輯多有用 因為這些東西有兩種可能狀態 00:04:35.020 --> 00:04:38.170 注意我命名這些變數的方式 00:04:38.170 --> 00:04:41.070 布爾邏輯名稱必須 照著相同變數名稱的 00:04:41.070 --> 00:04:42.520 規定 00:04:42.520 --> 00:04:46.780 但是,通常開始為某東西或 00:04:46.780 --> 00:04:48.620 是某種東西 00:04:48.620 --> 00:04:53.450 當你看到名稱中有是 可能是布爾邏輯,但不是絕對 00:04:53.450 --> 00:04:56.470 我要示範的是較進階的選項 00:04:56.470 --> 00:04:58.180 所以如果你有興趣 你可以繼續 00:04:59.230 --> 00:05:01.950 這是勾選框格等級的檔案頁面 00:05:01.950 --> 00:05:05.320 我要點選檢視來源 查看勾選框格等級的 00:05:05.320 --> 00:05:06.960 來源編碼 00:05:06.960 --> 00:05:09.820 這個編碼儲存在CheckBox.java file裡 00:05:09.820 --> 00:05:12.865 我要示範的是 這裡面有個布爾變數 00:05:12.865 --> 00:05:14.220 勾選框格等級 00:05:14.220 --> 00:05:18.450 但我在這裡沒看到 讓我們查看超級等級 00:05:18.450 --> 00:05:21.200 若數值為對 勾選框格被勾選 00:05:21.200 --> 00:05:24.320 若為錯 框格沒被勾選 00:05:24.320 --> 00:05:27.800 你注意到這個名稱 不包含有或是的字眼 00:05:27.800 --> 00:05:30.850 但如果往下看 你會看到其他布爾邏輯 00:05:30.850 --> 00:05:32.900 裡面有這個字 00:05:32.900 --> 00:05:34.740 這取決於開發者的喜好 00:05:34.740 --> 00:05:37.770 在這個例子中,可能很清楚 勾選狀態 00:05:37.770 --> 00:05:38.494 是布爾邏輯 00:05:39.610 --> 00:05:43.750 不直接在CheckBox.java.file 找到布爾邏輯 00:05:43.750 --> 00:05:46.640 因為我們從CompoundButton 直接套用等級 00:05:46.640 --> 00:05:49.270 我們免費得到勾選的布爾邏輯 00:05:49.270 --> 00:05:51.110 總地來說 尋找安卓等級的來源編碼 00:05:51.110 --> 00:05:54.220 不是必須的 00:05:54.220 --> 00:05:55.480 要開發安卓應用程式 00:05:55.480 --> 00:05:59.250 你要知道的是 如何查看檔案頁面 00:05:59.250 --> 00:06:02.470 好,在這影片中 我們學到布爾邏輯可以儲存 00:06:02.470 --> 00:06:03.860 對或錯的值 00:06:04.960 --> 00:06:08.000 在小測試中 練習建立布爾變數 00:06:08.000 --> 00:06:12.420 並在下框中輸入編碼更新 00:06:12.420 --> 00:06:15.720 在這裡輸入 另一格也是 00:06:16.990 --> 00:06:19.700 然後我要你想想 其他可以儲存在 00:06:19.700 --> 00:06:21.720 布爾邏輯的好範例 00:06:21.720 --> 00:06:23.550 想想什麼有兩種可能狀態 00:06:25.110 --> 00:06:28.200 你有使用手機鬧鈴叫你起床嗎? 00:06:28.200 --> 00:06:30.380 可能當你打開鬧鈴 00:06:30.380 --> 00:06:33.530 或關掉 那就會儲存在布爾變數中 00:06:34.680 --> 00:06:37.310 另一個可能的布爾變數是 00:06:37.310 --> 00:06:38.380 當你想要重複鬧鈴 00:06:39.600 --> 00:06:43.490 在Gmail應用程式 若我想要標示從Gmail團隊2011年 00:06:43.490 --> 00:06:48.960 寄的特別訊息 我可以標星號或取消標星號 00:06:48.960 --> 00:06:52.140 因為這有兩種狀態 就可以儲存在布爾變數中 00:06:52.140 --> 00:06:55.890 可能的布爾變數名稱是 isStarred 00:06:55.890 --> 00:06:59.880 你也可以使用布爾變數 追蹤信件是否 00:06:59.880 --> 00:07:01.210 已經讀取 00:07:01.210 --> 00:07:04.230 這封電子郵件未讀 這封電子郵件已讀 00:07:05.300 --> 00:07:07.130 說到YouTube 我們打開YouTube應用程式 00:07:08.560 --> 00:07:11.140 在YouTube應用程式中 顯示影片清單時 00:07:11.140 --> 00:07:14.090 若我已經觀看 這裡就會出現一個小文字框 00:07:14.090 --> 00:07:17.770 在左上角的小圖示顯是已觀看 00:07:17.770 --> 00:07:19.359 我已經觀看 00:07:19.359 --> 00:07:22.870 或尚未觀看的事實 可以儲存在布爾變數中 00:07:22.870 --> 00:07:25.140 我舉出一些布爾邏輯的例子 00:07:25.140 --> 00:07:27.180 試著自己想出一些例子 00:07:27.180 --> 00:07:29.790 你可以瀏覽目前的安卓應用程式 來取得一些靈感