Size: a a a

Android Developers

2020 August 27

В

Валерий in Android Developers
Вопрос по MediaStore

Делаю "Сохранить в галерею"

fileName="IMG_20200827_065749_636.jpg"

val values = ContentValues().apply {
   if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
       put(MediaStore.MediaColumns.IS_PENDING, 1)
   }
   put(MediaStore.MediaColumns.DISPLAY_NAME, fileName)
   put(MediaStore.MediaColumns.MIME_TYPE, mimeType)
}

context.contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values)

На SDK 28 создается файл /sdcard/Pictures/1598512353364.jpg
На SDK 30 создается файл /sdcard/Pictures/IMG_20200827_065749_636.jpg

Вопрос почему такое поведение на SDK 28 и можно ли это как-то изменить без копирования файла в getExternalStorageDir ?
источник

BS

Bahrom Sarimsakov in Android Developers
Dmytro Borysov
Так ключ же можно брать из property.name
Если имеете ввиду через рефлекшн то это может сломаться при обфускации
источник

DB

Dmytro Borysov in Android Developers
Bahrom Sarimsakov
Если имеете ввиду через рефлекшн то это может сломаться при обфускации
та не
источник

M

Minmaxminor in Android Developers
Dmytro Borysov
в том, что это отрывки из обрывков. что такое in? и как оно меняется? скорее всего ты не обновляешь его значения)
Да, затупил...
источник

BS

Bahrom Sarimsakov in Android Developers
Это и есть рефлекшн, если не предусмотреть исключение в прогуарде нужный файл то этот name может измениться в каждой сборке (если включена обфускация)
источник

М

Михаил in Android Developers
Увидел. Спасибо :)
источник

M

Minmaxminor in Android Developers
А как сбросить цвет текста на значение по умолчанию, если меняю цвет таким образом
outRes.setTextColor(getResources().getColor(R.color.red));
?
источник

a

akella122⌬ in Android Developers
Ребят, а как скроллить вебвьюв кнопками громкости? Желательно регулируемый скролл сделать. Я пока нашел только как переназначить действие кнопки громкости

       if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
           // When video fullscreen, just control the sound
           return !(fullscreenHolder != null || customView != null || videoView != null) && onKeyCodeVolumeUp();
       } else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
           // When video fullscreen, just control the sound
           return !(fullscreenHolder != null || customView != null || videoView != null) && onKeyCodeVolumeDown();
источник

AA

Aleksey Antonov in Android Developers
всем привет. делаю анимацию для fragmentTransaction и блин чет уперся в какую то хрень. есть xml , в нем есть <objectAnimator/>. нужно сделать чтобы фрагмент улетал вправо на ширину экрана. как мне это сделать ? чет и так и сяк, и никак)
источник

QH

Quantum Harmonizer in Android Developers
Minmaxminor
А как сбросить цвет текста на значение по умолчанию, если меняю цвет таким образом
outRes.setTextColor(getResources().getColor(R.color.red));
?
А старое значение нигде не хранится, надо самому сохранить.
источник

A

Artem in Android Developers
Всем привет! Ребята, кто работал с картами? Я вот делаю кастомное отображение текущей позиции юзера - добавляю маркер. Теперь хочу сделать отображение направления движения (как в стандартных гугл картах) чтобы стрелочкой показывало. Насколько я понял что за этот радиус отвечает параметр bearing в локейшене.
Я пробовал добавлять с маркеру текущего местоположения маркер (строчку) и задавать ему rotation = bearing с локейшена. Но как-то оно не очень отображается и когда крутишь карту вокруг текущего местоположения, то и стрелочка начинает крутиться.
Может есть как-то best practise по этому вопросу?
источник

DB

Dmytro Borysov in Android Developers
Aleksey Antonov
всем привет. делаю анимацию для fragmentTransaction и блин чет уперся в какую то хрень. есть xml , в нем есть <objectAnimator/>. нужно сделать чтобы фрагмент улетал вправо на ширину экрана. как мне это сделать ? чет и так и сяк, и никак)
fromX = 0%
toX = 200%
источник

M

Minmaxminor in Android Developers
Quantum Harmonizer
А старое значение нигде не хранится, надо самому сохранить.
Не подскажешь как?
источник

QH

