Anonymous
Хранить на сервере
ну это понятно, но просят еще работу в оффлайне
Anonymous
ну это понятно, но просят еще работу в оффлайне
постоянно бегать в сервак не получится
Evgeniy
ну это понятно, но просят еще работу в оффлайне
А что в офлайне можно делать в банковском приложении?
Anonymous
А что в офлайне можно делать в банковском приложении?
просмотр счетов и создание докуметов, естественно юзер будет в курсе что эти данные последний раз обновлялись при включенном нэте
Sergey
кто плотненько юзает room и брезгует лайвдатой и вьюмодел такие есть ? какой выход использовать екзекуторсервис или просто new Thread() или еще какие варианты ?
Anonymous
и вся инфа по ним
Evgeniy
и вся инфа по ним
Ну там *******3432, как обычно. Или прямо в открытом виде все номера светятся?
Anonymous
Ну там *******3432, как обычно. Или прямо в открытом виде все номера светятся?
в интерфесе это и звездочкик поставить, но меня больше волнует что чел может вскрыть приложение и посмотреть все ссылки и запросы и таким образом потытать самому сделать опреции
Anonymous
а данные типа взять с файла в бд
Глеб
Данные логина - token или что-то еще можно хранить в sharedPrefs предваритеьно их зашифровав. Они хранятся в файле, и если приложение пользователь закроет, данные все равно сохраняются. Данные пользователя - номера счетов и т.д. желательно хранить в БД так как это структурированные данные. БД - это тоже файл, тоже данные не теряются при выходе с приложения (если предварительно были сохранены в БД).
Можно пойти очень далеко, и сделать из банковского аппа - антивирус и пытаться вытаскивать на себе безопасность всего телефона. Но если ты не "СБЕР" - можно обойтись простым шифрованием и проверкой сертификата apk соль - константа байт-массив, хитро задаваемая (придумай сам) в NDK проверка сертификата - тоже в NDK при его инициализации (при старте апа) - если не валидно - нейтив крэш. Этих двух вещей - за глаза и за уши от большинства "хакеров"
Evgeniy
в интерфесе это и звездочкик поставить, но меня больше волнует что чел может вскрыть приложение и посмотреть все ссылки и запросы и таким образом потытать самому сделать опреции
Ну в общем таких данных, типа номера карт, не должно быть на устройстве. А общение с сервером защищается авторизацией. На сертификатах или другим способом, решайте сами. Это очень большая тема. Есть чат по андроид безопасности https://t.me/android_guards, но там на вопросы как защитить данные, вам скажут, что всё тлен и всё ломается
Глеб
кто плотненько юзает room и брезгует лайвдатой и вьюмодел такие есть ? какой выход использовать екзекуторсервис или просто new Thread() или еще какие варианты ?
я вот недавно тоже по втыкался в Arch Components - и.... в общем - потоки на усмотрение разработчика, как я понял. 🤔 Максимум, на что их хватило - postValue 😂 в лайв дате
Sergey
вот room или realm один нельзя юзать в ui (это очень очень плохо) другой наоборот что бы юзать в отдельном потоке надо извращаться ну какие же мудаки разработчики((
Evgeniy
вот room или realm один нельзя юзать в ui (это очень очень плохо) другой наоборот что бы юзать в отдельном потоке надо извращаться ну какие же мудаки разработчики((
Room можно же в ui юзать, если флаг поставить в конфиге, которым ты берёшь всю ответственность за фризы ui и не будешь жаловаться, что room тормозит приложение)
Sergey
ого я не знал про флаг . конечно в своих приложулях пох на перфоманс пол секунды тут пол секунжы там подумаешь скипнется 100 фреймов и ладно
Глеб
вот room или realm один нельзя юзать в ui (это очень очень плохо) другой наоборот что бы юзать в отдельном потоке надо извращаться ну какие же мудаки разработчики((
либо по оборачивать вызовы к базе во Futures.get - н-р, чтобы работать синхронно из main треда (если база быстрая) я так в сеть ходил)) но - да .... ответственность за фризы - тогда твоя
Sergey
отлично спасибо 😋
Konstantin
Какие есть нормальные альтернативы buddybuild'у? Они прикрыли лавочку с ондроедом.
Vadim
у меня во viewmodel есть ObservableBoolean, как мне можно подписаться на его изменения в фрагменте?
Konstantin
у меня во viewmodel есть ObservableBoolean, как мне можно подписаться на его изменения в фрагменте?
Если используешь гугловскую архитектуру, то у него Observable можно переделать в LiveData
Sergey
реалм гавно добавляет вес к апк. инстанс реалма на 1 поток.масив стрингов не может сохранить
Sergey
добавляет вес к апк этож вообще зашквар
Gerc
реалм гавно добавляет вес к апк. инстанс реалма на 1 поток.масив стрингов не может сохранить
сплит есть, для стрингов один класс пишется. с инстансом не было проблем
Dmitry
реалм гавно добавляет вес к апк. инстанс реалма на 1 поток.масив стрингов не может сохранить
согласен, везде где использовал реалм, рано или поздно приходило к тому что нужно было вычистить реалм
Anonymous
Как праильно из 2 фрагмента запустить первый фрагмент в Activity? У меня есть метод. Я его могу в static сделать. Или же правильнее через EventBus это все сделать? Вообщем как правильно?
Anonymous
Или может написать метод в BaseFragment?
Sergey
гетактивити гет фрагментменеджер поп
Anonymous
они не в стекуе
Anonymous
я просто replace юзаю
Anonymous
Активити запустил фрагмент 2. Он там чото сделал. как закончил должен запустить фрагмент 1
Sergey
сплит есть, для стрингов один класс пишется. с инстансом не было проблем
юзайте дальше эту пое№нь реалм а я уже выпилил его
Anonymous
Konstantin Наверное ссылка где то осталась. Поэтому GC не убил его. или onDestroy не вызвался
Dmitry
изза чего выпиливать?
вот к примеру когда надо триггер на таблицу накинуть, как в реалме это сделать? а каскадное удаление? а работа с RealmResults когда ищешь элементы по полю и не дай бог поле изменишь, сразу данные отвалятся... там долго можно перечислять
Gerc
юзайте дальше эту пое№нь реалм а я уже выпилил его
ааа наверно ириксом все обмазано и из-за реалму не работается нормально?
Sergey
да реалм это прошлый век
Sergey
забейте на него
Eugene
да реалм это прошлый век
а что актуально вместо realm?
Sergey
room
Gerc
ахах
Eugene
room
почему?
Sergey
ну потому что не надо увеличивать размер апкашки не надо наследоваться от реалмобжекта не надо дроч”ить на сохранение листов примитивов и еще по итд
Anonymous
Вот так короче замутил в BaseFragment
Anonymous
public void changeActivityFragment(Fragment fragment){ ((BaseActivity)getActivity()).changeFragment(fragment); }
Anonymous
Нормально?
Sergey
Sergey
пока что нету
Anonymous
Konstantin Чо предлагаешь?
Sergey
может потом будут начну обсирать рум
Eugene
может потом будут начну обсирать рум
с realm на room у вас есть опыт миграции?
Sergey
а что возможно мигрировать с одной бд на другую? всеравно останутся юзеры которые не обновились и они потеряют данные
Sergey
я хз как мигрировать я пока что держу 2 бд но когда старых юзеров останется меньше 10% то придется их лишить данных
Eugene
а что возможно мигрировать с одной бд на другую? всеравно останутся юзеры которые не обновились и они потеряют данные
в проекте, в котором использовался realm, пробовали перейти на room? насколько сложно\долго?
Sergey
room уже stable?
видимо да я не знаю что такое не stable
U.
Realm в релизе будет крашить апу с внутренними ошибками, которые вы не пофиксите сами
U.
в итоге всеравно прийдется перейти на sqlite или room
Sergey
которые прилетаю только в плей консоль и пзд№ц
Sergey
#03 pc 0000000000029b01 /system/lib/libhwui.so (_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv+80)
Sergey
у меня есть пара проектов где кроме реалма просот некому кидать нативные краши
Anonymous
EventBus короче
Anonymous
так проще
Anonymous
ну EventBUs и есть роутер
U.
а просто сделать интерфейс для активити и сказать ему из фрагмента - зареплейси меня
Anonymous
Показали бы пример чем стебяться. Мужики ну емае
Anonymous
Все вокруг до около ходите. Советуете не понятно что. То не использую это, то используй.
Evgeniy
Обычный Callback в хост активити. Создаётся по дефолту при создании нового фрагмента в AS
Konstantin
добавляет вес к апк этож вообще зашквар
В самом деле. Какого хуя библиотеку не могут уменьшать вес апк, вот пидарасы.