Михаил
Пропитаться открыть InputStream наверное. 🤷‍♂
Ну такое) не уж то нет норм варика из сдк
Andrey
я использую, релиз не собирал
Можешь запустить assembleRelease ?
Сергій
Есть встроенная тулза Parcelize
Глеб
как нормально проверить по Uri картинки, что она существует? Без преобразования в файл
по uri - ты можешь только проверить что к нему есть доступ (например "r" или "w" или "rw") -открыть Input/Output Stream, как указал Сергей вычитать/записать байты, узнать mimeType ресурса а из этого ты уже сам решаешь "есть картинка", "нет", "картинка ли это" и тд
Dyno
Добрый день. Столкнулся с неожиданной проблемой. Видите, тулбар и таблайаут накладываются поверх фрагмнта, в котором есть расайклер. На скриншоте видно всего 4 item, а на самом деле их 6. В чем проблема?
Dyno
Volodymyr
в разметке, скинь её
Andrey
и ты верх фрамента привязываешь к верху активити
Dyno
Похоже у тебя констрейтлэаут
да нет, координатор <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@android:color/black" app:popupTheme="@style/AppTheme.PopupOverlay" /> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:background="@android:color/holo_green_dark" android:layout_width="match_parent" android:layout_height="wrap_content" /> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/view_pager" android:layout_width="match_parent" android:layout_height="match_parent" /> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:layout_margin="@dimen/fab_margin" app:fabSize="normal" app:rippleColor="@android:color/white" app:srcCompat="@drawable/ic_plus" /> </android.support.design.widget.CoordinatorLayout>
Eugene
да нет, координатор <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@android:color/black" app:popupTheme="@style/AppTheme.PopupOverlay" /> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:background="@android:color/holo_green_dark" android:layout_width="match_parent" android:layout_height="wrap_content" /> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/view_pager" android:layout_width="match_parent" android:layout_height="match_parent" /> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:layout_margin="@dimen/fab_margin" app:fabSize="normal" app:rippleColor="@android:color/white" app:srcCompat="@drawable/ic_plus" /> </android.support.design.widget.CoordinatorLayout>
Нужно для вьюпейджера добавить атрибут app:layout_behavior="@string/appbar_scrolling_view_behavior"
Dyno
теперь я хоть знаю для чего этот аттрибут))
Илья
ребята, подскажите пожалуйста, можно ли в onStop в Активити запускать Runnable который в цикле будет спать 60 секунд потом дергать бекенд и показывать нотификейшены ? а в onStart убивать этот тред? как альтернативу WorkManager-ру, у которого минимальный интервал 15 минут. или это кривость ?
Илья
minSdkVersion 15
Глеб
а вы знаете толк....
Di
Android Studio отказывается видеть стили. Даже в ново-созданных проектах Пишет ошибку на подобии этой: Failed to find style 'textViewStyle' in current theme
Di
Не видит темы
Artem
Не видит темы
там есть переключатель, и сбилдить проект еще обычно помогает
Artem
Илья
не получится, доз-мод ваш злейший враг в этом
большое спасибо за ответ, это мое первое приложение и minsdk можно повысить, наверное 15 это уже совсем древность, тут просто непонятно как сделать, чтобы с частотой 1-2 минуты дергало бекенд и уведомляло юзера, когда приоржение свернуто
Di
там есть переключатель, и сбилдить проект еще обычно помогает
просто я билдил, переустанавливал сдк, обновлял студию. Уменьшал сдк на 27й и не альфа. Темы сверху тоже тыкал. Но даже перезагрузка ПК не помогла
Глеб
большое спасибо за ответ, это мое первое приложение и minsdk можно повысить, наверное 15 это уже совсем древность, тут просто непонятно как сделать, чтобы с частотой 1-2 минуты дергало бекенд и уведомляло юзера, когда приоржение свернуто
если нет никаких требований - идите сверху-вниз, хотя бы min24. И только если реально будет обоснованое требование "ниже" - сдвигаться вниз. Не усложняйте себе и без того не лёгкую жизнь андроид-разработчика)
Yury
Есть вариант с отправкой высокоприоритетных пушей с сервера. Они в общем случае пробуждают из доуза и дают возможность что-то сделать
Глеб
спасибо, так и сделаю ! а может быть можно сделать слушать веб-сокет или вроде того ? как делают всякие клиенты телеграма и тд ?
сокеты - плохая идея, телеграм - не самый лучший пример, потому как он сам по себе технически очень сложный продукт, который ... некоторые фишки которого себе не могут позволить даже их конкуренты, не говоря уже о нас всех остальных простых смертных )
Ekaterina
Кому не лень чекните пожалуйста что я делаю не так. Есть кнопка, есть две переменных: одна MutableLiveData<String> другая MutableLiveData<Boolean>, есть editText и кнопка. Хочу активировать кнопри когда в editText больше 5 к примеру символов, ставлю кондишн в get() у MLD<Boolean> и соединяю с android:enabled. Не работает. Спрашивает переменную единоразово при самом databinding в onCreate
Ekaterina
https://github.com/FrogTravel/MVVMSample
Ekaterina
Окей, решилось через LiveData и Transformations, но все еще не понятно что не работало и почему
Taras
в обратном случае на фолс
Taras
так тебе что бы вьюха меняла своё состояние
Taras
нужно что бы лив дата менялась
Taras
тогда она емитит ивент, на который по сути и среагирует вьюха
Taras
если не ошибаюсь
Глеб
а почему сокеты плохая идея?
потому что это уровень ниже простого http, тоже.. требующий достаточной квалификации по низкому сетевому слою в джаве или не знаю ...в плюсах (что вам ближе) и второе - сетевое соединение постоянно скачет - и подсеть может меняться (потеря wif, перход на mob-data) - это то же нужно как-то менеджить.... ...и того - такими трудами - это может быть оправдано только для редких специальных случаев.... например - телега, с её требованиями к безопасности и производительности 90% всех остальных - в этом не нуждаются
Ekaterina
Просто если я текст запрашиваю на ккнопку, textView и все такое все работает прекрасно
Ekaterina
Но с булеановыми штуками вечно проблема
Taras
у тебя не меняется булеан, по этому и не меняется состояние кнопки
Taras
вьюха не бегает к лив дате проверять как она там, это лив дата сообщает о смене состояния
Ekaterina
Оно разве не должно постоянно запрашивать шо там внутри лежит?
Ekaterina
аа, понял принял
Volodymyr
надо написать email клиент, вернее фичу, котрая будет только отправлять письма на определёных несколько адресатов, кто то с таким сталкивался? не используя бекенд
Taras
это на сколько я помню, давно с датабиндингом ничего не делал
Taras
но спорить не буду, так как только начал с ними, в любом случае спасибо за информацию)
No
Почему кейтул возвращается cannot recover key?
Глеб
но спорить не буду, так как только начал с ними, в любом случае спасибо за информацию)
на практике с этим поэкпериментье, в реальном использовании, заходя в лифт, заежая в туннель, приходя домой, в офис. подключаясь к общедоступным сетям.... короче просто путешествуя с "открытым сокетом" в течении дня там и "чудеса nat-ов", и смертность батареи и теплопроводность повылазиют но если есть возможность изучить эти "особенности" не в теории - конечно изучайте, этот опыт будет ценней всех наших здесь советов 😉
Mike
Хочу 28, там AppComponentFactory :)
Глеб
minSDK 24, лиха 🌝
так если не легаси проект - а новый, то смысла ниже вообще никакого.... чем упарываться в саппорт того что уже сдохло или почти сдохло? лучше того что будет расти и размножаться. А иначе - неблагодарный труд получается. Тока написал, поддержал - а оно уже и <10%. Лучше 4 посл версии апи идеально работающие на топовых устройствах, с платежеспособной аудиторией, счастливым разработчиком и довольными юзерами.... чем мин апи 2,3,3 - и .... ни себе не людям. Для всех хорошим не будешь)
Глеб
По-крайней мере всё то что сейчас лежит на полках Связных и тп (новое, не "палёное") - min 24
Vitaly
Почему NPE когда выполняю этот тестовый код? @Test public void onPhoneAuthResultOk(){ String phone = "+79035724917"; when(response.getResult().equals("RESULT_OK")).thenReturn(true); presenter.sendPhone(phone); presenter.onPhoneAuth(response); verify(preferencesHelper).saveCurrentPhone(phone); } Ругается на строчку when(respone.getResult()...
FromSi
Такой вопрос. Как реализовать нижний tabbar с плавающей точкой? Нет у Material Design документации по этой штуке или что нибудь, чтобы понять как её лучше создавать и где.
Сергій
Отказываться от 50% рынка?)
там и не от кого отказываться, одни мейзу, сяоми и нубии )
Глеб
Отказываться от 50% рынка?)
Я конечно не финансовый аналитик но что подсказывает, что крови на поддержку этих "нижних 50%", в обмен на "полезную отдачу" (деньги и пр) сремится к нулю
Сергій
разве что на рекламе
Глеб
Для сравнения -наши "пермиум" братья - держат % 15 рынка - и им это не мешает)
Сергій
но приложения с рекламой то ещё уг )
Roman
Я привык к холиварам, поддерживать апи 14 или 19, а тут аж 24
Anonymous
Я привык к холиварам, поддерживать апи 14 или 19, а тут аж 24
Жесть, ну никто уже не пользуется ниже 19, ну.
Сергій
Жесть, ну никто уже не пользуется ниже 19, ну.
"сосед маминой подруги пользуется" ))
Глеб
Я привык к холиварам, поддерживать апи 14 или 19, а тут аж 24
ну вот, эта "андроид"-психология и приводит к "android"-результату "ну это же андроид, что вы хотели"
Roman
мб отказаться от pre-Oreo версий? Не придётся писать разный код для нотификаций
Глеб
что бы изменить отношение к платформе - на более айосное - надо играть айосными правилами)) 2-3 года - пошёл нахрен 😁👍
Сергій
minSDK 21 золотая середина, ИМХО