Vadim
ну как я могу поддерживать что-то новое, если собран со старым?
Сергій
Это самый у*банский поступок который можно только совершить
Vadim
конкретные примеры, наконец, будут?
Сергій
Сергій
Сергій
Vadim
Сергій
Разрешения которые надо запрашивать в реальном времени. А не просто прописать в манифесте
Сергій
Вы хоть андроид разработчик?
Vadim
Сергій
Сергій
🤔
✙
✙
ну и разные compat
Сергій
Подключается SDK + AppCompat библиотека
Сергій
Это вам не хухры-мухры )
Vadim
тупо if
иф с чем, если новых апи тупо не прилинковано?
Сергій
Сергій
Собирается приложение с новым сдк
Сергій
Которые не ломает совместимость со старым
Vadim
как? держится две версии кода, для старого и нового?
Сергій
Сергій
Приложение работает так как и работало на старых версиях андроид, но на новых надо новое апи(в некоторых моментах)
Сергій
сейчас половину if else покрывает AppCompat library
Сергій
да, новые апи понятное дело не появляются на старых версиях андроид
Сергій
пример
Сергій
нужна геолокация, до версии андроид 6 мы просто прописывали в манифесте приложения что нам нужен к ней доступ и система спокойно его предоставляла
Сергій
ставим targetSDK 23+, собираем приложение с sdk 23 и уже на версиях андроид 6 и выше нам надо ещё в коде запрашивать это разрешение, но до андроид 6 приложение работает как и работало
Сергій
другой пример
Сергій
нотификации, чтобы они работали на андроид 8+ надо создавать специальные канал для них, до андроид 8, они будут работать как и раньше
Igor
DiffUtil с SortedList скpещивал ктo-нибудь? Сейчас пpoблема вoзникла связанная с пеpвым, из-за тoгo, чтo oн не мoжет oпpеделить элемент, если изменился кpитеpий сopтиpoвки. Вoт думаю, как бы этo делo все испpавить.
Сергій
понятное дело, если вы завязываете какой-то критический функционал на новых апи, которых нет в старых версиях ОС, работать не будет ниже
Vadim
Сергій
но такого чтобы переписывать бизнес логику несколько раз нету
Vadim
Сергій
просто учитываешь новые условия работы с системой
Vadim
а здесь это как заработает?
Сергій
Сергій
просто добавляются новые
Сергій
старые методы аннотируются как deprecated
Сергій
но не удаляются
Anonymous
Всем привет. Подскажите пожалуйста, у меня есть табы с вьюпейджером, но по каким то причинам расстягиваются рандомно выбранные ячейки. Некоторые отображаются нормально.
Anonymous
https://codeshare.io/am3b3w
Anonymous
есть предположения?
Vlad
Vadim
просто добавляются новые
не в этом проблема, код ссылается на someFuncSDK26() следовательно линкер потребует либу, в которой оно есть, на целевой системе, если это Си - а как здесь эта проблема разрешается?
Сергій
Сергій
и будет вызван только при правильном условии, то есть если sdk будет указанной версии, линт такое понимает
Vadim
он в if блоке
в компилируемых языках, по крайней мере в Си, ВСЕ функции, на которые ссылается код, должны быть доступны сразу
Сергій
Сергій
в compile sdk
Сергій
Vadim
что "проверка"? в винде например тебе сразу в момент запуска скажут "точка входа в функцию ... не найдена в библиотеке ...dll" и облом
Сергій
Сергій
при сборке проекта ты подключаешь новое сдк на которое указывает targetSDK параметр
Сергій
сообветственно все функции у тебя есть в компайл тайм
Сергій
но в рантайме их не будет на версиях ОС которые ниже указанного compileSDK
Vadim
так, ладно, вопрос про java тогда... если мы пишем код, вызывая функции некоей либы, что будет, если при некотором условии мы дернем код, которого в либе нет?
Сергій
Сергій
в момент вызова конечно же
Vadim
ага, понятно, то есть у неё тупо поздняя (отложенная) линковка
Vitaly
Делаю аутентификацию через номер телефона, почему версия загруженная через USB работает адекватно, а тот же самый код, но загруженный с Play Market, не отправляет SMS
Vitaly
Когда приложение выкладывается в Play Market меняется SHA1 ключ, поэтому Firebase не может достучаться до моего приложения
Vitaly
Оказывается всё очень просто, но я не знал эту инфу
Сергій
Сергій
и сохраниш все креденшелы к нему? )
Vitaly
Сергій
Да
другой сертификат другая хеш-сумма
Vitaly
Сергій
дебаг билды по умолчанию подписываются дебажным ключем