@android_ru

Страница 787 из 3205
Gerc
10.01.2017
07:59:32
Картинки это не бизнес логика

Paha
10.01.2017
08:04:25
Картинки это не бизнес логика
Если картинки доступны публично то да. А если они привязываются к авторизации и требуют наличия сессии, то я бы отнес это к логике.

Alexander
10.01.2017
08:07:50
Если картинки доступны публично то да. А если они привязываются к авторизации и требуют наличия сессии, то я бы отнес это к логике.
Я бы добавлял в загрузчик картинок токен в запросы и все равно не относил бы картинки к бизнес логике.

Google
Alexey
10.01.2017
08:10:31
@pahakorolev а у glide разве нет метода без ссылки на view? У мвсех загрузчиков вроде есть

@pahakorolev кончено, для более-менее оптимальной загрузки нужны размеры вьюхи, в которой загружаемая картинка будет отображаться и с этим будет гемор

Anna
10.01.2017
08:18:52
ребята, кто-то работал с HEPE map API Android? на 6.0.1 LGE появляется error MISSING_LIBRARIES, на других работает. LGE на armv8. что можно с этим сделать?

Quarx2k ?
10.01.2017
08:21:59
Добавить arm64 версию библиотеки как вариант

Sergey
10.01.2017
08:22:23
Quarx2k ?
10.01.2017
08:22:38
Собрать если нету и опенсорс:)

Sergey
10.01.2017
08:23:00
Собрать если нету и опенсорс:)
не думаю что HERE MAPS open source )

Quarx2k ?
10.01.2017
08:23:31
Тогда хакнуть лмбу чтобы юзала 32 бита либу для 64)))

Ruslan
10.01.2017
08:34:06
если мне нужно на протяжении жизни аппа хранить два значения, правильно ли будет засунуть их в shared pref?

Dmitry
10.01.2017
08:34:07
привет

                                                                        
10.01.2017
08:34:27
Privet)

Dmitry
10.01.2017
08:35:29
мне для интерфейса голосовых команд нужно постоянно слушать микро, я так понимаю это весьма затратное в плане батарейки мероприятие, какую стратегию вы бы посоветовали?

Google
Ruslan
10.01.2017
08:37:30
Они будут менятся?
каждый заход в апп я их получаю(каждый раз новые) и нужно хранить

balolam
10.01.2017
08:37:34
Если это что-то важно, то ты смотри, на рутовых устройствах подменит Shared Preferences - минутное дело

Anna
10.01.2017
08:37:45
Добавить arm64 версию библиотеки как вариант
похоже что такой библиотеки нет. в .aar который качает есть только armeabi-v7a. может быть в этом проблема?

Alexander
10.01.2017
08:39:00
каждый заход в апп я их получаю(каждый раз новые) и нужно хранить
Тогда не подходит. Ты не узнаешь, когда приложение уничтожилось, чтобы перезаписать новые значения.

Хотя.. в onCreate перезаписываешь и все ок.

Ruslan
10.01.2017
08:42:43
Хотя.. в onCreate перезаписываешь и все ок.
перезаписываться будет при каждом логине

думаю должно работать

Alexander
10.01.2017
08:43:54
думаю должно работать
Да. Но токен не стоит хранить в преференсах

Anna
10.01.2017
08:44:37
а где стоит хранить токен? :)

Ruslan
10.01.2017
08:44:41
Anna
10.01.2017
08:45:53
предполагаю что в бд

Ruslan
10.01.2017
08:46:29
mode private и достучаться другие аппы не смогут

Alexander
10.01.2017
08:47:38
Я сам то не особо знаю. В шифрованной бд, как вариант. На рутованных устройствах и при mode private вытащат.

Ruslan
10.01.2017
08:48:16
ну рутованых да, но это если еще пользователь даст доступ

на стаковерфлоу пишут в shared preff

dropbox так делает

Alexander
10.01.2017
08:50:06
А если аппарат не у пользователя? В общем плохая практика. В подкастах про безопасность что говорили? Я позже буду безопасность усилять у себя.

Михаил
10.01.2017
08:51:04
В подкастах говорилось о криптоконтейнерах, но я до сих пор не понял че это

Alexander
10.01.2017
08:51:39
Как раз - шифрованная бд.

Google
Quantum Harmonizer
10.01.2017
08:51:50
Где ключ шифрования хранится?

Alexander
10.01.2017
08:51:57
На рутованных и из шифрованной БД вытащат, не?
Базу то они смогут получить, а расшифровать?

Nikita
10.01.2017
08:52:23
я может глупость скажу, но почему бы тот же ключ не засунуть в sp предварительно его самому "зашифровав", и вытаскивая его "расшифровывать". Пусть его можно и вытащить но какой от него будет толк если не известен заранее алгоритм шифрования?

Alexander
10.01.2017
08:52:26
в keystore, вроде. Я на заметку взял, на потом. Но не вникал.

Где ключ шифрования хранится?
Хотя. Я как-то залез в SQLClipher, там вроде ключ при генерации либы забивается. т.е. он будет только у вас.

Quantum Harmonizer
10.01.2017
08:54:48
У кого "у вас"?

Alexander
10.01.2017
08:55:25
У разработчика

Quantum Harmonizer
10.01.2017
08:56:01
ks.load(fis, password) На клиенте он будет.

