Egor
ко всем публичным папкам, да
Я не пойму одного. Зачем с каждым андроидом нас калечат с этой безопасностью? Почему нельзя нормально обращаться к папке и писать в файл, если юзер уже дал доступ.
Egor
затем что защиту от дурака никто не отменял, и от говнопрограммиста и от юзера
Помимо того, что юзер на 10 андроиде может выключить геолокацию и прочие функции в фоне, так еще и с записью и чтением будет ад
Jacob
Uri ты как раз и получаешь, доступ у тебя теперь через абстракции
ну это просто по мне так гораздо сложнее стало( во всем приложении используется File() api, что бы отображать размер файла, название, формат, а теперь эту инфу только через курсор надо доставать и все переделывать + пермишены дали, гугл не души
The The
ну это просто по мне так гораздо сложнее стало( во всем приложении используется File() api, что бы отображать размер файла, название, формат, а теперь эту инфу только через курсор надо доставать и все переделывать + пермишены дали, гугл не души
то что переделывать это да... но решение все равно правильное и с точки юзера и с точки зрения безопасности. не должно приложение иметь прямой доступ к файлам на телефоне
The The
там по началу сложно вникнуть во все эти абстракции и что гугол от тебя хочет, но как разберешься, то все довольно логично выглядит
Egor
90% юзеров даже не поймут фишки безопасности и все равно будут давать везде доступ
The The
90% юзеров даже не поймут фишки безопасности и все равно будут давать везде доступ
вот поэтому что "90% юзеров" ничего не понимают и нужны такие решения. и в конце концов - юзер и не должен ничего понимать
Oleg
Ага, сначала все жалуются типа какого хрена у приложения там много доступа, а потом на то, что мало доступа) Вы должны об удобстве юзера заботиться, вам деньги за работу платят не для того, чтобы вы вызывали верхнеуровневые функции, а чтобы делали удобное и безопасное приложение
Anonymous
Друзья, как можно разместить два элемента рядом, при ситуации, что - один элемент должен быть будто match_parent, а рядом с ним toEndOf (хотя бы примерно так)?
Anonymous
но разницы нет, если есть идеи
Nikita
Ребят, подскажите, как устанавливаются обновления в гугл плей? Если человек пропустил несколько обновлений, и ставит последнее, остальные он просто пропускает, или они одно на одно накатываются?
Egor
но разницы нет, если есть идеи
Тебе надо, чтобы справа был врап контент, а слева на всю длину, взависимости от правого?
The The
Constraint layout изи делает
вот кстати да. почему многие до сих пор юзают relative
Mike
то естьэто лучший вариант: в setResult я передаю этот экстра FirstActivity.EXTRA_DATA и потом в onActivityResult тоже вытягиваю с помощью этой же const
Вообще, ключи должны содержать не только имя, но и тип. (Паттерн typed key.) Я когда-то писал их, но код остался в проприетарным проекте.
Mike
viewModel+liveData
Э, как это поможет вернуть результат из активити?
Oleg
но разницы нет, если есть идеи
Через constraint делаешь родителя на всю ширину, у левого элемента левую часть привязываешься к родителю, правую к левой грани правого элемента и ширину в 0 ставишь. Правый элемент ставишь сколько нужно по ширине и привязываешь к родителю тоже. Как то так
Anonymous
притом что сейчас в студии сделано очень удобная работа с визуальным редактором, банально просто двигаешь якоря и лепишь формы за пару минут
дело в том, что приходится делать в AIDE, а тут не выводит в графику Constraint, но я суть понял, попробую (глупо, но так получилось)
Mike
типа EXTRA_INT_POSITION = "EXTRA_INT_POSITION"?
Типа POSITION = new BundleInt("pos");
Никола
Типа POSITION = new BundleInt("pos");
чтото не оч понимаю
Никола
в интент это в качестве ключа передавать?
Nikita
Последнее
Спасибо
Anonymous
Д
Aleksandr
Друзья, как можно разместить два элемента рядом, при ситуации, что - один элемент должен быть будто match_parent, а рядом с ним toEndOf (хотя бы примерно так)?
Relative or Constraint, сначала задаешь "короткий" элемент, а потом с нужной стороны на всё оставшееся пространство "длинный" элемент
Mike
в интент это в качестве ключа передавать?
Нет, делегировать. Будет что-то вроде POSITION.get(bundle)
Никола
Нет, делегировать. Будет что-то вроде POSITION.get(bundle)
bundle передавать из активити в активити?
Никола
что загуглить? вообще не вдупляю
Инжинигер
Инжинигер
Rules to (EditText) расширить до конца (выделено)
начало input цепляешь к parent, а конец к началу кнопки и устанавливаешь width у input в 0dp
Никита 🙃
сабом на livedata, почему нет?
onActivityResult для кого делали?
Никола
Extras — это и есть бандл
EXtra я имел ввиду ключ)
Никита 🙃
EXtra я имел ввиду ключ)
Чё тебе надо? Давай заново сформулируй мысль. Ты хочешь открыть Активити Б из активити А и передать в Б какие-то данные и не понимаешь где хранить ключ для значения?
Никола
разобрался уже но еще раз
Данил
Ребят, а для чего сделали так, что чтобы я использовал Relation в Room, я не могу class использовать как entity
Никола
из активити А в активити Б я передаю инфу в метод companion'a активити Б, поэтому все ключи храню в этом компаньоне. Теперь чтобы вернуть данные из Б в А нужны новые ключи и где их хранить? только в А? и обращаться к ним в активити Б так: AActivity.EXTRA_DATA?
Mike
О, я нашёл свои типизированные ключи.
Никита 🙃
Она тебе будет сразу приходить в валюте кастомера
Никита 🙃
Да
Никита 🙃
получаешь по sku (id) товар и там будет цена, даже со значком валюты
Akb
Привет! Насколько дорого по перфомансу инициализировать Gson()? Заметил что его используют в каждом JsonDeserializer классе, каждый раз новый instance
Евгений
на столько, на сколько дорого вызывать new в Java
Никита 🙃
Привет! Насколько дорого по перфомансу инициализировать Gson()? Заметил что его используют в каждом JsonDeserializer классе, каждый раз новый instance
Плохо так делать. Из практики: Один "хороший" программист до меня решил хранить в SharedPrefs json сроку которую конвертил Gson'ом (кешировал данные, а объекты там были жирные). Но работало "долго, посмотри чего сделать можно" Потом в цикле 100500 раз был код Gson().fromJson() Вынеся gson из циклов, это стало всё проходить в 10 раз быстрее)
Никита 🙃
на столько, на сколько дорого вызывать new в Java
Так лол. Помимо new есть конструктор который внутри что-то делает.
Akb
В чем проблме сделать Singleton?
У меня как раз мысли об лезут, новый проект, вот и удивляюсь)
Евгений
Так лол. Помимо new есть конструктор который внутри что-то делает.
это само собой, думал тут все разработчики и не надо это объяснять
Данил
Есть ли какие нибудь подкасты, желательно про android, но можно и про программирование в целом
ᛖᚹᛋᛁᚱ
Парни, где оптимально присваивать стиль карте (Google Maps) чтоб небыло мигания карты?
Konstantine
Всем привет. Кто-нибудь работал с espresso? Есть список с набором итемов разных типов. Вот мне нужно выбрать все итемы определенного типа и прокликать их. Прокликать не проблема. Выбрать как
Vitaly
Есть ли какие нибудь подкасты, желательно про android, но можно и про программирование в целом
Погугли AndroidDevPodcast Это крупнейший подкаст с новостями в мире Android разработки
Vitaly
Только на англ или есть на русском
Там почти все выпуски на русском
Павел
Кто нибудь сталкивался с задачей вычисления code coverage в android kotlin multiplatform проектах? Не получается высчитать покрытие в core блоке
Dmitry
Подскажите, пожалуйста, может кто сталкивался. Использую YouTube API в приложении. На Xiaomi Redmi Note Pro 5 все отлично работает. Проверял на xiaomi redmi note 4 видео мерцает. Экран будто пытается загрузиться но "мелькает" картинка и ни звука ни видео.
Dmitriy
ситуация: снизу glSurfaceView, сверху layout в белым фоном и другими вью. иногда верхний layout скрываю через анимацию альфа проблема: после onPause-onResume снизу появляется вот такая неотрисованная полоска. layout inspector говорит что всё на месте, но show view bounds не показывает там кнопку, и не рисуется ничего есть кто рисовал ui поверх surfaceView и сталкивался с таким? в чём причина и как исправить?
Anna
Доброго дня братия и сестры! Кто-нибудь сталкивался с таким поведением студии? Код рабочий, но отладить нереально - не выводится содержимое локальных переменных. Любых.
Chubaka
Привет - кто нибудь сталкивался с таким ? com.google.firebase.remoteconfig.FirebaseRemoteConfigClientException: Firebase Installations failed to get installation auth token for fetch. 2020-07-10 13:22:43.472 10064-10064/za.co.discovery.insure.drivingapp W/System.err: at com.google.firebase.remoteconfig.internal.ConfigFetchHandler.lambda$fetchIfCacheExpiredAndNotThrottled$1(ConfigFetchHandler.java:211) 2020-07-10 13:22:43.472 10064-10064/za.co.discovery.insure.drivingapp W/System.err: at com.google.firebase.remoteconfig.internal.ConfigFetchHandler$$Lambda$2.then(Unknown Source:8) 2020-07-10 13:22:43.472 10064-10064/za.co.discovery.insure.drivingapp W/System.err: at com.google.android.gms.tasks.zzg.run(com.google.android.gms:play-services-tasks@@17.0.2:2) 2020-07-10 13:22:43.472 10064-10064/za.co.discovery.insure.drivingapp W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 2020-07-10 13:22:43.472 10064-10064/za.co.discovery.insure.drivingapp W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 2020-07-10 13:22:43.472 10064-10064/za.co.discovery.insure.drivingapp W/System.err: at java.lang.Thread.run(Thread.java:923) 2020-07-10 13:22:43.472 10064-10064/za.co.discovery.insure.drivingapp W/System.err: Caused by: com.google.firebase.installations.FirebaseInstallationsException 2020-07-10 13:22:43.472 10064-10064/za.co.discovery.insure.drivingapp W/System.err: at com.google.firebase.installations.FirebaseInstallations.doNetworkCallIfNecessary(FirebaseInstallations.java:353) 2020-07-10 13:22:43.472 10064-10064/za.co.discovery.insure.drivingapp W/System.err: at com.google.firebase.installations.FirebaseInstallations.lambda$doGetId$1(FirebaseInstallations.java:296) 2020-07-10 13:22:43.472 10064-10064/za.co.discovery.insure.drivingapp W/System.err: at com.google.firebase.installations.FirebaseInstallations$$Lambda$3.run(Unknown Source:2) 2020-07-10 13:22:43.472 10064-10064/za.co.discovery.insure.drivingapp W/System.err: ... 3 more
Chubaka
при добавлении crashlytics
Chubaka
падает remoteConfig
Konstantine
Доброго дня братия и сестры! Кто-нибудь сталкивался с таким поведением студии? Код рабочий, но отладить нереально - не выводится содержимое локальных переменных. Любых.
что угодно на самом деле может быть, без шуток. Чисто визуально из-за типа окраски разметки разбрать не могу (вроде нормально, но может где то забыли скобку закрыть или студия лагнула). Сложно понять
Anna
что угодно на самом деле может быть, без шуток. Чисто визуально из-за типа окраски разметки разбрать не могу (вроде нормально, но может где то забыли скобку закрыть или студия лагнула). Сложно понять
Код скомпилен и запущен. Так что вряд ли там что-то забыто. Причем это похоже что-то с проектом. Другой отлично собирается и дебагается 😞
Konstantine
Код скомпилен и запущен. Так что вряд ли там что-то забыто. Причем это похоже что-то с проектом. Другой отлично собирается и дебагается 😞
могу предложить только imageSet попечатать - посмотреть, что там лежит, какие данные, какой тип данных и тд
Anna
могу предложить только imageSet попечатать - посмотреть, что там лежит, какие данные, какой тип данных и тд
Так ровно такая же ошибка при попытке сделать вывод в консоли. А дебаг с принтами - такое себе. Ну то есть весь код так не будешь дебагать же. Да еще и описывать toString()... Эх, ладно
Anna
Тип очевидно List , а он говорит, дебаггер, что не может найти локальную переменную. Ну то есть, доступ к объектам и их полям у него есть, а локальные переменные идут лесом.
Anna
Этот же код в другом проекте - вот отлично показывает содержимое