Один из самых удобных способов записать данные это использование готовых форматов, такие как JSON или YAML.
Из плюсов такого подхода стоит отметить вот что:
🔸 готовый, повсеместно используемый и поддерживаемый формат
🔸 простой и понятный файл, удобочитаемый для человека
🔸 можно легко редактировать в любом текстовом редакторе без специальных программ и библиотек
Но есть и минусы
🔹 затраты времени при записи файла (кодирование данных в нужный формат строки)
🔹 затраты времени при чтении файла (декодирование данных в Python объекты)
🔹 размер файла увеличивается из-за разметки данных (скобки, запятые, переносы, отступы...)
🔹 перед записью все данные должны быть помещены в память в полном объёме (не всегда)
🔹 при чтении необходимо считать весь файл в память и только потом декодировать данные
Если нужно писать немного данных в несколько файлов, то затраты по времени не ощутимы. Обычно это файлы конфига или какие-либо метаданные. Это отличный вариант под такие задачи.
Есть и другой поход к записи файлов - это бинарные файлы. Используется, когда данных достаточно много и никто их не собирается читать глазками😳.
🔸 очень быстрая запись
🔸 чтение значительно быстрей чем JSON, YAML итд
🔸 размер файла значительно меньше, так как нет разметки
🔸 можно записывать данные по мере поступления не загружая всё в память
🔸 можно извлечь любую часть данных независимо
Из минусов
🔹 нужно определить свой формат записи данных (если не используете готовую спецификацию определённого формата)
🔹 не получится открыть файл и визуально понять что там записано, а для чтения файла потребуется знать его спецификацию.
🔹 не так-то просто создать такой файл без специальной библиотеки
В таком виде удобно записывать большой массив любых однородных данных. Например, мониторинг валютной биржи или кэшированная анимация 3D геометрии.
(Это не означает что нельзя записать данные разного типа, просто это будет не так удобно)
Представьте себе JPG-картинку. По сути это немного мета-информации и большой массив пикселей. Тоже самое со звуком или видео файлом. Поэтому, если вы попробуете открыть картинку в текстовом редакторе вы увидите что-то вроде такого
f15d cd29 a564 4578 ...
09e2 9bc4 a696 1253 ...
84e9 4de1 3b23 c24a ...
2534 5161 28e0 709d ...
...
Это и есть записанные байтики. И для их чтения требуется определённый софт который знает что с ними делать. Под каждый тип файла.
К чему это я? Читайте в следующем посте...
#tricks#basic
▶️Google Play do‘konidan 1,8 million ilova olib tashlandi!
🧹 2024-yil boshidan beri Google ilovalar do‘konida tozalash ishlari boshlandi. Natijada mavjud ilovalar soni 47% ga kamaydi.
🛡 Sabablari:
- Past sifatli va keraksiz ilovalarga qarshi kurash
- Sun’iy intellekt orqali zararli ilovalarni aniqlash
- Yevropa Ittifoqining yangi talablariga javob bermagan ilovalarning bloklanishi
✅ Har bir yangi ilova endi 20 ta test foydalanuvchisi bilan 2 hafta sinovdan o‘tishi shart
📊 Qaysi ilovalar ketdi?
🎮 O‘yinlar — 200 ming+
📚 Ta’lim — 160 ming+
🏢 Biznes — 115 ming+
🚫158 mingdan ortiq ishlab chiquvchilar bloklandi.
📈 Shunga qaramay, yangi ilovalar soni 7,1% ga oshgan — endi raqamlar kam, lekin sifat yuqori!
🎥#googleplay | Birinchi raqamli IT-Blog
▶️ Google Play batareyani tez sarf qiladigan ilovalarni belgilay boshladi
⚠️ 1-martdan boshlab, smartfon batareyasini ortiqcha sarf qiladigan ilovalar maxsus ogohlantirish oladi.
✅ Agar ilova fon rejimida uzoq ishlasa, tizim bu holatni qayd qiladi.
✅ Agar oy davomida ko‘plab foydalanuvchilarda bu vaziyat takrorlansa, ilovaga maxsus belgi qo‘yiladi.
Maqsad: foydalanuvchilar batareyani tez sarf qiladigan ilovalarni ko‘rishi mumkin, ishlab chiquvchilar esa optimizatsiyaga e’tibor beradi.
👍Bizning barcha loyihalar | #googleplay
🛒Google Play теперь предупреждает пользователей о приложения с высоким расходом батареи
Пользователи увидят красную плашку сразу в шапке страницы приложения в Google Play с предупреждением. Установка всё также будет возможна. Задача изменения - уведомление пользователей и попытка повилять на кол-во установок, чтобы пользователи сами решили всё.
Раскатка фичи началась с 1 марта 2026 года на приложения, которые были определены как "с высоким расходом батареи". В течении нескольких недель такая плашка появится на всех приложения в Google Play
Уже давно есть инструменты в Google Play консоле чтобы увидеть, что ваше приложение расходует много энергии или тормозит. Просто перестаньте игнорировтаь их.
🔗 Источник - блог Android Developers (там же набор рекомендаций по устранению проблем с расходом батареи)
#GooglePlay
🛒 Google Play меняет свои правила после победы Epic Games
Ключевые изменения:
👉Больше не будет форсирования оплаты цифровых товаров и подписок через Google Play
👉Сторнние сторы получат возможности как у Google Play
Registered App Stores - официальная для программа для сторонних магазинов. Те кто решит пойти в программу поулчат сразу при установке все разрешения и опыт близкий к работе Gooogle Play Программа стартует за пределами США и только потом станет доступна там.
🪙 Снижение комисии магазина. Теперь процент зависит от разных факторов, но использовать Google Play Billing точно становится приятнее
💬Как на ваш взгляд это повлияет на монетизацию разработчиков и возможности распространения приложения?
Источник - оф блог Android Developers
#GooglePlay
🛒 Google Play врёт с размером обновления?
Уже не первый раз замечаю как при обновлении приложения вижу одну цифру, в когда начинаю обновлять - объем скачиваемых данных больше
💬 Делитесь идеями в комментариях
#GooglePlay
‼️🛒Google Play становится открытым в США🤯
Google Play разрешил приложениям в США размещать ссылку на альтернативные методы оплаты в приложения и использования Google Play Billing теперь необязательно.
UPD! Google сделала это по решению суда, а не по собственной воли
#googleplay
🛒Пример использования Google Play Age Signals API (beta)
// Создаем экземпляр менеджера
val ageSignalsManager = AgeSignalsManagerFactory.create(
ApplicationProvider.getApplicationContext()
)
// Запрашиваем проверку возрастных сигналов
ageSignalsManager
.checkAgeSignals(AgeSignalsRequest.builder().build())
.addOnSuccessListener { ageSignalsResult ->
// Сохраняем installId для дальнейшего использования
val installId = ageSignalsResult.installId()
when (ageSignalsResult.userStatus()) {
AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_DENIED -> {
// Пользовтаелю меньше 18 лет и родитель запретил доступ
}
AgeSignalsVerificationStatus.VERIFIED -> {
// Пользователю больше 18 лет
}
else -> {
// Обрабатываем другие статусы
}
}
}
#googleplay
‼️ Дуров нас предупреждал - стала доступна betа версия API для проверки возраста из-за новых требований в отдельных штатах США
Google Play Age Signals API позволяет получить "сигналы" касательно возраста пользователя и дальнейшей реакцией приложения на полученную информацию
Новое API вызвано требованием обязательной проверки магазином возраста пользователя с 1 января 2026 в штате Техас
#googleplay
🛒Google Play отказывается от "in-app purchase" (SKU). На замену приходит "One-time product" OTP - гибче и лучший способ для продаж цифровых товаров внутри приложения
Каждый OTP может иметь несколько вариантов покупки, отражая разные способы получения пользователем. Также можно добавить несколько "специальных предложений" для OTP.
Система стала гибче и проще для проведения экспериментов с одним и тем же товаром, а именно:
👉 Разные способы продажи
👉 Сдача товара в аренду (временная покупка)
👉 OTP могут быть предзаказаны
👉 Нет цены по умолчанию
👉 Управление ценой в регионе и доступность товара
👉 Гибкая система создания акций для OTP
В Google Play Console вы можете мигрировать с существующей SKU системы в новую модель и будет обратная совместимость, если вы решите не переносить товары.
Чтобы получить все возможности в коде вашего приложения на Android надо перейти на Play Billing Library 8.0
#googleplay
🛒Обновление правил Google Play от 10 июля 2025
Что самого важного из изменений:
👉 Разрешение рекламы краткосрочных займов только в Пакистане
👉 Изменения касательно криптовалют и цифровых кошельков
👉 Уточнили как использовать разрешения для чтения сенсоров тела
👉 Добавили практики по использованию контента, сгенерированного AI,
📹Видео версия
#googleplay
🛒В Google Play можно будут остановить раскатку после Full Rollout🔥
Одна из причин раскатки приложения пошагово - желание проверить как работает новая версия, но уже традицией стало оставлять раскатку на 99% из-за того что после полной нельзя остановить её. Теперь это станет возможным
#googleplay