Quantum Harmonizer in Android Developers
Minmaxminor
Не подскажешь как?
getTextColors либо getCurrentTextColor
источник

B

Boroda in Android Developers
Minmaxminor
Не подскажешь как?
можно в тег упихнуть при создании активити/фрагмента
источник

VI

Varan Ivanov in Android Developers
Всем привет, подскажите, как правильнее было бы решить такую задачу:
Есть ViewHolder для аудиотрека, например, который по всему приложению используется во множестве RecyclerView, причем для этого могут использоваться разные адаптеры. Есть сервис, который в фоне загружает треки, при этом рассылая бродкасты через LocalBroadcastManager с айдишником трека и прогрессом загрузки. Холдер с треком должен отображать статус загрузки (Не загружен, загружается + прогресс, загружен), т.е. для этого он должен реагировать на бродкасты из сервиса, лазить в базу за отметкой о том, что его надо скачать, и проверять наличие файла этого трека во внутренней памяти устройства.
Сейчас это реализовано так: в холдере в OnAttachStateChangeListener'е идет подписка/отписка на бродкасты, а при получении бродкаста с нужным интентом и айдишником, а также при bindViewHolder в адаптере, сам холдер лезет в базу и на диск за нужными данными и тогда обновляет свой статус загрузки
Как мне кажется, подписка/отписка для каждого холдера это оверхед, это должен делать либо адаптер, либо фрагмент. Операции с базой и диском холдер тоже не должен делать. Поправьте, если я ошибаюсь
Подскажите, насколько приемлемо такое решение, и если оно отстойное, какие есть адекватные варианты решения
источник

J

J.S in Android Developers
Varan Ivanov
Всем привет, подскажите, как правильнее было бы решить такую задачу:
Есть ViewHolder для аудиотрека, например, который по всему приложению используется во множестве RecyclerView, причем для этого могут использоваться разные адаптеры. Есть сервис, который в фоне загружает треки, при этом рассылая бродкасты через LocalBroadcastManager с айдишником трека и прогрессом загрузки. Холдер с треком должен отображать статус загрузки (Не загружен, загружается + прогресс, загружен), т.е. для этого он должен реагировать на бродкасты из сервиса, лазить в базу за отметкой о том, что его надо скачать, и проверять наличие файла этого трека во внутренней памяти устройства.
Сейчас это реализовано так: в холдере в OnAttachStateChangeListener'е идет подписка/отписка на бродкасты, а при получении бродкаста с нужным интентом и айдишником, а также при bindViewHolder в адаптере, сам холдер лезет в базу и на диск за нужными данными и тогда обновляет свой статус загрузки
Как мне кажется, подписка/отписка для каждого холдера это оверхед, это должен делать либо адаптер, либо фрагмент. Операции с базой и диском холдер тоже не должен делать. Поправьте, если я ошибаюсь
Подскажите, насколько приемлемо такое решение, и если оно отстойное, какие есть адекватные варианты решения
Вам надо в stackOverFlow... Там наверняка ответят
источник

ПИ

Прокофьев Иван... in Android Developers
Всем привет!
Сейчас на новом проекте стоит задача настроить автоматизацию проведения статического анализа, сборки проекта, публикации в Firebase App Distribution и Google Play.
Чаще всего это все будет выполняться в Docker контейнере на CI машине.
Был опыт реализации этого на кастомных Gradle task’ах, но впечатление осталось не самое приятное. Сейчас как альтернативу рассматриваю Fastlane.
Поделитесь опытом пожалуйста, как показал себя Fastlane? Были ли подводные камни при внедрении и поддержке? Насколько удобно поддерживать/допиливать?
Спасибо
источник

LK

Lex Kojevnikov in Android Developers
Добрый день всем! Подскажите пожалуйста, хочу добавить дефолтный шрифт для всего приложения - вынес его (fontFamily) в "AppTheme". В отдельных элементах хотел менять жирность (fontWeight) но она доступна только на старших apiLevel. Пробовал использовать fontStyle - там нет варианта "medium". Подскажите пожалуйста как можно обойти это?
источник

AA

Aleksey Antonov in Android Developers
Dmytro Borysov
fromX = 0%
toX = 200%
чёй та?) это в objectAnimator не суется . только в translate если, но я не могу комбинировать <translate/> и <objectAnimator/> в одном сете -___- мне это надо как то в xml засунуть
источник