
Anton
28.01.2017
08:58:18
Да на почту им нужно писать)

Igor
28.01.2017
09:11:50
да с ключем - фик с ним
где доки по классам?

Andrew
28.01.2017
09:20:25
А если им в саппорт с гмайла написать они обидятся?

Google

Ivan
28.01.2017
09:53:09

Igor
28.01.2017
10:20:10
Яндекс за тем, что есть спецефический кейс. Местность дикая. Там гуглмапы ничего не показывают, практически ничего, уже стали частично исправлятся, но все-же, пока-что беда.
Вот и приходится использовать OSM и Yandex.

Павел
28.01.2017
10:30:32
Привет, есть довольно глупый вопрос. Как грамотно сохранять состояние фрагмента, чтобы при повороте экрана он снова не запрашивал данные и отрисовывался сразу?
Правильно понимаю, что надо мотреть в сторону bundle и savedinstancestate?

Gleb
28.01.2017
10:35:05
я обычно в поля пишу savedState - только, если они не проинициализированы
в противном случае - все поля актуальны и можно их юзать

Павел
28.01.2017
10:40:47
Спасибо.
Я с кешированием впервые сталкиваюсь. Приложение не подразумевает частого обновления данных, поэтому каждый раз делать запрос не обязательно. Как правильно реализовать оффлайн хранение? Каков правильный алгоритм кеширования данных из сети?
Я думаю сохранять их в SQLite, но как тогда сообщить что данные устарели?

Dmitri
28.01.2017
10:41:29

Gleb
28.01.2017
10:45:12
не - не, парни, кэширование - я имею ввиду лайтовое(переживающее повороты/свороты)
- все необходимое держим в полях фрагмента - и да... если он не пересоздался - соответственно java-объект жив - со всеми своими полями....
но это не про "кэширование" в смысле бд и тд - там другая история
и setRetainInstance не отменяет жизненного цикла фрагмента

Dmitri
28.01.2017
10:49:04
Если передать в него true, то при пересоздании фрагмента не будут вызваны методы onDestroy и onCreate, и не будет создан новый экземпляр класса Fragment.
Что ты имеешь в виду "не отменяет"

Gleb
28.01.2017
10:50:41

Google

Gleb
28.01.2017
10:51:13

Павел
28.01.2017
10:52:35
У меня 2 задачи:
1) Не заставлять фрагмент получать данные снова, а использовать старые при повороте экрана.
2) На некоторых экранах закешировать долговременно данные.
Если с первым случаем я ещё более-менее понял куда смотреть и что делать, то со вторым - хз. Хотя в тз не было ни слова про оффлайн режим, но хотел бы научиться это делать

Dmitri
28.01.2017
10:52:47

Gleb
28.01.2017
10:53:47
Надо ли сохранять какие-то данные в бандл или же нет смысла в таком случае?
всё равно надо)) для меня это в пр году было открытием - хотя всё логично
инстанс фрагмента есть - он повороты переживает, но это не отменяет того что тебя свернут и забудут, соответственно - андроид прибъет все инстансы и если ты "вовремя onSaveState" не забэкапился - ну ... знач сам виноват .. в onCreate - бэкапов тогда не жди


Павел
28.01.2017
10:58:42
Получается, что я должен сделать как-то так?
В onCreate фрагмента вынести инициализацию презентера, загрузку данных. Поставить setRetainInstance(true);
Но при этом я все равно должен сохранять полученные данные в инстанс

Илья
28.01.2017
11:00:36
А нужен ли в таком случае ретейн инстанс? Имхо, нет, если только стоит задача продолжать загрузку во время переворота экрана, например

Dmitri
28.01.2017
11:00:40

Gleb
28.01.2017
11:00:41

Павел
28.01.2017
11:02:31

Gleb
28.01.2017
11:02:38

Павел
28.01.2017
11:05:46

Dmitri
28.01.2017
11:07:14
Хранилище в облаке?
(просто не знаю что это)

Павел
28.01.2017
11:09:25
Ну да, у них там есть база данных и хранилище файлов. Плюс есть инструменты для андроида как с этим всем работать. Мне они показались неудобными, поэтому я использую обычные api

Dmitri
28.01.2017
11:10:03
Что такое в принципе firebase? Бегло пробежался в гугле, но не совсем понял
Хранилище в общем?

Павел
28.01.2017
11:10:33
Облачный бэкенд сервис с бд и прочим
Даже бесплатный, кстати, но с ограничениями по нагрузке и объёмам

Google

Anton
28.01.2017
11:11:19
Если свой бек не хочешь писать
BaaS платформа как parse.com

Andrei
28.01.2017
11:18:22
BaaS платформа как parse.com
но у тебя остается 2 дня)
As we previously shared, the Parse service is shutting down at the end of this month. Specifically, we will disable the Parse service on Monday, January 30, 2017.

Anton
28.01.2017
11:18:51
А я ещё год назад ушел после объявления)

Andrew
28.01.2017
11:18:55
кто че думает по поводу парс сдк? ему хана да?

Anton
28.01.2017
11:19:42
Да ну нах эти баас
Проще самому бек написать

Andrew
28.01.2017
11:20:00
парссервер то норм шуршит, сейчас бэк на нём
не проще)

Anton
28.01.2017
11:20:56
Ограничивают сильно

Михаил
28.01.2017
11:21:28
никто не писал кастомные маперы для ретрофитовского gson конвертера?

Михаил
28.01.2017
11:21:53
мб есть линк с пимером? сам найти не могу

Quarx2k ?
28.01.2017
11:22:28
кастомный JsonDeserializer JsonSerializer?

