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

Donna Anna
22.10.2017
11:52:17

Штирлитц
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

Andrey
22.10.2017
12:01:21

Donna Anna
22.10.2017
12:02:14

Andrey
22.10.2017
12:08:17

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(...) тоесть

SerG
22.10.2017
12:28:31

Штирлитц
22.10.2017
12:41:34

@
22.10.2017
12:42:31

Штирлитц
22.10.2017
12:42:53

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

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

Sergey Mitrofanov
22.10.2017
12:46:44
А архитектура зависит от ТЗ

Штирлитц
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:05

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

Лёша
22.10.2017
13:02:52

WaterSmith
22.10.2017
13:04:17

Александр
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
13:17:30

@
22.10.2017
13:35:24

Штирлитц
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
А поменять вид если?

Ivan
22.10.2017
15:17:35

Bulat
22.10.2017
15:45:29

THAR
22.10.2017
15:46:25

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

Александр
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

Gerc
22.10.2017
16:11:33
Курсоры только прибивать

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

Gerc
22.10.2017
16:13:12

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

Quantum Harmonizer
22.10.2017
16:14:33