Size: a a a

Javanese Questions

2018 February 09

F

Fieldmarshal in Javanese Questions
#вопрос #android #state_loss
Нужно избавиться от state loss при обновлении UI фрагмента.
Как можно просто обновить (refresh) UI фрагмента через FragmentManager без state loss и запутывания back stack?

будет ли такой код правильным и хорошим в данном случае?
fm.beginTransaction().detach(this).attach(this).commit();


в коде фрагмента есть таймер, по истечении которого фрагмент нужно перезагрузить, не пересоздавая (сейчас он пересоздаётся, и иногда выскакивает IllegalStateException, указывающий на state loss: Can not perform this action after onSaveInstanceState
источник

QH

Quantum Harmonizer in Javanese Questions
Fieldmarshal
#вопрос #android #state_loss
Нужно избавиться от state loss при обновлении UI фрагмента.
Как можно просто обновить (refresh) UI фрагмента через FragmentManager без state loss и запутывания back stack?

будет ли такой код правильным и хорошим в данном случае?
fm.beginTransaction().detach(this).attach(this).commit();


в коде фрагмента есть таймер, по истечении которого фрагмент нужно перезагрузить, не пересоздавая (сейчас он пересоздаётся, и иногда выскакивает IllegalStateException, указывающий на state loss: Can not perform this action after onSaveInstanceState
Во-первых, «передёргивание» фрагмента мне не кажется хорошим решением. Пусть он онрмально обновляет своё состояние, не перезагружаясь.
Во-вторых, от любых асинхронных действий нужно отписываться где-нибудь в onDestroyView, чтобы они не приходили после смерти фрагмента.
источник

F

Fieldmarshal in Javanese Questions
Quantum Harmonizer
Во-первых, «передёргивание» фрагмента мне не кажется хорошим решением. Пусть он онрмально обновляет своё состояние, не перезагружаясь.
Во-вторых, от любых асинхронных действий нужно отписываться где-нибудь в onDestroyView, чтобы они не приходили после смерти фрагмента.
а ты прав, там не было presenter.onDestroy
Спасибо.
источник
2018 March 05

СМ

Сергей Михайлов in Javanese Questions
#вопрос #android #java
Здравствуйте! Вопрос возник из за статьи про синглтоны - http://derevyanko.blogspot.ru/2010/12/android_26.html - в ней написана следующая, на мой взгляд, неочевидная информация:
public final class MySingleton {
  private static MyClass m_A = new MyClass();
  private static MyClass getA() {
  return m_A;
  }
}
Цитирую:
"Такой синглетон заработает. И может работать очень долго. Но в один прекрасный момент, вы рискуете получить null в getA(). Со всеми вытекающими последствиями...
Вы инициализируете статический класс синглетона в контексте Activity. Если в вашем приложении несколько activity, то синглетон доступен в каждой из них. Но если первоначальная activity, в которой создавался синглетон, будет уничтожена, то и синглетон тоже будет уничтожен. После этого, в других activity вы будете получать null вместо A. А ведь под андроидом подобное уничтожение activity дело обычное.."
Вопрос,: действительно ли нужно этого опасаться, актуально ли это для синглтонов с ленивой инициализацией и вообще статических переменных в целом. Спасибо.
источник

QH

Quantum Harmonizer in Javanese Questions
Сергей Михайлов
#вопрос #android #java
Здравствуйте! Вопрос возник из за статьи про синглтоны - http://derevyanko.blogspot.ru/2010/12/android_26.html - в ней написана следующая, на мой взгляд, неочевидная информация:
public final class MySingleton {
  private static MyClass m_A = new MyClass();
  private static MyClass getA() {
  return m_A;
  }
}
Цитирую:
"Такой синглетон заработает. И может работать очень долго. Но в один прекрасный момент, вы рискуете получить null в getA(). Со всеми вытекающими последствиями...
Вы инициализируете статический класс синглетона в контексте Activity. Если в вашем приложении несколько activity, то синглетон доступен в каждой из них. Но если первоначальная activity, в которой создавался синглетон, будет уничтожена, то и синглетон тоже будет уничтожен. После этого, в других activity вы будете получать null вместо A. А ведь под андроидом подобное уничтожение activity дело обычное.."
Вопрос,: действительно ли нужно этого опасаться, актуально ли это для синглтонов с ленивой инициализацией и вообще статических переменных в целом. Спасибо.
Если пользователь покинул наше приложение и больше с ним не взаимодействует, Android может уничтожить процесс. Это зависит не от «уничтожения первоначальной Activity», а от того, сколько памяти системе нужно.
Это значит, что любое состояние, которое сохраняется нештатными средствами (например, в синглтонах, а не через saveInstanceState), будет потеряно.
источник
2018 March 06

ИМ

Игорь Марков in Javanese Questions
#вопрос #android #gradle
Всем привет. Может кто-нибудь сталкивался, у меня есть дерево проектов (папок с build.gradle, каждый проект в своей папке) a->b->c. В папке b проекта нету, только в дочерней папке с. Android studio показывает все проекты, включая пустой b. Есть какой-нибудь способ убрать его из дерева проектов в студии? Так он ни на что не влияет, просто чтоб глаза не мозолил.
источник

QH

Quantum Harmonizer in Javanese Questions
Игорь Марков
#вопрос #android #gradle
Всем привет. Может кто-нибудь сталкивался, у меня есть дерево проектов (папок с build.gradle, каждый проект в своей папке) a->b->c. В папке b проекта нету, только в дочерней папке с. Android studio показывает все проекты, включая пустой b. Есть какой-нибудь способ убрать его из дерева проектов в студии? Так он ни на что не влияет, просто чтоб глаза не мозолил.
Все проекты перечислены в settings.gradle.
источник

ИМ

Игорь Марков in Javanese Questions
Quantum Harmonizer
Все проекты перечислены в settings.gradle.
Да, и проекта b там нету, только проекты a и c
источник

AV

Anton Vlasov in Javanese Questions
Игорь Марков
Да, и проекта b там нету, только проекты a и c
Попробуй перейти в настройки проекта в студии, и удали модуль, который тебе не нужен, если в этом проблема. Слева колоночка со списком будет
источник

ИМ

Игорь Марков in Javanese Questions
Anton Vlasov
Попробуй перейти в настройки проекта в студии, и удали модуль, который тебе не нужен, если в этом проблема. Слева колоночка со списком будет
ммм. так не пойдет. Надо из гредла, чтобы любой кто сольет себе проект, после открытия в студии, не видел их тоже
источник

AV

Anton Vlasov in Javanese Questions
Она вроде бы должна все почистить за собой
источник

ИМ

Игорь Марков in Javanese Questions
Anton Vlasov
Она вроде бы должна все почистить за собой
Я к тому, что если другой сольет проект из гита, надо чтобы это уже там было (способ, при кот. после открытия и парсинга проектов, студия его не показывала). по идее это или в гредлах писать или в каких-нибудь settings файлах.
Нашел на stackoverflow
Same result can be achieved by adding new 'build.gradle' in the intermediate directory 'modules', with content: jar.enabled = false; uploadArchives.enabled = false
Но не работает
источник

ИМ

Игорь Марков in Javanese Questions
Игорь Марков
#вопрос #android #gradle
Всем привет. Может кто-нибудь сталкивался, у меня есть дерево проектов (папок с build.gradle, каждый проект в своей папке) a->b->c. В папке b проекта нету, только в дочерней папке с. Android studio показывает все проекты, включая пустой b. Есть какой-нибудь способ убрать его из дерева проектов в студии? Так он ни на что не влияет, просто чтоб глаза не мозолил.
Проблема решилась. Если кому интересно, вместо инструкции include ':android:app:module' (если проект находится в подпапке android/app/module от корневого build.gradle) лучше использовать
include ':MyModule' // имя любое, не обязательно имя папки
project(':MyModule').projectDir = new File("${rootDir}/android/app/module)
В данном случае студия не будет вставлять пустые проекты android, android-app
источник

dd

dnl008 dnl008 in Javanese Questions
Привет. Есть необходимость распознавать экран приложения в фоновом режиме, который должен меняться в фоне. Вопрос. Возможно ли обновлять UI в фоном режиме или это по дизайну android-приложений невозможно?
источник

QH

Quantum Harmonizer in Javanese Questions
dnl008 dnl008
Привет. Есть необходимость распознавать экран приложения в фоновом режиме, который должен меняться в фоне. Вопрос. Возможно ли обновлять UI в фоном режиме или это по дизайну android-приложений невозможно?
Что значит «распознавать», «в фоновом режиме»?
источник

dd

dnl008 dnl008 in Javanese Questions
Имеется ввиду, что приложение работает в фоне, у него есть пользовательский интерфейс, который обновляется когда приложение не в фоне. Распознавать имеется ввиду брать текущий скриншот и что-либо с ним делать.
источник

dd

dnl008 dnl008 in Javanese Questions
Возможно вопрос глупый по определению, т.к. "экран" приложения обновляется при взаимодейтсвии с пользователем
источник

QH

Quantum Harmonizer in Javanese Questions
dnl008 dnl008
Возможно вопрос глупый по определению, т.к. "экран" приложения обновляется при взаимодейтсвии с пользователем
Ну можно создать иерархию вьюшек и отрендерить их, получится подобие скриншота.
источник

dd

dnl008 dnl008 in Javanese Questions
ок, спасибо за наводку
источник
2018 March 25

U☝

Ula ☝ in Javanese Questions
всем привет. нужна помощь. в каждом listview item нужно показывать countdowntimer таймер обратного отсчета. я попробовал использовать cursoradapter, arrayadapter но все равно не получается показывать таймер праильно, чтобы каждый считал для своего элемента свой счет. как можно достичь этого?

p.s. https://play.google.com/store/apps/details?id=com.timeanddate.countdown
вот такого типа приложение я делаю
источник