Size: a a a

Android Developers

2021 September 22

Ԥ

ԤИОНЕР in Android Developers
источник

A

Alex Android in Android Developers
Привет. Как на Xiaomi проверить наличие безграничного экрана? Это который без системных кнопок
источник

к

кринж in Android Developers
Не могу никак разобраться с восстановлением состояния в MVP.
В моем приложении я по нажатию кнопки загружаю JSON-объект Post и вывожу в MainActivity результат в TextView.
Но при смене ориентации экрана все сбрасывается.
Нашел такую статью в интернете:
https://pspdfkit.com/blog/2016/restoring-state-in-android-mvp-architecture/
В ней автор к интерфейсу Contract помимо интерфейсов View, Presenter, Model добавляет интерфейс State.
Как я понял у меня должен быть класс PostState реализовывающий интерфейс State, класс этот имеет приватное поле типа Post, конструктор который назначает Post и геттер возвращающий Post.
Интерфейс State передаётся Presenter, когда View подписывается на Presenter.
Presenter проверяет, в случае state != null берет Post из state.getPost() и выводит в View, но если state == null то обращаётся к модели которая загружает Post из интернета и соответсвенно выводит в View.
Так же Presenter имеет метод  getState() который возвращает new PostState(post)
В View в методе onSaveInstanceState автор вызывает метод writeToBundle(outState, presenter.getState())
А в момент подписки View на Presenter, которя у меня происходит в методе onCreate() автор передаёт метод readFromBundle(savedInstanceState);
И вот, по поводу этих методов writeToBundle и readFromBundle - автор не написал их реализации,  а написал вот что
«The methods writeToBundle() and readFromBundle() are just helper methods for writing State to the bundle, and they are used to avoid code clutter (this implementation is omitted since it’s trivial).»
Я не могу понять, что нужно прописать в этих методах writeToBundle() и readFromBundle().
Может мне кто-то объяснить?
И вообще, это поможет мне в том, чтобы при поворачивании экрана текст не сбрасывался или я не туда копаю?
источник

к

кринж in Android Developers
Если сложно понять что я написал и объяснить мне, то можете сказать другие способы сохранения состояния при повороте экрана в MVP, дать ссылок?
источник

Д

Дима in Android Developers
Настройки>Расширенные>Безграничный экран
источник

A

Alex Android in Android Developers
А программно мне это как определить? Уже три раза правили багу с кнопкой в боттом щите, так к нормальному решению и не пришли, она то прячется, то слишком высоко
источник

Д

Дима in Android Developers
В миуи оно через костыли сделано, а на аоспе жесты детектятся)
источник

A

Alex Android in Android Developers
Ну значит должны существовать костыли поверх MIUIшных костылей
источник

ВБ

Володимир Бусленко... in Android Developers
привет, знает кто-то о Bravo Studio.Есле да то напишите мне пожалуйста
источник

Д

Дима in Android Developers
Тогда придется костылить в 2 раза больше
источник

РП

Роман Пытков... in Android Developers
Хочу сделать сохранение текста через SharedPreferences. Почему не удаётся вызвать функцию в другом классе?
источник

РП

Роман Пытков... in Android Developers
источник

v

vremenno___1 in Android Developers
Ребят, подскажите, правильно сделал..? если текствю не имеет текста, то записать мой текст
источник

🚧

🚧 in Android Developers
потому что напрямую ты так только через активити или контекст можешь обратиться
источник

РП

Роман Пытков... in Android Developers
Как быть? Не выводить сохранение в отдельный класс?
источник

A

Alex Android in Android Developers
Ты ничем мне не помог
источник

🚧

🚧 in Android Developers
сохраняй в Bundle
источник

🚧

🚧 in Android Developers
в onCreate есть savedInstanceState, воспользуйся им и переопределить onRestoreInstanceState в своей активити, оттуда будешь восстанавливать этот текст
источник

🚧

🚧 in Android Developers
если работает, значит правильно, у тебя работает?
источник

РП

Роман Пытков... in Android Developers
как то упорото. А можно ли сделать сохранение просто в файл .txt? Как получить путь для файлов моего приложения?
источник