@android_ru

Страница 2138 из 3205
SerG
22.10.2017
11:48:35
Есть список карточек на экране.. этот экран должен быть фрагментом. По нажатию на карточку открывается экран ее детального отображения - это второй фрагмент и по нажатию на картинку во втором - открывается третий фрагмент - картинка на весь экран в возможностью свайпить вправо-влево. Подскажите как грамотно это все реализовать?

Штирлитц
22.10.2017
11:52:20
Решил вынести запросы Retrofit в другой класс. Вот так выглядит метод: private static User user; public static User login(String username, String password){ Call<User> call = api.login(username, password); call.enqueue(new Callback<User>() { @Override public void onResponse(Call<User> call, Response<User> response) { user = response.body(); } @Override public void onFailure(Call<User> call, Throwable t) { } }); return user; } Но т.к. запрос асинхронно делается, вначале отрабатывает return user;, до того как приходит responce. Как сделать, что бы возвращался user из onResponce?

Александр
22.10.2017
11:52:59
callback

Google
Andrey
22.10.2017
11:53:37
что за вопрос-то?
я вот создаю srvice в новом процессе, а когда приложение закрывается, то service тоже умирает, хотя он же должен дальше жить

Штирлитц
22.10.2017
11:54:11
Александр
22.10.2017
11:55:00
?
ну ты не можешь так возвращать, это тебе не котлин

либо return api.login()

Штирлитц
22.10.2017
11:55:27
ну ты не можешь так возвращать, это тебе не котлин
Т.е. вынести в отдельный класс не получится?

котоырй вернёт Call и enqueue делать уже в нужном мне месте?

Александр
22.10.2017
11:57:33
да

Штирлитц
22.10.2017
11:59:33
Просто у меня пару callback'ов одинаковые. Поэтому хотел их вынести в другой класс, дабы не переписывать несколько раз :с

Igor
22.10.2017
12:01:00
я вот создаю srvice в новом процессе, а когда приложение закрывается, то service тоже умирает, хотя он же должен дальше жить
Точно в новом процессе? Уверены что есть флаг в манифесте, указывающий отдельный процесс?

Donna Anna
22.10.2017
12:02:14
я вот создаю srvice в новом процессе, а когда приложение закрывается, то service тоже умирает, хотя он же должен дальше жить
вообще выживаемость сервисов не зависит от того в каком они процессе. вот https://developer.android.com/guide/components/bound-services.html#Lifecycle

Donna Anna
22.10.2017
12:13:01
зависит
вот, нашла пару ссылок https://habrahabr.ru/post/265159/ https://stackoverflow.com/a/35684523/1538382

Google
SerG
22.10.2017
12:14:56
как организовать переключение между тремя экранами фрагментами, где 2-ой вызывается нажатием на елемент первого, а третий на элемент 2-го ?? В каждом фрагменте обрабатывать нажатие и вызывать фрагмент?

@
22.10.2017
12:19:14
mCallback.replaceFragment(...) тоесть

Штирлитц
22.10.2017
12:42:53
интерфейс?
Нет. calls

@
22.10.2017
12:46:03
так-то оно с точки зрения архитектуры изьебнуться можно, общий класс, типа репозиторий но лишние коллбеки пробрасывать до вьюхи придется... лично я в презентерах даггерам потключаю и дергаю нужные методы, а потом во вьюху

Штирлитц
22.10.2017
12:46:38
Да я просто с дагером ещё не подружился)

Sergey Mitrofanov
22.10.2017
12:46:44
В дополнение спрошу, а стоит ли выносить retrofit в другой класс?
Зависит от вашей архитектуры. Тут нету догм и правильных рецептов )

А архитектура зависит от ТЗ

Штирлитц
22.10.2017
12:48:05
MVP, но не везде. Для простых activity login\register я не парился с этим. Мне показалось это слишком для 2х полей и 1 кнопки делать View и Presenter.

@
22.10.2017
12:48:41
хм... ну тады прям в активити пиши))

во время вызова методов ретрофит попробуй поверни устройсто))



@
22.10.2017
12:51:47
хз че с твоим запросом произойдет, я юзаю в moxy у меня все норм

Лёша
22.10.2017
13:02:52
Привет. Вопрос по анимации AnimatedVectorDrawable. Если я хочу, чтобы аниматоры стартовали не все одновременно, а последовательно, один за другим, как это сделать?
В плане упрощения работы с AnimatedVectorDrawable можешь ещё на эту штуку глянуть Там же можешь демки глянуть https://shapeshifter.design

