@renenotes · Post #15 · 31.01.2022 г., 03:19
DotOS A11 Material You-like functionality #AOSP
Hashtags
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #241 · 5 мај
Можно ли в Python создавать бинарные файлы? Конечно можно. Для этого в Python есть следующие инструменты: ▫️ тип данных bytes и bytearray ▫️ открытие файла в режиме wb (write binary) или rb (read binary) ▫️ модуль struct Про модуль struct поговорим в первую очередь. Файл в формате JSON или Yaml внутри себя содержит разметку данных. Всегда можно определить где список начался а где закончился. Где записана строка а где словарь. То есть формат записи данных содержит в себе элементы разметки данных. В binary-файле данные не имеют визуальной разметки. Это просто байты, записанные один за другим. Правила записи и чтения находятся вне файла. Модуль struct как раз и помогает с организацией данных в таком файле с помощью определения форматов записи для разных частей файла. Модуль struct преобразует Python-объекты в массив байт, готовый к записи в файл и имеющий определённый вид. Для этого всегда следует указывать формат преобразования (или, как оно здесь называется - запаковки). Формат нужен для того, чтобы выделить достаточное количество байт для записи конкретного типа объекта. В последствии с помощью того же формата будет производиться чтение. При этом следует помнить что мы говорим о типах языка С а не Python. Именно формат определяет, что записано в конкретном месте файла, число, строка или что-то еще. Вот какие токены формата у нас есть. Помимо этого, первым символом можно указать порядок байтов. На разных системах одни и те же типы данных могут записываться по-разному, поэтому желательно указать конкретный способ из доступных. Если этого не сделать, то используется символ '@', то есть нативный для текущей системы. В строке формата мы пишем в каком порядке и какие типы собираемся преобразовать в байты. Запакуем в байты простое число, токен "i". >>> import struct >>> struct.pack('=i', 10) b'\n\x00\x00\x00' Теперь несколько float, при этом нужно передавать элементы не массивом а последовательностью аргументов. >>> struct.pack('=fff', 1.0, 2.5, 4.1) b'\x00\x00\x80?\x00\x00 @33\x83@' Вместо нескольких токенов можно просто указать нужное количество элементов перед одним токеном, результат будет тот же. >>> struct.pack('=3f', 1.0, 2.5, 4.1) b'\x00\x00\x80?\x00\x00 @33\x83@' Теперь запакуем разные типы >>> data = struct.pack('=fiQ', 1.0, 4, 100500) я запаковал типы float, int и unsigned long long (очень большой int, на 8 байт) b'\x00\x00\x80?\x04\x00\x00...' Распаковка происходит аналогично, но нужно указать тот же формат, который использовался при запаковке. Результат возвращается всегда в виде кортежа. >>> struct.unpack('=fiQ', data) (1.0, 4, 100500) Как видите, ничего страшного! #lib#basic
Пребарај: #aosp
@renenotes · Post #15 · 31.01.2022 г., 03:19
DotOS A11 Material You-like functionality #AOSP
Hashtags
@android_broadcast · Post #8961 · 15.04.2025 г., 06:40
Интересная статья(16м) про GrapheneOS - основанная на AOSP ОC для Google Pixel устройств с повышенной защитой Если хотите мой обзор на GrapheneOS - голосуйте тут #android#aosp
@android_broadcast · Post #8851 · 26.03.2025 г., 15:53
🤖Google вводит разработку нового функционала в AOSP через Feature Flag Теперь весь новый функционал будет закрываться Feature Flag для изоляции кода, прошедшего тестирование, от частей в разработке. Это позволит: 👉 сократить срок жизни веток с новым функционалом 👉 упростить и ускорить разработку задач 👉 перейти на trunk-based подход при разработке и сливать весь код в одну ветку, не дожидаясь его тестирования 👉 легко вырезать куски кода с функциями, которые не должны быть видны Новому подходу должны следовать все разработчики-контрибьюторы в AOSP. #android#aosp
@android_broadcast · Post #8850 · 26.03.2025 г., 15:43
‼️Исходный код Android будет частично закрыт в ближайшем будущем Google подтвердила изданию Android Authority, что в ближайшем будущем перестанет публиковать код исходных версий Android по причине "упрощения разработки Android ОС и отказа от поддержания 2 веток разработки". Разработка Android состоит из 2 основных веток: 👉 публичной, где содержится исходный код стабильной версии ОС 👉 внутренней (internal), где происходит разработка Android ОС. Поддержка 2 веток приводит к конфликтам слияния, необходимости тратить время на доработки, чтобы опубликовать изменения в публичную ветку, потому что она не содержит всё из internal. Google всё также будет публиковать исходный код, но многие части будут переходить в закрытую разработку. Также публикация кода станет реже. Как это повлияет: ❌ Изменения не ускорят обновление ОС 👉 Журналисты потеряют доступ к утечкам информации 👉 Пользователи не заметят изменений 🙏 Разработчики приложений не пострадают Прекрасно понимаю Google, как сложно поддерживать 2 разные ветки разработки, особенно с ростом проекта и его функциональности. Все во благо процветания бизнеса Android и его лучшего развития! Официальный анонс состоится в ближайшую неделю. Скорее всего, Android перейдет на Trunk Based разработку в internal ветке, потому что есть следующая новость... #android#aosp#googleplay
Hashtags
@YuKongA13579 · Post #1332 · 06.05.2025 г., 02:43
关于上一条的延伸。 来源:X #android#misc#aosp
@YuKongA13579 · Post #1329 · 30.04.2025 г., 15:54
谷歌也要开始用模糊了 包括给内容套圆角卡片 来源,里面有很多图例 #android#misc#aosp
@YuKongA13579 · Post #1956 · 15.03.2026 г., 08:43
一个适用于类原生的 Xposed 模块, 修改点击和拿起事件为仅触发息屏显示,不触发完整亮屏, 适用于不想常开息屏显示又只想看一眼息屏时间、通知的情况? 相关实现,部分类原生内置此功能。 对大部分人没什么用,不过写都写了就发一下。 #aosp#xposed#misc
@renenotes · Post #16 · 31.01.2022 г., 03:24
DotOS's screen time dashboard #Material#AOSP
@YuKongA13579 · Post #907 · 13.07.2024 г., 05:13
众所周知 AOSP 在 15 中添加了可变字体支持, 但我昨天找人测试了小米 HyperOS 的 A15 beta2 版本, 完全没有同步该特性,甚至保留了 700 字重映射错误的问题。 #HyperOS#AOSP#Font
@YuKongA13579 · Post #897 · 09.07.2024 г., 13:50
插播一条 AOSP 的新闻,不知出于何种原因,Android 15 中添加的 CJK VF 只支持 300+ 以上的字重变化, 100-300 是一样的 #AOSP#Font#Font_Weight_Test
Hashtags
@YuKongA13579 · Post #863 · 17.06.2024 г., 02:53
关于小米 14 TWRP 颜色异常问题: https://github.com/AOSPA/android_bootable_recovery/commit/cc89e956c088ef279a3a3192e689a86175be0f31 然后启用: vendor.display.enable_spr=1 注意:由于 TWRP 的 drm 代码完全过时,所以你不能随便合并此 commit,需要一些努力。 #Xiaomi14#TWRP#AOSP
@libreware · Post #1211 · 06.12.2023 г., 22:27
Fully Customizable ROM + Latest Treble Patches & Features #GSI#AOSP 14 https://xdaforums.com/t/gsi-aosp-14-fully-customizable-rom-latest-treble-patches-features.4637632/ https://github.com/tabletseeker/treble_build_aosp