Andrew
28.01.2017
11:22:30
Ограничивают сильно
ну так и работы в разы меньше) прилепил фиребасе и всё, будто с локальной бд работаешь, а оно ещё и синхронизируется само

Михаил
28.01.2017
11:22:42

Quarx2k ?
28.01.2017
11:22:48
у меня используется

Anton
28.01.2017
11:23:04
а реалм что то свое сделали
это тоже бекенд?
я не смотрел просто

Google

Quarx2k ?
28.01.2017
11:23:18
.registerTypeAdapter(Areas.class,
new AreasDeSerializer())

Михаил
28.01.2017
11:23:32
спасибо)

Andrew
28.01.2017
11:24:41
это тоже бекенд?
ага, тож баас замутили на основе бд, я б даж их бы и выбрал, гугл любит всё сломать
с гуглоклауда на хероку свалил из-за того, что апдейты не деплоились, а то, что было было неправильно настроено и запрашивало ресурсов больше че нужно, 2к за хостинг бэка куда пара сотен коннектов в день - жирновато


Gleb
28.01.2017
11:31:48
Не-пойму... делаю всё по методичке
/* For testing */
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:1.10.19'
androidTestCompile('com.android.support.test:runner:0.5') {
exclude group: 'com.android.support', module: 'support-annotations'
}
он мне говорит: "твоя версия байт кода - не та"
ну где ж я те достану
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
если для них надо джэк, а джэк, сука in libraries not supported yet
может я что-то не то делаю ??
Error:Error converting bytecode to dex:
Cause: Dex cannot parse version 52 byte code.
This is caused by library dependencies that have been compiled using Java 8 or above.
If you are using the 'java' gradle plugin in a library submodule add
targetCompatibility = '1.7'
sourceCompatibility = '1.7'
to that submodule's build.gradle file.
Вылечилось: закоментил sourceCompatibility, targetCompatibility в градле

Admin
ERROR: S client not available

Gleb
28.01.2017
11:48:20
а так ему что 7 пиши что 8 хоть сто раз перебилд - не понимает.... странный этот градл)

Ⓜ️ᵃʳᵃᵗ
28.01.2017
11:48:30
так пацаны, еще раз спрошу. никто не сталкивался, что при клике просто на imageView , зона клика стала где от вверху в углу. ?
и это кстати такое поведение стало, я так понял при compileSdkVersion 25 ?
так как раньше такого не было и нажималось на всю зону ImageView

Igor
28.01.2017
11:49:01
чудеса

Ⓜ️ᵃʳᵃᵗ
28.01.2017
11:50:29
кстати у тулбара , в его акшен кнопках, такая же хрень
и что бы выбрать пункт в тулбаре, мне приходится нажимать на элемент вверху в углу.

Gleb
28.01.2017
11:50:58

Ⓜ️ᵃʳᵃᵗ
28.01.2017
11:51:32

Igor
28.01.2017
11:54:31
интересно
но не думаю, что это глюк ОС

Gleb
28.01.2017
11:54:51
так на многих, с последними билдами начали юзеры жаловаться, типа кнопки нерабочие итд.
ну у нас это было замечено что если как то не так ткнуть - рипл мог на полу-круге замерзнуть... типа нажжал - покинул область отпустил -а вьюха так и осталась с полу-риплом....
видится мне если это есть в нексусе не старом со стоковым андроидом, тоже не старым, да еще и на гугл-поиске - ты вряд ли из апа сможешь это пофиксить....
ну я б не сказал что все тачи так моросят - что прям выколи глаз...переодически так подглючивает его

Igor
28.01.2017
11:54:54
это скорее что-то при сборке пошло не так

Ⓜ️ᵃʳᵃᵗ
28.01.2017
11:55:24
блин, дык , я уже сколько раз пересобирал, пока тестировал

Google

Ⓜ️ᵃʳᵃᵗ
28.01.2017
11:55:40
вариант только дебагом теперь пройти.
в тулбаре такой косяк только с последней, самой правой кнопкой,
и ладно бы, только если моя кнопка так глючила, но так же глючит и стандартная кнопка - три точки

Igor
28.01.2017
12:01:17
ну вот подумай логически, не один ты на 25-й апи перешел.
я таких проблем не встречал
все бывает
баги в тулзах

Ⓜ️ᵃʳᵃᵗ
28.01.2017
12:16:25
а в тулзах каких ?
хотя я на стили еще тут некоторые грешу

whalemare
28.01.2017
12:18:59
У меня часто все необъяснимые проблемы решаются полным сносом апки, + invalidate cache у студии и clean, rebuild

Ⓜ️ᵃʳᵃᵗ
28.01.2017
12:23:16
счаз попробую.

Igor
28.01.2017
12:42:05

Илья
28.01.2017
12:46:17
Все равно ж забагованная штука

Ⓜ️ᵃʳᵃᵗ
28.01.2017
12:47:06
хотя, мне кажеться это у меня косяк . все же
что то я счаз подумал.
и прикинул, у меня же есть метод который прехватывает нажатие с краю вьюшки.
короче я сам дурак )

Stas
28.01.2017
12:58:44
Привет! Проблема с joda-time
DateTimeFormat.forPattern("dd MMMMMMM yyyy mm:HH").withLocale(new Locale("ru"))
форматирует часы наоборот: сначала час, потом минута
я паттерны времени не понимаю или это бага?

Igor
28.01.2017
13:01:12
Может из-за локали

sasha
28.01.2017
13:01:19

Igor
28.01.2017
13:01:21
и вообще, зачем тут joda-time?

Stas
28.01.2017
13:01:23
бля я наркоман
HH:mm нужен
забейте