Proto DataStore в Jetpack Compose | Android Studio

Поделиться
HTML-код
  • Опубликовано: 24 ноя 2024

Комментарии • 25

  • @alexeyagaltsov634
    @alexeyagaltsov634 Год назад +8

    Если сворачивать приложение кнопкой назад , работает без ошибок. Но если приложение закрыть в диспетчере программ или остановить из студии , выдает ошибку : InputDispatcher system_server ........mycomposedatastore.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed! И после этого настройки считывает по умолчанию, Json прочитать не может. kotlinx.serialization.json.internal.JsonDecodingException: Expected start of the object '{', but had 'EOF' instead at path: $

    • @BookMarks-n9b
      @BookMarks-n9b Год назад +1

      У меня ошибку не выдаёт, но настройки сбрасываются при попытке повторного открытия приложения. Кто-нибудь подскажет, как это исправить? Заранее благодарен!

    • @alexeyagaltsov634
      @alexeyagaltsov634 Год назад +1

      @@BookMarks-n9b Если настройки сбрасываются по умолчанию, то ошибка чтения JSON есть, и она отображается в logcat.

    • @BookMarks-n9b
      @BookMarks-n9b Год назад +5

      @@alexeyagaltsov634 оттолкнулся от вашего комментария, обнаружил в logcat'е эти ошибки и нашел-таки решение: в файле-объекте SettingsSerializer в функции readFrom было string = input.readBytes().toString(), а надо string = input.readBytes().decodeToString()

    • @alexeyagaltsov634
      @alexeyagaltsov634 Год назад

      @@BookMarks-n9b Спасибо за информацию. Поправил у себя , настройки теперь сохраняются .

    • @NecoRuChannel
      @NecoRuChannel  Год назад +2

      @@BookMarks-n9b Да Все верно, моя ошибка, не так написал. Нужно decodeToString() спасибо за коммент! Закреплю его вверху чтоб другим помагал!

  • @aistepan
    @aistepan Год назад

    Спасибо вам Сергей!

  • @oljkee
    @oljkee Год назад +2

    Огромное спасибо!!
    Очень доступное объяснение!

  • @pavelgera72
    @pavelgera72 Год назад +2

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

  • @cheguevara6002
    @cheguevara6002 Год назад +1

    сразу лайк и благодраю за ваш труд)👍👍👍👍

  • @alexsty
    @alexsty Год назад +3

    Этот урок то самое, что я искал, возможность простого сохранения. Спасибо за Ваши старания. Ваши уроки действительно помогают пониманию как все устроено. Кстати, есть идея на будущее, простое приложение типа викторина. Несколько вопросов с вариантами ответов. Было бы интересно узнать как это реализуется.

  • @Arhmed13
    @Arhmed13 Год назад +2

    Сергей благодарю за урок!

    • @Arhmed13
      @Arhmed13 Год назад +1

      кому леннь писать можите скопировать
      id 'org.jetbrains.kotlin.plugin.serialization' version '1.6.10' apply false
      id 'org.jetbrains.kotlin.plugin.serialization'
      implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2'
      implementation 'androidx.datastore:datastore:1.0.0'

    • @Lucky_Mirror
      @Lucky_Mirror Год назад

      @@Arhmed13 Всё для людей)))) 👍

  • @yuriichekurov4798
    @yuriichekurov4798 Год назад +2

    Лайк

  • @Lucky_Mirror
    @Lucky_Mirror Год назад +1

    Спасибо за ответ, Сергей! Похоже collect и collectAsState мне нужны оба в одном приложении) Но очень хочется переделать под proto DataStore)
    Отличнейший прекраснейший нужнейший урок! Нигде ничего подобного так понятно вам не расскажут!
    Моё почтение, Сергей 👍
    P.S. осталось разобраться с производительностью)

  • @dfyyrjify
    @dfyyrjify 4 месяца назад +1

    А в теории можно было бы сохранять цвет и размер текста при событии OnDestroy у MainActivity? Или при каком-нибудь другом событии жизненного цикла. Просто чтобы при каждом клике на кнопку не сохранять, а один раз при выходе из приложения.

    • @NecoRuChannel
      @NecoRuChannel  4 месяца назад

      @@dfyyrjify конечно можно, без проблем

  • @pavelgera72
    @pavelgera72 Год назад +1

    Расскажите про передачу аргументов в навигации

  • @EvgenyPrudilov
    @EvgenyPrudilov 10 месяцев назад +1

    Вопрос: по какой причине может быть такое, что данные сохраняются, но при первом открытии приложения не читаются(в результате чего выбираются значения по умолчанию)?

  • @sunight9495
    @sunight9495 6 месяцев назад +1

    Может кто подскажет, делаю checkBox и ни чего не понимаю как сделать чтоб запоминало состояние, еще и через навигатор вообще конец. Может у кого есть что почитать по этому поводу? А ролик супер, теперь хоть представление имею что это.

    • @NecoRuChannel
      @NecoRuChannel  6 месяцев назад

      Привет, ты должен при нажатии брать сохранять Boolean переменную с состоянием твоего CheckBox и после доставать это состояние из памяти и этот Boolean передавать в этот ckeckBox.isChecked = «твой Boolean»

  • @Олег-м6л6о
    @Олег-м6л6о Год назад

    Продвинутые видео по типу fitness app доступные на ютубе c уровня подписки Premium или только Premium pro? там просто не совсем понятно))

    • @NecoRuChannel
      @NecoRuChannel  Год назад

      По фитнесу просто pro доступны

  • @nguyenvantruong8141
    @nguyenvantruong8141 Год назад +1

    can you connect api google drive android stuidio java