169 похожих чатов

Здравствуйте, такой немного глупый вопрос но все никак не могу

понять. Делаю простое приложение Count Down Timer. Нужно использовать ViewModel чтобы результат не пропадал при повороте экрана. Но никак не могу понять функцию которая будет каждую секунду менять цифру нужно сделать в самом activity или в ViewModel?

15 ответов

21 просмотр

Как вариант: flow emit delay в ViewModel

Surik-Simonyan Автор вопроса

Начать отчет нужно при нажатии на кнопку. Нужно каждую секунду вызывать функцию из ViewModel или так не правильно?

Нужно запустить что-то, что будет каждую секунду (или так часто, как нужно) обновлять счётчик. Нужно иметь возможность это что-то запустить и остановить. Вариантов много. Handler + postDelayed, thread, flow.... Зависит от требований.

Surik-Simonyan Автор вопроса

Но все равно мне нужно каждую секунду запрашивать результат от ViewModel верно?

Нет, VM должна обновлять LiveData, на которую будет подписан UI

а кому нужно использовать ViewModel. Кто такую цель поставил?

Surik-Simonyan Автор вопроса

Условия задания

кто такое задание дал?

Surik-Simonyan Автор вопроса

На курсе

а на курсе что говорили про Model View ViewModel?

Surik-Simonyan Автор вопроса

В каком смысле?

В том смысле, что вы не понимаете теорию: для чего идет вынесение логики во ViewModel

А там дальше еще репозиторий есть за логикой

Surik-Simonyan Автор вопроса

Для сохранения состояние

ну вот и отображайте состояние ViewModel в Acitivity

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта