|
|
![]() ![]() |
|
|
![]() ![]() ![]() ![]() |
|
Опции темы | Поиск в этой теме |
![]() ![]() |
![]() ![]() |
|||||
Ветеран Фонарёвки
Регистрация: 25.08.2012 Последняя активность: 22.05.2025 22:36
Сообщений: 3954
Записей в дневнике: 4 Сказал(а) спасибо: 1560
Поблагодарили: 3889 раз(а) в 1902 сообщениях
|
![]() Цитата:
Автор, Zak Wilson - товарищ, без сомнения, крутой. Не столько из-за самого приложения (там, в принципе, не бином Ньютона), сколько из-за языка, на котором оно написано. На Clojure! Под Андроид! Я просто охренел, когда первый раз пошёл на код посмотреть. Clojure сам по себе язык достаточно экзотический, а уж под Андроид - запредельно. Я вообще не знал, что это возможно. Но сам ceilingbounce - ужасен ![]() Когда впервые попользовался, после первой мысли "чего ж так коряво-то?" сразу возникла вторая "надо своё написать, я ж вроде умею немножко". И я даже набросал какой-то прототип, чего-то ковырял, но потом, как всегда, возникли более приоритетные задачи, и я забросил. Однако не так давно снова пришлось обратиться к ceilingbounce для снятия графика и снова испытать нешуточный дискомфорт. "Гештальты надо закрывать" - подумалось мне, и я сел реанимировать и добивать до минимальной кондиции полупротухший прототип. Мне не то, что не дают покоя лавры ceilingbounce - они не такие уж и пышные. Больше хотелось после долгого перерыва вернуться к разработке под Андроид, восстановить навыки, посмотреть что новенького, снова вдоволь на ровном месте нахлебаться андроидных странностей и непотебств, коих там предостаточно, ну, всё такое. Задача-то шибко интересная. И все мои хотения, в конечном итоге, были удовлетворены. ![]() Итак, собственно сабж, Lumenoid. Делать умеет то же самое, что и ceilingbounce, но, смею надеяться, более красиво, хорошо и удобно. Из основных улучшений:
Но самое основное преимущество: Lumenoid поддерживаемый (ну, пока мне не надоест ![]() Интерфейс я старался сделать максимально понятным, поэтому расписывать, как и что делать, не буду, пробуйте сами. Спрашивайте, если непонятно, это поможет мне понять, что я сделал плохо. Просто накидаю тут скриншотиков. А вот так выглядит сохранённая картинка графика. Кстати, её размеры можно настраивать. Пока никуда в открытый доступ не выкладывал, взять можно с моего яндекс.диска (версия 0.1-beta). Я в любом случае совсем не зря повозился, новый опыт и что-то даже получилось, гештальт закрылся. Но я надеюсь, что это будет интересно не только мне. ![]() Некоторые камрады жалуются на неожиданное поведение графика при отрисовке: Цитата:
Цитата:
Есть обоснованное предположение, что все эти эффекты - ничто иное, как особенности реализации датчика освещённости в конкретном устройстве. Если вы наблюдаете нечто, подобное описанному, или иное неожиданное поведение, сравните это с тем, что происходит в ceilingbounce и других приложениях люксметра, которые умеют показывать график. Мне писать имеет смысл только в случае значительного отличия в поведении Lumenoid от поведения других подобных приложений. ![]() Также есть жалобы на неожиданное поведение навигации: Цитата:
Цитата:
Цитата:
![]() Кроме управления кнопками на тулбаре и меню, в график можно ещё тыкать пальцами.
![]() Версия 0.2-beta Изменения:
Продолжение следует. ![]() Версия 0.3-beta Изменения:
![]() ![]() Версия 0.3.1-beta Изменения:
![]() Версия 0.3.2-beta Изменения:
![]() Версия 0.4-beta Изменения:
![]() Версия 0.4.1-beta Изменения, две мелочи всплыли:
![]() Версия 0.5-beta Изменения:
![]() Версия 0.5.1-beta Изменения:
![]() Версия 0.6-beta Изменения:
![]() Версия 1.0 Изменения:
Актуальная версия: 1.0 Все версии (мало ли, вдруг сломаю, чтобы откатиться можно было)
__________________
YLP Panda 4, кастомные D10 (Samsung LH351D 5000К, TIR 30°, 45°, драйвера Квантов, DDE), YLP Unicorn 1.0, ЯЛ Scorpion Х8, Convoy S8 (прошивка dandan2000, ver. 3.5СК) Всякие фонарные крепления Ссылки на TIR-линзы для Unicorn/Gekko Определитель светодиода по фотографии [Исправлено: kaa.mobil, 05.07.2023 в 08:53] |
|||||
![]() |
![]() ![]() |
Поблагодарили: 61 раз(а) |
![]() |
![]() ![]() |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 11:40
Сообщений: 39958
Сказал(а) спасибо: 6547
Поблагодарили: 35482 раз(а) в 16389 сообщениях
|
![]()
10-й
сохраняет. по прежнему выходит их программы при возврате из настроек, которые через меню. и надо наверное подтверждение запрашивать на выход по кнопке назад. еще момент - если быстро провести рукой над датчиком, снижение яркости отрабатывает ступенькой, а вот возвращается плавно постепенно замедляясь. экспоненциально, как заряд конденсатора [Исправлено: galex, 24.01.2023 в 07:22] |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
|
Ветеран Фонарёвки
Регистрация: 11.08.2011 Последняя активность: Вчера 23:50
Сообщений: 10947
Записей в дневнике: 1 Сказал(а) спасибо: 2694
Поблагодарили: 12537 раз(а) в 4544 сообщениях
|
![]() Цитата:
Похоже это особенности датчика. Тот же опыт в mi4c , дает верную картинку. kaa.mobil, может в первый пост добавить список моделей на которых нормальный датчик без дискретности и всяких таких глюков? Может быть довольно полезно. По сути такую информацию нигде не найдешь.
__________________
* [Исправлено: AEDe, 24.01.2023 в 07:35] |
|
![]() |
![]() ![]() |
Поблагодарили: 1 раз |
Drex (24.01.2023)
|
![]() |
![]() ![]() |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 11:40
Сообщений: 39958
Сказал(а) спасибо: 6547
Поблагодарили: 35482 раз(а) в 16389 сообщениях
|
![]() |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Завсегдатай Фонарёвки
Регистрация: 25.03.2020 Последняя активность: 21.01.2025 16:42
Сообщений: 657
Сказал(а) спасибо: 435
Поблагодарили: 413 раз(а) в 242 сообщениях
|
![]()
Всё, разобрался)
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Завсегдатай Фонарёвки
Регистрация: 25.03.2020 Последняя активность: 21.01.2025 16:42
Сообщений: 657
Сказал(а) спасибо: 435
Поблагодарили: 413 раз(а) в 242 сообщениях
|
![]()
Прогу надо откатать вдоль и поперёк, потом на BLF закинуть без перевода) Пусть изучают
![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
|
Ветеран Фонарёвки
Регистрация: 25.08.2012 Последняя активность: 22.05.2025 22:36
Сообщений: 3954
Записей в дневнике: 4 Сказал(а) спасибо: 1560
Поблагодарили: 3889 раз(а) в 1902 сообщениях
|
![]() Цитата:
![]() [Исправлено: kaa.mobil, 24.01.2023 в 11:03] |
|
![]() |
![]() ![]() |
Поблагодарили: 1 раз |
Просто Джон (24.01.2023)
|
![]() |
![]() ![]() |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 11:40
Сообщений: 39958
Сказал(а) спасибо: 6547
Поблагодарили: 35482 раз(а) в 16389 сообщениях
|
![]() |
![]() |
![]() ![]() |
Поблагодарили: 3 раз(а) |
![]() |
![]() ![]() |
|
Ветеран Фонарёвки
Регистрация: 27.12.2016 Последняя активность: Сегодня 13:40
Сообщений: 4169
Сказал(а) спасибо: 637
Поблагодарили: 4285 раз(а) в 1679 сообщениях
|
![]() Цитата:
Тогда выгрузка в CSV имеет хоть какой-то смысл. |
|
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 25.08.2012 Последняя активность: 22.05.2025 22:36
Сообщений: 3954
Записей в дневнике: 4 Сказал(а) спасибо: 1560
Поблагодарили: 3889 раз(а) в 1902 сообщениях
|
![]()
Не очень понятно, причём здесь ОС, вы ж файлик не ОСу скармливаете, а конкретному софту. Но смысл понятен.
С разделителем и его настройкой вопросов нет. Вопросы начинают возникать с десятичным разделителем. Потому что в локалезависимое представление десятичного дробного числа входят кроме десятичного разделителя ещё и разделители троек разрядов и их наличие (это как минимум, там дохрена всяких мелочей, в нашем случае малоактуальных). Поэтому в настройке следует оперировать именно локалью (да и с точки программирования это проще и правильнее). Но локалей дофига. Если в настройке устроит наличие двух условных пунктов "по-русски" (1000,0) и "по-американски" (1,000.0), то ок. Потому что есть ещё например "по-немецки" (1 000.0) и чёрт знает по-каковски ещё. Надеюсь я не слишком путано изложил. С этим локалезависимым строковым представлением десятичной дроби в Андроиде постоянно какие-то засады... |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
👀
Регистрация: 23.07.2020 Последняя активность: Сегодня 10:26
Сообщений: 10242
Записей в дневнике: 4 Сказал(а) спасибо: 65
Поблагодарили: 6892 раз(а) в 3787 сообщениях
|
![]()
Ход конем — выгружать в CSV только целочисленные значения.
Вряд ли кому-то нужна точность до десятых долей люкса. |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 06.03.2013 Последняя активность: 15.08.2024 23:42
Сообщений: 4776
Сказал(а) спасибо: 657
Поблагодарили: 1914 раз(а) в 1180 сообщениях
|
![]()
При работе с CSV обычно используются две настройки - это разделитель и локаль. Причём последняя может быть по дефолту системная, но с возможностью настройки. При наличии текстовых строк добавляются ещё две - кодировка и квотирование (заключение строк в кавычки)
Это позволяет передавать в них любой спектр табличных данных. Эксель на самом деле не очень удобный инструмент, там для открытия правильного CSV надо использовать диалог импорта данных из текста, причём настройки не запоминаются. Тупым нажатием на файле он откроет, но интерпретирует их как посчитает нужным. |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
|
Ветеран Фонарёвки
Регистрация: 25.08.2012 Последняя активность: 22.05.2025 22:36
Сообщений: 3954
Записей в дневнике: 4 Сказал(а) спасибо: 1560
Поблагодарили: 3889 раз(а) в 1902 сообщениях
|
![]()
Ну так-то да, я тоже хитрый и ленивый
![]() Вот. И их вообще не проблема завести. Но вы же не предлагаете мне запихать в настройку локали все существующие? Это ж меня проклянут и в следующей жизни я стану жёлтым земляным червяком, а я не хочу... Надо разумно ограничить, предлагаю тремя: системной, русской (ru-ru) и американской (en-us). А кодировку и квотирование побоку, нечего там кодировать и квотировать. Цитата:
Настройки - это классно, но опыт показывает, что когда их больше 15, пользователи начинают потиху ох.евать. А так-то я люблю на каждый чих настройки делать. ![]() [Исправлено: kaa.mobil, 24.01.2023 в 13:11] |
|
![]() |
![]() ![]() |
Поблагодарили: 1 раз |
Drex (24.01.2023)
|
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 27.12.2016 Последняя активность: Сегодня 13:40
Сообщений: 4169
Сказал(а) спасибо: 637
Поблагодарили: 4285 раз(а) в 1679 сообщениях
|
![]() Цитата:
Разделителей всего два: разделитель полей (на практике в идеале ";") и разделитель десятичной части (в идеале "."). Все украшательства тысячной части - это не разделители, это форматирование текста, этому не место в числовом формате вообще. Выгружать ориентируясь на некую условную локаль - это полный моветон, за такое даже студентам по программированию зачёт не поставят. |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 06.03.2013 Последняя активность: 15.08.2024 23:42
Сообщений: 4776
Сказал(а) спасибо: 657
Поблагодарили: 1914 раз(а) в 1180 сообщениях
|
![]() |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 11.08.2011 Последняя активность: Вчера 23:50
Сообщений: 10947
Записей в дневнике: 1 Сказал(а) спасибо: 2694
Поблагодарили: 12537 раз(а) в 4544 сообщениях
|
![]()
MaksVasilev, блокнотом открываете , и заменяете разделитель хоть на слово из 3 букв...
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 27.12.2016 Последняя активность: Сегодня 13:40
Сообщений: 4169
Сказал(а) спасибо: 637
Поблагодарили: 4285 раз(а) в 1679 сообщениях
|
![]()
Вы смешиваете в одну кучу формат хранения и форматирование отображения. Все украшательства - это исключительно на стороне UI. Формат CSV не про отображение, он про универсальную простую передачу данных из ПО 1 в ПО 2. В форматах хранения и передачи не место украшательствам.
[Исправлено: MaksVasilev, 24.01.2023 в 14:03] |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 06.03.2013 Последняя активность: 15.08.2024 23:42
Сообщений: 4776
Сказал(а) спасибо: 657
Поблагодарили: 1914 раз(а) в 1180 сообщениях
|
![]()
Но не в CSV, там ещё и табуляция используется и выравнивание строк пробелами, так как он предусматривает ещё и просмотр данных обычным текстовым редактором. И эти знаки должны игнорироваться парсером при открытии. На самом деле он довольно неудобен для машинного хранения данных именно из-за этой неоднозначности (и у меня заноза в одном месте из-за этого), но очень универсален.
Сабжа не касается, у нас же только сохранение, а не чтение. |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 25.08.2012 Последняя активность: 22.05.2025 22:36
Сообщений: 3954
Записей в дневнике: 4 Сказал(а) спасибо: 1560
Поблагодарили: 3889 раз(а) в 1902 сообщениях
|
![]() Цитата:
CVS на самом деле отвратителен для взаимодействия ПО как раз в силу своей текстовости (и нестрогости). Это некий замшелый гибрид, который и человеком почитать, и машиной. Есть и более свежие гибриды (XML) с теми же проблемами. Для обмена данными между ПО гораздо лучше подходят строгие бинарные форматы. Но их человеку не почитать, поэтому текстовые форматы до сих пор существуют. [Исправлено: kaa.mobil, 24.01.2023 в 15:03] |
![]() |
![]() ![]() |
Поблагодарили: 1 раз |
Drex (24.01.2023)
|