@android_ru

Страница 676 из 3205
Владислав
14.12.2016
23:11:57
Понятное дело

J
14.12.2016
23:13:04
Понятное дело
ну всё, не очкуй :)

Владислав
14.12.2016
23:13:46
Было бы из-за чего ;)

J
14.12.2016
23:49:47
Мне кажется, он про работу без отдыха
https://pp.vk.me/c625723/v625723702/5053c/yLV8rnA3fF8.jpg

Google
Taras
15.12.2016
01:00:43
Я с апворка проект у шведа по имени Алибаба прихватил))). Коренной видать)

Gregory
15.12.2016
01:58:30
https://pp.vk.me/c625723/v625723702/5053c/yLV8rnA3fF8.jpg
А просто: релизиться тогда, когда всё готово

Max
15.12.2016
07:18:12
Подскажите, совет по архитектуре. Как можно избежать конструктора с большим количеством параметров? У меня их сейчас около 10. Чтобы этот мрак отгородить, обернул это все в Builder, который сам разруливает поставку параметров, но все равно это боль. Особенно если надо еще добавить парочку параметров. Может умные люди как то иначе это все делают?

Gregory
15.12.2016
07:19:08
Можно сделать несколько конструкторов, которые принимают меньше параметров, чем тот большой и главный, и вызывают его с какими-то значениями по умолчанию

Fedor
15.12.2016
07:20:56
Можно просто в бандл все запихать - тогда будет 1 параметр

+)

Max
15.12.2016
07:21:33
ок, попробую все советы ) Спасибо

Fedor
15.12.2016
07:23:09
Object... params

Alexey
15.12.2016
07:24:13
способов куча

Google
Alexey
15.12.2016
07:24:26
HashMap<String, Object>
есть ArrayMap<Sting,Object.

Gregory
15.12.2016
07:24:41
Object... params
String[] paramNames, Object[] paramValues

Alexey
15.12.2016
07:24:47
андроидовская хэшмапка, которая оптимизирована под небольшое количество объектов

Gregory
15.12.2016
07:25:04
хм, не знал

Alexey
15.12.2016
07:25:06
На большом кол-ве объектов проигрывает

Gregory
15.12.2016
07:25:21
зато про SparseArray знал, это как HashMap<Integer, whatever>, только быстрее

Alexey
15.12.2016
07:25:22
на малом она по памяти лучше чем обычная HashMap

Gregory
15.12.2016
07:26:33
скорее так Map<int, whatever>
нельзя просто так взять и засунуть примитив в генерик)

Sergey
15.12.2016
07:26:44
я знаю

Gregory
15.12.2016
07:27:00
но да, суть в том, что оно не оборачивается в объект

Sergey
15.12.2016
07:27:45
SparseArray просто коллекция где поочередно идут ключи и значения

каждый непарный элемент ключ, парный значение

Gregory
15.12.2016
07:32:06
просто такая штука очень нужна, когда тебе надо парсить ответы от апи, в которых есть какие-то объекты типа постов или сообщений, а рядом — массив пользователей к ним

Gregory
15.12.2016
07:33:15
каких усилий мне стоило добиться консистентности

Alexey
15.12.2016
07:33:32
а если и этого мало то вот тебе execute и можешь сам исполнять код на сервере

Google
Gregory
15.12.2016
07:33:43
заставлял переименовывать поля, когда разработчик клиента для айфона втыкал костыли на клиенте =D

Alexey
15.12.2016
07:33:53
каких усилий мне стоило добиться консистентности
а то некоторые наделают апи так, что на 1 экран надо по 100500 запросов сделать чтобы всё получить

Gregory
15.12.2016
07:34:23
ну как бы у ВК, например, всё нужное для отображения ленты получается за один вызов newsfeed.get

Alexey
15.12.2016
07:34:49
чтобы меньше трафика жрало

Gregory
15.12.2016
07:34:58
правда, так было далеко не всегда, я ещё помню, как friends.get возвращал только и исключительно массив айдишников, который следовало напрямую скормить users.get

и да, execute не было

Alexey
15.12.2016
07:35:12
и да, execute не было
ну оно давно появилось

Gregory
15.12.2016
07:35:13
два запроса на просто получение списка друзей КАРЛ

ну это ещё при флэш-приложеньках было

Alexey
15.12.2016
07:35:28
два запроса на просто получение списка друзей КАРЛ
ещё хуже когда 1 запрос зависит от другого

Gregory
15.12.2016
07:35:32
я очень давно into it =)

Gregory
15.12.2016
07:35:57
собственно, я даже помню старые названия методов

getFriends, getProfiles, getPhotoAlbums, ...

getWallPhotoUploadServer чорт возьми

Alexey
15.12.2016
07:36:39
плохо когда тебе надо выполнить, например 3 запроса, и для каждого следующего нужны данные из предыдущего. И начинается ебатся с тем, что делать если какой-то из запросов отвалился

Admin
ERROR: S client not available

Gregory
15.12.2016
07:37:19
у того же ВК так работает аплоад

Google
Gregory
15.12.2016
07:37:34
то есть это что-то типа 4 последовательных запроса, и в одном из них большой файл

Alexey
15.12.2016
07:37:42
у того же ВК так работает аплоад
и что делать если какой-то промежуточный запрос ошибку вернул?

всё писать что не удалось загрузить файлик?

Gregory
15.12.2016
07:38:09
я для этого сделал специальный сервис, который хранит состояния всех заданий на аплоад

Alexey
15.12.2016
07:38:18
ну и наверняка у тебя там лапша из колбэков получилась

вот зачем нужен Rx !

Gregory
15.12.2016
07:38:50
если какой-то из запросов пофейлился, он запоминает, где остановились, показывает уведомление и по клику по нему продолжает с этого места

Alexey
15.12.2016
07:38:53
я наверное когда-нибудь напишу RxVkSdk

Gregory
15.12.2016
07:39:15
Gregory
15.12.2016
07:40:10
а там токены на загрузку не протухают?
а там нет никаких токенов, насколько я помню, там есть просто какой-то хэш, который позволяет такому-то пользователю залить такой-то тип контента на такой-то сервер, бессрочно

обычный процесс такой: whatever.getUploadServer -> залить файл на аплоад -> whatever.save

вызов whatever.save возвращает уже id залитой фотки/песни/документа

его в паре с owner_id можно использовать для однозначной идентификации этого объекта в пределах ВК

Max
15.12.2016
08:15:31
Студия умеет генерировать паттерн builder
я сейчас так и делаю, неудобно только местами, потому что она сразу целиком билдер генерит, я его потом чищу, потому что основной билдер - абстрактный, у него есть конкретные реализации

Google
Alexander
15.12.2016
08:25:12
я сейчас так и делаю, неудобно только местами, потому что она сразу целиком билдер генерит, я его потом чищу, потому что основной билдер - абстрактный, у него есть конкретные реализации
если ты меняешь базовый класс - боль будет всегда. Если просто не хочешь писать лишний код каждый раз - попробуй что-то вроде AutoValue или Lombok

Валерий
15.12.2016
08:32:28
А кто-нибудь заморачивался с отладкой поведения приложения при плохом интернете на реальном устройстве с проксей на Windows-ПК ?

Alexey
15.12.2016
08:34:04
кто подскажет как джава доки генерить? вроде какое-то сочетание команд есть чтобы шаблон генерился для метода

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