Юрий
Не ответят, да и толерантно вообще. Кому это нужно, досканально Rx учить? Понадобится потребность, копнём глубже.
когда в попу клюнет нужно, может быть мало времени на его изучение, это очень большая тема, которая изучается не один мец
Юрий
плюс это другой стиль программирования)
Юрий
не императивный)
Юрий
а императивный + функциональный)
Nikita
оператор just запускается в потоке планировчика, или в потоке вызова?
Just вычисляется в потоке, который вызвал этот метод
Александр
когда в попу клюнет нужно, может быть мало времени на его изучение, это очень большая тема, которая изучается не один мец
Ну вот когда клюнет, тогда и почитаю про defer, heh. Знать RxJava, если быть реалистом - это, в моём понимании, не означает выдрочить какие - то такие тонкие моменты, эту либо охренеешь колупать, кому это упёрлось вообще. Знаешь - это когда применял, умеешь работать с базовыми операторами и решать базовые таски.
Юрий
Just вычисляется в потоке, который вызвал этот метод
верно, как изменить это поведение?
Кирилл
я?
Ой)
Александр
я?
Ну проверь, ну чо ты(
Nikita
верно, как изменить это поведение?
Изменить можешь как хочешь, если хочешь чтобы было на другом потоке есть fromCallable, который так же съест ошибку если что и пробросит её дальше
Starikov
Подскажите пожалуйста Делаю платную подписку в приложение. Функция подписаться работает. Подписка оформляется, в Гугл плэй показывается, чек приходит. Но вот как не проверю autoRenewing получаю походу false, и в приложении функции не разблокировать из за этого, так как не получается проверить состояние подписки. Подписка месячная с пробным периодом на неделю. Может кто сталкивался или знает?
Кирилл
Юрий
Ты можешь узнать размер экрана устройства, например, а там дальше if-else
Nikita
Юрий
Resources.getSystem().displayMetrics
Кирилл
А вообще, const не могут быть динамическими тк определяются при компиляции
Z
В xml такое можно?
Юрий
Юрий
public class DisplayMet implements DisplayMetContract { private SplashActivity activity; private String definitionDpi; private String definitionDensity; private String definitionPoint; @Inject public DisplayMet() { } @Override public void init(SplashActivity activity) { this.activity = activity; } @Override public void onDestroy() { if ( activity != null ) activity = null; } @Override public void definitionDpi() { DisplayMetrics dm = new DisplayMetrics(); activity.getWindowManager().getDefaultDisplay().getMetrics(dm); int dpiClassification = dm.densityDpi; float xDpi = dm.xdpi; float yDpi = dm.ydpi; definitionDpi = "dpiClassification = ".concat(String.valueOf(dpiClassification)) .concat(" , xDpi = ".concat(String.valueOf(xDpi))) .concat(", yDpi = ".concat(String.valueOf(yDpi))); } @Override public void definitionDensity() { float density = activity.getResources().getDisplayMetrics().density; if (density >= 4.0) { definitionDensity = "xxxhdpi"; } if (density >= 3.0) { definitionDensity = "xxhdpi"; } if (density >= 2.0) { definitionDensity = "xhdpi"; } if (density >= 1.5) { definitionDensity = "hdpi"; } if (density >= 1.0) { definitionDensity = "mdpi"; } definitionDensity = "ldpi"; } @Override public void definitionPoint() { Display display = ((WindowManager) activity.getSystemService(WINDOW_SERVICE)).getDefaultDisplay(); Point p = new Point(); display.getSize(p); int width = p.x; int height = p.y; definitionPoint = " width = ".concat(String.valueOf(width)).concat(" height = ".concat(String.valueOf(height))); } public String getDefinitionDpi() { return definitionDpi; } public String getDefinitionDensity() { return definitionDensity; } @Override public String getDefinitionPoint() { return definitionPoint; }
Юрий
только в этом примере есть поле с активностью, как бы не комельфо
Юрий
но посыл верный
Юрий
нужно ее обнулять после завершения работы
Z
А вообще, const не могут быть динамическими тк определяются при компиляции
Как тогда делать динамический UI, который в зависимости от экрана девайса изменяет размеры константы
Юрий
используй резиновую верстку
Александр
"Изменяет размеры константы", это конечно интересно, как вы константу менять собираетесь.
Александр
Не надо её менять, она на то и константа, возьмите другую мб.
Z
Где эти константы должны использоваться?
Размер шрифта, отступы, corner radius, высоты, итд
Кирилл
Размер шрифта, отступы, corner radius, высоты, итд
dp сами адаптируются под размер экрана
Z
зачем тебе это?
Чтобы смотрелось отлично на любом телефоне
Юрий
вспомнил случай когда чувак красил кнопку и по свету определял нажата она или нет)))))))
Кирилл
dp? Как адаптируются?
Почитай что такое dp
Z
Почитай что такое dp
Кажется то что надо. Спасибо)
Юрий
Кажется то что надо. Спасибо)
только используй ConstraintLayout, если будешь использовать другой лояулт то будет не везде одинаково)
Кирилл
только используй ConstraintLayout, если будешь использовать другой лояулт то будет не везде одинаково)
Constraint Layout тоже не гарантирует. Посмотри как нибудь его на маленьком экране
Юрий
Constraint Layout тоже не гарантирует. Посмотри как нибудь его на маленьком экране
если он правильно оформлен то и на маленьком будет ок, смотрел
Юрий
ну а если руки не с того места, то любое решение будет выходить выстрелом в жопу)
Юрий
Constraint Layout тоже не гарантирует. Посмотри как нибудь его на маленьком экране
плюс только Constraint Layout имеет резиновую способность из все лояултов, лучше чем он выбора нет в любом случае
Izya
плюс только Constraint Layout имеет резиновую способность из все лояултов, лучше чем он выбора нет в любом случае
Зависит от кейса. Если на экране 3 кнопки в центре, то лучше лайниар пока ничего не придумали
Никита 🙃
Ребят, а можно как-то git репозиторий запихнуть в проект как модуль? Чтоб не локальная копия лежала, а именно ссылка, по сути, на тот гит репозиторий, со своим гитом и делая правки в либке было достаточно спулить в ней апдейты или изменяя через проект её, она пушилась в свой репозиторий
Никита 🙃
git submodules ?
Вот вроде да. Но делаю git submodule add <link>, он копирует его, но только как часть проекта и этот сабмодуль перестаёт смотреть в свой репозиторий
🐈 гав-гав
ребят, добавил "org.jetbrains.kotlinx:kotlinx-serialization-core:1.0.0-RC" Duplicate class kotlinx.serialization ошибка при компиляции, в чем может быть трабла?
Dmytro
ребят, добавил "org.jetbrains.kotlinx:kotlinx-serialization-core:1.0.0-RC" Duplicate class kotlinx.serialization ошибка при компиляции, в чем может быть трабла?
не поверишь, но это дубликат зависимости)) выполни :аронидДепенсис, посомтри где еще сериализация эта
🐈 гав-гав
трабла была с конвертором для ретрофита, нужно было обновить его, но не подсвечивалось
Anonymous
Всем привет, как в addAction (NotificationCompat Builder) сделать построение типа (int, string, void)? Нужно из уведомления (по кнопке) вызвать функцию другого класса.
Артем
Кто нибудь сталкивался с проблемой, что в обычном браузере и webView одна кнопка работает по разному? Проблема может быть в webView?
Minmaxminor
output = (TextView) findViewById(R.id.textView); String s = "123"; int d = Integer.parseInt(s); output.setText(d);Что тут не так? Приложение закрывается. Ругается на последнюю строку.
Minmaxminor
at com.example.myapplication.MainActivity.onCreate(MainActivity.java:25)
Minmaxminor
13:01 Emulator: Process finished with exit code -1073740791 (0xC0000409)
Dmytro
13:01 Emulator: Process finished with exit code -1073740791 (0xC0000409)
удали свои обрывки, скопируй все и залей на пастбин или гист
Vladimir
Скинь скрин всего красного в логах
Minmaxminor
https://pastebin.com/vyu0rR3Z
Minmaxminor
попробуй setText("" + d);
вроде как не крашится
Dmytro
попробуй setText("" + d);
Тогда уже сразу setText(s)
Dmytro
вроде как не крашится
что ты пытаешься сделать? зачем строку перегонять в инт?
Aleksei
Тогда уже сразу setText(s)
либо так мб ему надо потом с этим интом что-то сделать)
Minmaxminor
кстати да, гениально
а как правильно сделать?
Aleksei
а как правильно сделать?
Ты же сделал уже setText("" + d); Либо, если тебе и не надо с интом этим что-то делать, то вставляй сразу строку, зачем переводить в инт?
Oleg
Ну конструкция setText("" + d); выглядит как то совсем странно. Тогда уж setText(d.toString());
Aleksei
Тогда оставляй "" + d Либо d.toString
Minmaxminor
Короче, пользователь вводит число. Это число хранится в String. Надо как-то сравнить с интовым значением.
Oleg
Тогда оставляй "" + d Либо d.toString
"" + d то же самое что "" + d.toString() из за приведения типов, просто это скрыто. тогда "" + вообще бесполезны