Russian subtitles

← 13-03 Boolean Data Type

Get Embed Code
14 Languages

Showing Revision 3 created 12/16/2015 by Fran Ontanaya.

  1. Если я поставлю галочку в этом
    приложении, я добавлю взбитые сливки
  2. к нашему кофе.
  3. >> Так кофе станет еще вкуснее.
  4. >> Да.
    >> И, возможно, еще дороже..
  5. >> И то правда.
  6. Со временем мы научимся
    как создавать order_summary и
  7. затем отсылать его.
  8. >> Ага, так когда мы отсылаем
    order_summary [заказ], получаем кофе.
  9. Правильно?
    >> Да.
  10. >> Хорошо.
  11. >> Проблема в том, что мы точно не
    знаем, есть галочка в окне или нет.
  12. >> Подожди, ты же поставила галочку.
  13. Я же точно знаю!
  14. >> Легко увидеть своими глазами,
    когда ты человек, телефону не видно.
  15. >>Это ты кого назвала человеком?
  16. >> Неважно, когда вы добавляете
    CheckBox на ваше приложение,
  17. он создает объект Java.
  18. Вот так.
  19. >> И сколько там таких коробок?
  20. >> Много, потому что, на самом деле,
    внутри объектаCheckBox - переменная.
  21. >> Ладно.
  22. >> Булевая переменная.
  23. >> Булевая?
  24. Никогда этого слова раньше не слышал.
  25. >> Булевое число означает, что
    в них два состояния.
  26. >>Как Нью-Йорк и Калифорния?
    [игра слов теряется]
  27. >> Нет.
    Скорее как выключатель.
  28. >> Черт!
  29. Как ты это делаешь?
  30. Неважно.
  31. Так ты говоришь, когда мы создали
    CheckBox, у нас появился объектJava.
  32. Внутри него у нас есть
    переменная булевого типа.
  33. >> Все верно.
  34. >> И тип этой переменной
    подразумевает "вкл.", либо "выкл."
  35. >> Да, ее значение это включить
    или выключить.
  36. >> Ладно, значит я могу переключить
    с положения "вкл." на "выкл."?
  37. >> Ой, ничего не вижу.
  38. Можешь снова включить?
  39. Мы еще не закончили.
  40. >> Ну ладно.
    >> Итак, булевое значение
  41. может иметь длва состояния:
    "истина" или "ложь".
  42. Это отображает состояние окна
    CheckBox - есть метка или нет.
  43. >> Ух ты, слишком много галочек
    в этом описании.
  44. Давай чуть вернемся.
  45. Я подведу краткий итог.
  46. Скажи мне, если я где-то ошибусь.
  47. Когда мы создаем CheckBox,
    мы создаем этот объектJava.
  48. Внутри объекта у нас переменная.
  49. Ее тип, так вышло, булевый и этот тип
    переменных может иметь два значения:
  50. включено или выключено, один
    или ноль, истина или ложь.
  51. >> Точно!
  52. >> Хорошо. Давай поиграемся
    с булевым значеним.
  53. >> Ладно,
  54. пора его у тебя отобрать.
  55. Посмотрим, что говорит документация
  56. о булевых значениях.
  57. Поищу в Google типы данных для Java.
  58. Потому что булевое значение - один из
    простейших типов данных в Java.
  59. Простейший означает
    основной тип данных.
  60. Я пролистаю этот список простейших
  61. типов данных, чтобы найти
    булевый тип.
  62. А вот и он. Тут говорится,
  63. что у булевого типа данных есть две
    возможных величины: истина и ложь.
  64. Он используется для простых меток,
    отслеживающих истинные/ложные условия
  65. А еще говорится, что булевый тип
    занимает один бит информации.
  66. К вопросу о том, сколько места
    он занимает на компьютере.
  67. В любом случае, важно тут то, что у
    булевого типа две возможные величины.
  68. Вы можете подумать, что истина
  69. и ложь являются строковыми
    величинами, потому что это текст, но
  70. они не в двойных кавычках,
    поэтому они не являются строкой.
  71. На самом деле они фиксированные
    литеральные значения.
  72. Вы помните, что ноль и один тоже
    фиксированные литеральные значения
  73. или конкретные строки вроде
    hello или today?
  74. Это значит, что когда вы создаете
    булевую переменную, вы устанавливаете
  75. ее на одну из двух
  76. величин. Возвращаясь к аналогии с
    коробками, если переменная isChecked
  77. хранит информацию о том, стоит ли
    метка в окошке или нет,
  78. тогда внутри булевой переменной можно
    хранить истинное значение.
  79. Можно интерпретировать это как
    CheckBox отмечают галочкой.
  80. Или мы можем хранить ложное значение
    внутри этой переменной
  81. Тогда можно понимать это как
    CheckBox не отмечают галочкой.
  82. Булевое значение чудесно подходит
    для двух возможных состояний.
  83. От вас, как девелопера, зависит как
    толковать, как распределяется истина
  84. и ложь. Если вам нужно более двух
    состояний, вы не можете использовать
  85. булевые переменные. Надо использовать
    что-то другое вроде строки или целого
  86. числа. Заявление булевой переменной
    очень похоже на заявление int.
  87. Это не так сложно, как создание
    переменной объекта.
  88. Оно следует формату булевое значение,
    hasWhippedCream = true.
  89. У нас тип данных - булевое значение,
    за ним следует название переменной,
  90. любое, какое нам нравится, и затем
    начальное значение - истина или ложь.
  91. Вот пара других примеров.
  92. Тут я установила то же булевое
    значение на "ложь".
  93. А тут другое булевое значение
    под названием isRegistered,
  94. и я присваиваю ему значение "ложь".
  95. Например, эта переменная может пред-
    ставлять, использует ли пользователь
  96. наше приложение, есть ли у него
    зарегистрированный аккаунт у нас.
  97. Или вот другой пример.
  98. булевое значение,
    isOrderForPickup = true.
  99. Эта переменная может представлять,
    собирается ли заказавший кофе человек
  100. забрать его из магазина или
    оформить доставку.
  101. Наше приложение не поддерживает
    эти атрибуты, можете представить, как
  102. использование булевых переменных полезно,
    потому что возможно два состояния.
  103. Также прошу отметить, как я
    назвала эти переменные.
  104. Название булевой переменной должно
    соблюдать те же условные обозначения,
  105. что и другие названия переменных.
  106. Однако принято начинать с чего-то
    вроде has плюс что-то или
  107. is плюс что-то.
  108. Когда видите названия с has или is,
    скорее всего это булевая переменная,
  109. но не всегда. То, что я сейчас покажу
    уровнем чуть повыше и необязательно.
  110. Если заинтересуетесь,
    оставайтесь со мной.
  111. Это страница документации для
    класса CheckBox.
  112. Я нажму на просмотр источника, чтобы
    найти исходный код для
  113. класса CheckBox.
  114. Этот код сохранен
    в файле CheckBox.java.
  115. Я хочу показать вам, что внутри этого
    CheckBox класса есть
  116. булевая переменная
  117. Но я ее тут не вижу, давайте
    проверим суперкласс.
  118. Если эта перменная истинна, значит в
    CheckBox стоит галочка.
  119. Если эта перменная ложная, значит в
    CheckBox нет галочки.
  120. Вы заметили, что в этом названии нет
    слова has или is, но
  121. если спуститься сюда, вы увидите,
    что в других булевых переменных
  122. есть слово hast.
  123. Это дело предпочтений девелопера.
  124. В этом случае, возможно, просто
    ясно, что это булевая переменная
  125. из-за отмеченного
  126. состояния. И хотя булевые переменные
    не нашлись непосредственно в файле
  127. CheckBox.java, т.к. мы наследуем
    из класса CompoundButton,
  128. мы получили эту отмеченную
    булевую перменную бесплатно.
  129. В общем и целом, смотреть на
    исходный код для
  130. классов Android совершенно
    необязательно.
  131. Чтобы разрабатывать приложения
  132. для Android, все, что нуно знать, это
    как читать страницы с документацией.
  133. Итак, в этом видео мы научились как
    булевые переменные могут хранить
  134. значения "истина" или "ложь".
  135. В этом тесте попрактикуйтесь в
    создании булевой перменной и
  136. ее обновлении с помощью введения
    строк кода в предоставленных окнах.
  137. Введите эту строку точно здесь,
    это касается и остальных окошек.
  138. Затем подумайте о других хороших
    случаях использования для
  139. хранения информации
    в булевых переменных.
  140. Подумайте о том, что еще
    имеет два состояния.
  141. Пользуетесь ли вы будильником на
    своем телефоне?
  142. Когда вы включаете сигнал будильника
    или выключаете
  143. его, есть возможность, что это
    хранится в булевой переменной.
  144. Еще один из возможных вариантов
    булевой переменной - хотите ли вы
  145. повторить сигнал или нет.
  146. В приложении Gmail, если я очень хочу
    отметить звездочкой сообщение, что я
  147. получила от команды Gmail в 2011, я
    помечу его зведочкой или сниму метку.
  148. Так как тут есть два состояния данные
    могут храниться как булевая переменная
  149. Возможное название булевой переменной
    для этого может быть isStarred.
  150. Можно также использовать булевую
    переменную, чтобы отследить прочитано
  151. ли письмо или нет.
  152. Это письмо непрочитанное, а вот
    это уже прочитано.
  153. Давайте перейдем
    к приложению YouTube.
  154. В YouTube, когда он отображает
    список видео,
  155. если я их уже видела, там высвечи-
    вается небольшое окошко, где пишется
  156. watched [просмотрено] в верхнем
    левом углу изображения миниатюры.
  157. Факт, что я просмотрела
    видео или нет,
  158. может так же храниться как
    булевая переменная.
  159. Я просто показала вам некоторые
    случаи использования
  160. булевых переменных, а вы здесь
    придумайте свои.
  161. Можете просмотреть имеющиеся
    приложения на Android в поисках идей.