CountDownTimer (Таймер обратного отсчета) | Android Studio & Kotlin

Поділитися
Вставка
  • Опубліковано 14 гру 2024

КОМЕНТАРІ • 109

  • @ДмитрийМ-х9щ
    @ДмитрийМ-х9щ 9 місяців тому +1

    Отличный урок! Всё доступно объяснено и работает с первой попытки повторить! Спасибо!

  • @gdmbre
    @gdmbre Рік тому +1

    я дошел до последнего урока. какое счастье)

  • @anatoliyvechkutkin93
    @anatoliyvechkutkin93 3 роки тому +27

    Очень даже интересно будет смотреть продолжение! Ну, и как следствие - сунуть это все в фоновый процесс (хоть и это работает), хоть и понимаю, что тема работы приложения в фоне - большая, требует серии.

    • @frozen1093
      @frozen1093 2 роки тому

      Для фонового процесса надо workManager юзать?

  • @ДенисПодзоров-д9б
    @ДенисПодзоров-д9б 3 роки тому +4

    Сергей, огромное спасибо за урок! Это один из лучших каналов про Kotlin и Android.

  • @ЮлияЖаворонкова-л3в

    Классный урок! Каждый раз открываю для себя новые возможности!

  • @EnTranceWeTrust
    @EnTranceWeTrust 2 роки тому +8

    Зашел сюда с 5-го урока, думал, будет ничего не понятно, но нет! Основная суть понятна, так что пойду вас догонять, спасибо еще раз за уроки, все просто, понятно и главное интересно!

  • @tipsycattipsycat4972
    @tipsycattipsycat4972 2 роки тому +2

    Ееее! Полностью досмотрел курс)) Спасибо Вам огромное!!!

  • @АлексейОрехов-с1з
    @АлексейОрехов-с1з 2 роки тому +3

    Спасибо Огромное Автору за серию Уроков для начинающих по Kotlin. Примерно Месяц назад начал смотреть. На сегодняшний день это было последний урок.
    Хоть я начинал учиться по Котлин и Андроиду с платных уроков. Но эта серия уроков , заполнили у меня важные жизненно для работы пробелы.
    Особенно мне помогли уроки про разницу Массивах и Коллекций, Intent, Toolbar(ActionBar), Drawable (Navigation Side Bar), уроки по Fragments помогли понять как работать с ViewModel and LiveData потому что на других курсах подробно могут говорить, но если не объяснят суть доступным методом для чего это и зачем то такие уроки не достигают своей цели и становятся малоэффективны , а тут информации немного было по LiveData, но была именно та суть, доступный пример который мне помог в понимание в отношение ViewModel и LiveData. Также очень благодарен за курс по SQLite блокнот.

  • @planar.dragon5444
    @planar.dragon5444 3 роки тому +5

    Я только начинаю учиться, и с программированием никогда не имел дела. Спасибо за очень подробный урок. Хорошо что Вы каждый отдельный момент в отдельном уроке разбираете, для новичка для которого это не так ясно - это самое то, чтоб начать разгонять мозг. Очень понятно показанный урок, все предельно ясно.

  • @letscheckoutthegames344
    @letscheckoutthegames344 3 роки тому +2

    Sergey you the best teacher.I like your lessons.Their lessons very interesting and very well.

  • @letscheckoutthegames344
    @letscheckoutthegames344 3 роки тому +13

    Сергей сделай пожалуйста небольшой ролик о себе.Я считаю что многие согласны со мною.

  • @Lucky_Mirror
    @Lucky_Mirror Рік тому

    Вот это поворот! Это я только что про композ узнал)) И вы главное такие молчите все))

  • @OCEH6
    @OCEH6 3 роки тому +2

    Большое спасибо! Прекрасного дня!

  • @fugenfuller940
    @fugenfuller940 2 роки тому +1

    Здорово, что курс продолжается. Спасибо Сергей!

  • @Peach_puppYy
    @Peach_puppYy 2 роки тому +1

    Большое спасибо за такой курс! идем дальше!

  • @ЕленаГундырева-ы5и
    @ЕленаГундырева-ы5и 2 роки тому +1

    Спасибо за ваши уроки. Все предельно ясно. Очень доступно объясняете. Я запнулась только об recyclerview. Пришлось осваивать подольше

    • @NecoRuChannel
      @NecoRuChannel  2 роки тому

      да эта тема одна из самых сложных

  • @tigranapahuni8372
    @tigranapahuni8372 2 роки тому +1

    Спасибо за уроки. Все было очень super!

  • @Qwerty-qz7gg
    @Qwerty-qz7gg Рік тому +1

    Комментарий в поддержку)

  • @qwerty6509
    @qwerty6509 3 роки тому +2

    Спасибо большое за урок. Ждём продолжения

  • @antonchandi75
    @antonchandi75 Рік тому

    Сергей, большое спасибо за этот курс! Благодаря вам многое понял, сделал первые шаги, небольшое приложение. Для начинающего это очень важно - почувствовать, что можешь что-то на практике, даже когда это самые простые вещи. Буду продолжать смотреть ваши уроки на Udemy.

  • @antonychepel5797
    @antonychepel5797 3 роки тому +7

    Спасибо за урок!) Да, конечно, можно развить тему и создать на основе этого приложение "Таймер для бега" ну или что то в этом духе) Скомбинировать с Shared Preference, сохраняя лучшие результаты

  • @anatoliyvechkutkin93
    @anatoliyvechkutkin93 2 роки тому +1

    ¡Feliz año nuevo! Ждем продолжения....

  • @Densoll
    @Densoll Рік тому

    Спасибо за урок!

  • @OlgaSnadina
    @OlgaSnadina 3 роки тому +1

    Спасибо за урок! Интересная тема, конечно надо развивать и на выходе получим небольшое полезное приложение в "копилочку новичка" для резюме.

  • @Siberia55rus
    @Siberia55rus 3 роки тому +1

    Интересная тема. Можно по таймеру отправлять смс для запуска авто или ещё какое нибудь действие, по выйфай свет включать.

  • @РусланУральский-п6ы

    Отлично! Ждём продолжения

  • @antonnikolaev5264
    @antonnikolaev5264 3 роки тому

    Большое спасибо за урок!))
    Очень ждал этой темы)

  • @АлександрАлексеев-ы8ь

    Спасибо за урок! Именно он для меня интересен, я очень хотел бы в следующем уроке увидеть на одном экране 3 кнопки с функциями, то есть 2 секундомера, которые работают отдельно друг от друга, каждый от своей кнопки запуска, а так же третью кнопку как здесь обратного отсчёта, буду очень благодарен !

  • @drakonoviyXomYachok
    @drakonoviyXomYachok 2 роки тому +2

    Я наверное один такой гениальный пытался запустить этот код на 5 андроиде. Не запустилось, потом обновил все компоненты, затем поставил на эмулятор последний андроид, R кажется, потом еще ошибки были из за graddle(стоял compileSdk 30 и targetSdk 30, я поставил compileSdk 31 и targetSdk 31). Затем проделав все эти танцы с бубном код наконец-то запустился. В общем мораль такова, обновлять все компоненты, если есть ошибки, вбивать их в поисковик и там смотреть, что интернет тебе подскажет.

  • @dimon9918
    @dimon9918 3 роки тому +3

    У тебя есть дар преподавать Я получил адройд разрабочика на твоих лекциях

    • @NecoRuChannel
      @NecoRuChannel  3 роки тому +1

      Спасибо!

    • @dimon9918
      @dimon9918 3 роки тому

      ​@@NecoRuChannel Учи друг после слов откуды ты знаешь даже это Я скажу ичил некоРу Останешься серым кардиналом Кто это ? Пусть ищют Я не подхалим и лизун просто у меня будет диплом

    • @vadim1997a
      @vadim1997a 3 роки тому

      @@dimon9918 А когда ты выучишь английский алфавит, то диплом лингвиста-переводчика получишь, да?

  • @dzenbuddha5527
    @dzenbuddha5527 3 роки тому +2

    Да, круть, неплохо было бы работа в фоне (workmanahger)и с нотификацией по окончании отсчета

  • @catharina-soft.789
    @catharina-soft.789 3 роки тому +1

    Спасибо огромное, очень интересно, очень ждём работу с MSSQL и MYSQL. И ещё очень интересная тема и не где не освещённая это ВИДЖЕТЫ-ну очень надо))

  • @vladimirlaiu7893
    @vladimirlaiu7893 2 роки тому +2

    Прекрасный урок спасибо большое! Хотелось то же самое на Java с пикерами для установки времени и возможностью подачи звукового сигнала или проигрывания мелодий всяких по истечении установленного времени

  • @sergwolfsergwolf1885
    @sergwolfsergwolf1885 3 роки тому +1

    Очень интересно, спасибо за уроки! Можно ещё показать секундомер на часы или фитнес трекер?

  • @pavelgera72
    @pavelgera72 3 роки тому

    благодарю за урок

  • @meiram1223
    @meiram1223 2 роки тому

    spasibo 3a urok

  • @dust_23463
    @dust_23463 2 роки тому +2

    Будет ли продолжение?

  • @ЕвгенийАртемеев-г4я

    Привет, спасибо за материал! Продолжение будет? Также интересует как сделать при отсчете времени сколько например откачали жидкости при производительности насоса допустим 15л/с

  • @БарсикПетрович-ш4й
    @БарсикПетрович-ш4й 3 роки тому +2

    Привет, сделайте побольше маленьких уроков про маленькие приложения на 1 или 2 видео. А то 10 уроков смотришь, и на 5 у тебя ошибка вылазит и ты не знаешь как ее править. А с такими маленькими видосиками🤗 можно этого опасаться меньше. Лайкосик👍

    • @dimon9918
      @dimon9918 3 роки тому +1

      УчитьсЯ надо на своих ошибках пока не разберешься ты не затянешься в будущим 10 ошибок Прогеры так и делают всегда вникают
      Косяча Это тема тех не сравниваю с БОГОМ а работа мыслить за каждый процесс Тут нет АЗБУКИ и формул решения тут есть пытатся думать за всех процесс
      ОФФ

  • @sergeyplotnikov5031
    @sergeyplotnikov5031 3 роки тому

    Большое спасибо! Очень интересно увидеть реализацию таймера во фрагменте с учётом lifecycle - чтобы таймер запускался после перезапуска приложения, если изначально указанное время в таймере ещё не прошло. Например запустили таймер на 10 минут, а через 2 минуты перезапустили приложение и таймер должен сам запуститься и работать оставшиеся 8 минут.

  • @frootyfloyd9398
    @frootyfloyd9398 3 роки тому +1

    Сергей, можно сделать урок про правильное использование параллельных потоков и корутин?

  • @mikewazowski255
    @mikewazowski255 2 роки тому

    Neco спасибо вам большое за этот курс и за тоот труд который вы проделывапете,все очень доступно и подробно объясняете.Продолжайте делать то,что вы делаете.С нетерпением ждем следующих уроков по Андроид и котлин в частности.Жму вам руку.
    Хочу отметить,что ссылка на подписку на канал просто переводит на главную страницу канала.В итоге так и не понятно как подписаться.

  • @ЮраЧапин-ш1ш
    @ЮраЧапин-ш1ш Рік тому

    Добрый день. Будет ли продолжение данной темы про таймер, или уже где-то есть? Хочу понять как сделать таймер в формате чч:мм:сс. По той информации которая есть в интернете пока не получается создать.

  • @давидмадилян-ь7н
    @давидмадилян-ь7н 3 роки тому +1

    Но за урок спасибо)

  • @piranhavw
    @piranhavw 2 роки тому

    Весьма полезный урок.
    Интересной будет продолжение? или тема не нашла интереса?

  • @domontowicz
    @domontowicz 3 роки тому +1

    Очень интересно как сделать мультитаймер с одновременным запуском сразу нескольких таймеров и работой в фоновом режиме.

  • @ПростоУлыбка-ш2о
    @ПростоУлыбка-ш2о 3 роки тому +6

    Сергей, привет. Можешь снять ролик о применении фрагментов и активити. В каких случаях что использовать

  • @АлександрСемёнов-е8ц

    А можно ещё урок по работе с датами, например где взять сегодняшнюю дату и текущее время, чтобы использовать в приложении?

  • @Бардзо
    @Бардзо Рік тому

    я сначала смотрю урок,А потом пересматриваю и переписываю

  • @domontowicz
    @domontowicz 3 роки тому +1

    Еще интереснее самостоятельно создать приложение TrackView (охранное видеонаблюдение с помощью телефона с записью зашифрованного видео в гугл облако)

  • @anonym1548
    @anonym1548 3 роки тому

    Хотелось бы информации, как работают приложения в фоне и как это реализовать.

  • @сергейбаглаев-ф3х
    @сергейбаглаев-ф3х 2 роки тому

    Добрый день! Как сделать циклический таймер который будет например обновлять post в esp8266?

  • @charismaticmarazmatic2889
    @charismaticmarazmatic2889 2 роки тому

    @neco а как сделать, чтобы таймер был в секундах?
    И как сделать так, у меня будет типа квиза, при нажатии кнопки ответ, таймер останавливался?

  • @kostakosta3679
    @kostakosta3679 2 роки тому +1

    этот курс был интересный только был 1 момент видео где изучали адаптер и списки ты не показал обработчик нажатий сказал в следующем видео но его не было после как я нагуглил нашел то видео но хотелось чтобы оно было в списке видео этого курса

  • @FRVNZs
    @FRVNZs 2 роки тому

    Здравствуйте. А можете рассказать как сделать, чтобы приложение показывало сколько дней прошло с определенной даты?)

  • @svhanz
    @svhanz 2 роки тому +2

    Доброго! На этом уроке курс прекратился или после него нужно переходить на какие-то другие ваши курсы, если они есть, как логическое продолжение данного курса?
    Вопрос к чему- было бы очень обидно начать обучаться с вами и потом внезапно закончить...
    Спасибо!

    • @NecoRuChannel
      @NecoRuChannel  2 роки тому +1

      Привет, уже есть часть 2 курса. Посмотрите в плейлистах. А также есть 3 платных курса которые можно пройти после курса для начинающих, что бы набратся опыта на конкретных примерах

    • @svhanz
      @svhanz 2 роки тому +1

      @@NecoRuChannel Спасибо за ответ! Ютуб конечно далеко не лучшая площадка для общения, но тем не менее спрошу- 1. 2-ая часть курса закончена или в процессе?
      2. Что подразумевается под "курс для начинающих"? Это 1-ая и 2-ая часть бесплатного курса?
      3. Где можно посмотреть на платные курсы, дабы познакомиться с ними на перспективу, так сказать?
      4. Вопрос несколько глупый, но от чайника, то есть от меня, поэтому я таки не постесняюсь его задать, с вашего позволения конечно- Для разработку под Андроид еще существует Дают с его Флаттер.
      И меня терзают сомнения по поводу развития андроид разработки на Котлин или на Флаттер.
      Интересно узнать ваше мнение, что таки перспективнее?
      Я понимаю, что вы разработчик на Котлин, но хотелось бы объективную оценку, без оглядки на стэковерфлоу и типа того. Спасибо!

    • @NecoRuChannel
      @NecoRuChannel  2 роки тому +1

      @@svhanz
      1 - часть 2 еще в процессе там нет конца, постоянно что то буду показывать. Основная часть для начинающих это часть 1.
      2 - посмотреть описание платных курсов можно тут: neco-desarrollo.es/
      3 - Нативная разработка всегда лучше. flutter это мультиплатформа но это не нативная разработка, приложения весят больше работают хуже, если есть проблемы нужно звать нативных разработчиков для их решения. Выучив нативную разработку после добавить в свои знания Flutter очень просто. Нативная всегда выше оплачивается и идет на первом месте.

  • @DenysBatyzhmanskyi
    @DenysBatyzhmanskyi 2 роки тому

    Таким образом сделал. Только как тут сделать что бы при повторном нажатии на кнопку не было хаоса с таймером??
    val handler = Handler(Looper.getMainLooper())

    binding.button.setOnClickListener {
    var timer = Thread {
    for (i in 100 downTo 0) {
    Thread.sleep(100)
    handler.post {
    binding.tvtimer.text = i.toString()
    if (i == 0) {
    binding.tvtimer.text = "Finish"
    }
    }
    }
    }.start()

  • @qugenfifa
    @qugenfifa 2 роки тому +1

    У меня вопрос можно ли писать на ктолине соц сеть по типу инстаграм вк ?

    • @NecoRuChannel
      @NecoRuChannel  2 роки тому

      Конечно можно

    • @qugenfifa
      @qugenfifa 2 роки тому

      @@NecoRuChannel Спасибо, хотел бы попробовать что-то написать, правда ток знаю си шарп xaml чучуть, щас в коледже начинаем изучать.

  • @давидмадилян-ь7н
    @давидмадилян-ь7н 3 роки тому +1

    А что будет если перевернуть экран, важная проблема может стоило бы рассказать про viewModel, либо про savedBundleInstance

    • @NecoRuChannel
      @NecoRuChannel  3 роки тому +3

      Это урок про таймер. Мы не рассматриваем все возможные варианты что будет с таймером при повороте экрана или закрытии приложении и.т.д это совсем уже другие темы

  • @СергейБалуев-и5ш
    @СергейБалуев-и5ш 3 роки тому +1

    Приветствую, какие ощущения от 11 винды? Что то все хают ее.... У меня отлично работает.

    • @NecoRuChannel
      @NecoRuChannel  3 роки тому

      Отличные ощущение, чувствуеться свежачек. Проблем пока небыло никаких

  • @antonparfenov8519
    @antonparfenov8519 3 роки тому +1

    Хороший урок.
    Только такое применение малоиспользуемое. ВедьЇмер остановится. Было бы классно сделать, что бы оно и в фоне работало.
    А разве не требуется данный отчёт в поток запихать? Просто ведь сейчас он в главном потоке. Было бы классно использовать для этих целей корутину.
    Но это все хотелки. Сергей ещё раз спасибо за урок. Ждём следующих

  • @anatoliyvechkutkin93
    @anatoliyvechkutkin93 2 роки тому +1

    Прости, конечно, за отвлеченный вопрос, но почему у тебя Android Studio показыват "->" как стрелку, а "!=" как "неравно". Это настройка какая-то?

    • @NecoRuChannel
      @NecoRuChannel  2 роки тому

      Я это уже показывал на одном из уроков. Да это включаеться в настройках, специальный шрифт нужно выбирать, так как не все его поддерживают и галочку активировать

    • @anatoliyvechkutkin93
      @anatoliyvechkutkin93 2 роки тому +1

      @@NecoRuChannel Прости, какой?

  • @МихаилШигаев
    @МихаилШигаев 2 роки тому

    OnTick странно работает с секундами, видимо, потому, что сама обработка тоже занимает время. Я повесил на данный таймер изменение размера текста, т.е. цифры таймера уменьшаются и исчезают. Но с каждой новым числом целых секунд размер возвращается. Так вот, начальный размер 120sp, тик 10 мс, уменьшение на 1sp. Казалось бы уменьшаться должно до 20 sp, но это не так. В эмуляторе пришлось уменьшать на 7sp, чтобы был эффект исчезновения, но Redmi Note 8 Pro хватает 2sp. Обработка в эмуляторе занимает, выходит, около 40 мс, в смартфоне - 10 мс. Пришлось делать зависимость уменьшения от фактического остатка таймера.

    • @NecoRuChannel
      @NecoRuChannel  2 роки тому

      Для этих целей нужно использовать анимацию, или ты просто практикуешься?

  • @Mecenatt
    @Mecenatt 3 роки тому +1

    Раз коснулись времени , можно разобрать как вывести показание времени на экран

    • @NecoRuChannel
      @NecoRuChannel  3 роки тому +1

      Так мы их на экран и вывели, в TextView

    • @MaSSerG89
      @MaSSerG89 3 роки тому +2

      @@NecoRuChannel наверное имел в виду системное время....

    • @NecoRuChannel
      @NecoRuChannel  3 роки тому +1

      @@MaSSerG89 Аа, ну это можно

    • @Mecenatt
      @Mecenatt 3 роки тому

      @@MaSSerG89 да , системное . Как раз задумал приложение где требуется системное время

    • @Mecenatt
      @Mecenatt 3 роки тому

      И ещё надо будет как то оперировать с временем . SQL это легко делает , но в андроиде я пока базы данных не освоил . Придётся в самом котлине разбираться с временем , если там есть такие инструменты

  • @AutoAmper
    @AutoAmper Рік тому +2

    такая маленькая программка, но блин не запускается, во вкладке проблемс нет критических ошибок. Тяжело в начале обучения втыкаться в непонятные вещи.(((((

    • @NecoRuChannel
      @NecoRuChannel  Рік тому +1

      Привет, просто напиши мне на почту (она в описании) и я помогу, да в начале во всем сложно, но помни: Путь проходит тот кто идет…

    • @AutoAmper
      @AutoAmper Рік тому

      @@NecoRuChannel Вот такая штука мне помогла, но это не проблема приложения, это проблема текущей версии AS на моем компе:
      constraints {
      implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0") {
      because("kotlin-stdlib-jdk7 is now a part of kotlin-stdlib")
      }
      implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0") {
      because("kotlin-stdlib-jdk8 is now a part of kotlin-stdlib")
      }
      }
      было задвоение зависимостей.
      Вам большое спасибо за отзывчивость.

  • @olegevdoshenko1675
    @olegevdoshenko1675 2 роки тому +2

    К сожалению на видео мало просмотров, но я все же напишу(обращаясь к таким же новичкам, как я):
    Если вы досмотрели видео до конца, дописав код 1:1 и потянули курсор к крестику в правом верхнем углу - АСТАНАВИТЕСЬ!
    Данное видео - минимальный туториал по созданию примитивного рабочего(!) таймера.
    К чему я клоню - потратьте дополнительно от получаса до часа своего времени на улучшение данного проекта, а именно, что можно улучшить:
    - Дизайн интерфейса(цвет, дизайн кнопок, стиль текста, закругления; цвет constrainLayout, отключите тоолБар, сделайте приложение во весь рост экрана)
    - Добавьте возможность юзеру самому выбрать время(по идее через PlainText, но у меня пока не до конца работает:)
    - Вместо надписи ФИНИШ в конце отсчета - я создал Enum Class, где создал 10 +- подходящих надписей с юмором и вывожу случайную надпись после завершения отсчета
    А вообще, идей может быть много, как правило, этап улучшения только что созданного приложения - один из самых приятных, и к тому же - учит мыслить немного более развернуто, улучшая ваши навыки и подготавливая к работе над уже коммерческими проектами.
    Огромное человеческое спасибо автору видео, не уверен, упоминал ли автор суть того, что я изложил выше, но советую прислушаться и применять эту методику всегда. Удачи

  • @Вячеслав-щ8х4и
    @Вячеслав-щ8х4и Рік тому

    А наоборот как сделать, чтобы время шло, типа секундомера

  • @BoqwiTv
    @BoqwiTv 2 роки тому

    А как обрезать Миллисекунды? Чтобы было не 20000 миллисекунд, а 20 секунд

  • @zgbnb
    @zgbnb 3 роки тому

    Господи, как найти время, чтобы посмотреть эти видео-творения?

  • @ИванИванов-ц8щ1у
    @ИванИванов-ц8щ1у Місяць тому +1

    о многопоточность

  • @Дубровский-ч4с
    @Дубровский-ч4с Рік тому

    Приложение сразу закрывается

    • @MrOvermort
      @MrOvermort Рік тому

      Всё отлично работает!

  • @Drakonj1vu8gm1c
    @Drakonj1vu8gm1c 3 роки тому

    Пожалуйста снимите видео по созданию голосового ассистента на андроид который может активируваться в работу как с кнопки так и голосом как асистент ок гугл. На Android studio!!!

  • @Дубровский-ч4с
    @Дубровский-ч4с Рік тому

    Тяжелый язык

  • @pavelgera72
    @pavelgera72 3 роки тому +1

    Жаль что с датчиками закончили

  • @МихаилМихин-и5о
    @МихаилМихин-и5о 2 роки тому

    Просто подумайте: - в музыке всего 7 нот, в русском алфавите 33 буквы, но освоив их сможете ли вы написать симфонию, повесть? Нет.
    Так и здесь. На сегодняшний день в Мире не существует нормального "Таймера обратного отсчёта". Есть хорошие попытки, но... и недостатки, так что использовать невозможно. Это признак деградации обшей культуры - ведь самое сложное это делать простые вещи. Тут нужен огромный опыт и знания о человеческом обществе.

  • @99phenomenon
    @99phenomenon 2 роки тому +1

    DONE! (6-8-22)

  • @maxon4492
    @maxon4492 Рік тому

    поддержка)