Александр
22.10.2017
13:05:06
Google
Александр
22.10.2017
13:05:38
Или флаги переворота экрана в манифесте для слабаков ?

Sergey Mitrofanov
22.10.2017
13:17:18
Ничего не произойдёт
Уверен? ) Будет утечка активити, по крайней мере пока не выполнится обратный вызов ретрофита. А даже когда он выполнится, то выполнится в том экземпляре активити, который был до поворота, а не в новой, созданной после поворота, и есть все шансы схватить NPE или еще что-то (зависит от того что в коде обратного вызова содержится). А если проставить в манифесте перехват изменения конфигурации на повороте, то придется обрабатывать повороты ручками - может быть головняков и багов тонна... А если по-вращать телефон туда-сюда с небыстрым интернетом, то так можно и до ООМ дойти, если запрос к ретрофиту автоматом вместе со стартом активити выполняется )

Штирлитц
22.10.2017
14:25:22
ты был неправ, хах
Забыл написать почему. Потому что я запускаю HUD крутящийся, при запросе и когда меняется ориентации он отклеивается чёт :)

Остальное всё ок

Bulat
22.10.2017
14:40:28
AS 3. Почему-то в списке отсутствует build.gradle проекта

Сталкивался кто?

sync/clean/invalidate cache не помогает

Евгений
22.10.2017
14:48:38
А поменять вид если?

Bulat
22.10.2017
15:45:29
А поменять вид если?
Если поставь project overview - файл видно

THAR
22.10.2017
15:46:25
Если поставь project overview - файл видно
ну все , в чем проблема то?

Bulat
22.10.2017
15:46:59
Ну хочется проблему решить

А не переключать каждый раз

Александр
22.10.2017
16:03:30
Putextra

Quantum Harmonizer
22.10.2017
16:04:41
Гуглил?

Gerc
22.10.2017
16:05:57
startActivityForResult

Quantum Harmonizer
22.10.2017
16:06:09
Откуда знал? Покажи мне, кто это рассказал, я его заминусую в дно.

Admin
ERROR: S client not available

Google
Quantum Harmonizer
22.10.2017
16:06:14
startActivityForResult
это не о том

Александр
22.10.2017
16:06:46
Putextra юза

Й

Gerc
22.10.2017
16:06:48
это не о том
Взять значение с активити же

Александр
22.10.2017
16:06:57
Все решил

Quantum Harmonizer
22.10.2017
16:07:18
Глобальных переменных быть не должно. НИГДЕ И НИКОГДА.

Александр
22.10.2017
16:08:54
А если в момент смена антиви другой потом обратится к твоей переменно в аппликейшине и изменит данные

Что будет?

Gerc
22.10.2017
16:09:24
Или после убийства

Quantum Harmonizer
22.10.2017
16:09:49
В Android нет ничего глобального, потому что приложение может быть прибито в любой момент. В любом случае, глобальные переменные — это худшее решение. Intent#putExtra гуглится по тривиальному запросу вроде «android passing data between activities».

Sergey Mitrofanov
22.10.2017
16:10:00
Quantum Harmonizer
22.10.2017
16:10:22
Это ок, тут никак иначе.

Gerc
22.10.2017
16:11:19
Нах его прибивать, если используется пока приложение работает

Sergey Mitrofanov
22.10.2017
16:11:29
Сам себе синглтон создай.
Умник... И где ж ты экземпляр ретрофита хранишь, к примеру? В каждом активити новый создаешь?

Quantum Harmonizer
22.10.2017
16:11:55
Нах его прибивать, если используется пока приложение работает
Почитай, что ли, как система нещадно прибивает процессы.

Пока люди создают синглтоны, не подпускайте их к IDE.

Google
Gerc
22.10.2017
16:12:30
Почитай, что ли, как система нещадно прибивает процессы.
И перед этим нужно успеть конекшн прибить?

Quantum Harmonizer
22.10.2017
16:12:59
И перед этим нужно успеть конекшн прибить?
Нет, это не имеет значения. Linux освободит все твои файловые дескрипторы.

Sergey Mitrofanov
22.10.2017
16:13:22
В Application.
Ну, а Application чем по-сути от синглтона отличается? Ты же не создаешь апликейшн каждый раз, а обращаешься к одной и той же через геттеры. Только что создал ее не ты, и доступ не статический

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

Страница 2138 из 3205