Anton ?
10.01.2017
08:58:04
ks.load(fis, password) На клиенте он будет.
Шифровать базу пином пользователя, который хранится только у него, а не где то в приложении. и каждый раз его запрашивать

Quantum Harmonizer
10.01.2017
08:59:13
Разве что так.

Alexander
10.01.2017
09:01:19
Шифровать базу пином пользователя, который хранится только у него, а не где то в приложении. и каждый раз его запрашивать
В сбере может и норм. Но не везде же будешь пароль просить. В телеграме же не просит пароль каждый раз.

Denis
10.01.2017
09:02:32
ConstraintLayout юзает кто-нибудь в проде?

Alexander
10.01.2017
09:02:51
ks.load(fis, password) На клиенте он будет.
Про keystore понятно. Я же про SQLClipher писал, что ключ у разраба.

Quantum Harmonizer
10.01.2017
09:04:07
Про keystore понятно. Я же про SQLClipher писал, что ключ у разраба.
Как он расшифровывает/зашифровывает на клиенте без ключа? :)

Alexander
10.01.2017
09:05:08
Ключ может в нативе забит? Или я ошибаюсь)

Paha
10.01.2017
09:18:59
@pahakorolev а по отдельный слой. Тут в ишюзах, смотрю, поднято обсуждение по этой теме. Там он объясняет, почему он так не считает https://github.com/android10/Android-CleanArchitecture/issues/64
Спасибо, перечитал, там и продолжение есть (https://github.com/android10/Android-CleanArchitecture/issues/182). Вот я как раз в одном из проектов столкнулся с такой же проблемой и думаю над решением. Сначала это были просто картинки, потом еще добавились файлы (пришлось допиливать glide), потом они начали использоваться на нескольких экранах, а сейчас еще в недалеком будущем появляется задача загрузки содержимого по запросу пользователся. Так же последовала куча багов, решение которых ну никак не ложится в слой presentation.

Eugene
10.01.2017
09:30:23
Привет! Не подскажите как решить мою проблему? Я использую retrofit +rx есть гет запрос которы возвращает при успехе {}

Svyat
10.01.2017
09:32:09
а в чем вопрос то?

Никита
10.01.2017
09:33:38
чтобы ударить его?)

Google
Igor
10.01.2017
09:34:04
зачем сразу бить? можно провести бесседу

Asyl
10.01.2017
09:34:28
{success: true} бывают и такие

Maxim
10.01.2017
09:34:53
204 No Content!

Quarx2k ?
10.01.2017
09:35:55
{success: true} бывают и такие
success: failed ещё бывает

Admin
ERROR: S client not available

Eugene
10.01.2017
09:36:41
{ “flag”: true, “data”: “p1” } и при неудаче { “error”: “someerror”, “error_description”: “Here error” } в обоих случаях ответы приходят http code 200 соответсвенно Observable<ResponeSwitch> responseSwitchObservable = apiServiceProvider.initSwitch(value); Subscription subscription = createAuthObservable .observeOn(AndroidSchedulers.mainThread()) .subscribe(responseSwitch -> { response.isSuccessful(); hideProgress(); }, throwable -> { hideProgress(); if (throwable instanceof IOException) { getViewState().showError("Network error. Please check your internet connection"); } });

Quantum Harmonizer
10.01.2017
09:37:07
```

Иван
10.01.2017
09:37:29
```
pastebin

Eugene
10.01.2017
09:37:36
как отловить error если http code 200

Quantum Harmonizer
10.01.2017
09:37:50
response.isSuccessful()

Eugene
10.01.2017
09:38:20
response.isSuccessful() http code 200

Svyat
10.01.2017
09:38:22
напиши интерсептор и в нем смотри.

Иван
10.01.2017
09:38:44
Ребят, вы сейчас делаете большую ошибку

В поисках выхода из такой ситуации прогер бекенда вешается на шею

И делает анархию

Если запрос имеет ошибку в ответе, то уж 200 нельзя отдавать просто по логике

Svyat
10.01.2017
09:39:33
ну если нет способа попросить поменять его что то

есть OpenWeatherAPI - там все запросы 200

Иван
10.01.2017
09:40:18
Тут еще проблема в чем

У нормальных ответов есть отдельное место под статус и отдельное под контент

Google
Svyat
10.01.2017
09:40:36
есть ведь люди, которые REST не любят.

Иван
10.01.2017
09:40:44
Т.е. не то или то или вообще массив

Иван
10.01.2017
09:41:12
это да.
В таком случае соглашусь на 200

Брр

Ну как, запросы так то тоже по базовому протоколу, но мути под капотом больше чем с классическим JSON

Иван
10.01.2017
09:42:26
???
Что?

Quantum Harmonizer
10.01.2017
09:42:32
Место под статус — это HTTP-код, не?

В теле должен быть только ответ

Иван
10.01.2017
09:42:43
Это протокольная часть

Ilya
10.01.2017
09:43:15
У нас кастомный Subscriber для этого используется

Иван
10.01.2017
09:43:29
Теоретически, там должна быть ошибка в случае ошибки протокола, а не ошибки обработки данных к примеру

Т.е. "Я сервер, я понял что ты просил список абонентов, но их пока нет, держи 200 с жсон в котором еррор"

Только вот надо структуру ответа тож соблюдать

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