Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Классический арканоид для любителей ретро-игр. Защитите космический корабль с Печенькой (и не только) на борту, проходя уровни в арканоиде.

Арканоид Пикабу

Арканоид, Аркады, Веселая

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Android + Программирование

С этим тегом используют

Игры Смартфон Приложение iOS Телефон Google Play iPhone IT Программист IT юмор Разработка Python Картинка с текстом Юмор Все
379 постов сначала свежее
1
Agamik
Agamik
1 год назад

Своя игра под Android за ночь⁠⁠

Давно хотел написать простую игрушку на телефон для себя, да и так, чтоб можно было друзьям показать, потыкать.
В мобильной разработке довольно давно, так что как делать хорошо понимаю, а вот что делать… С этим всегда проблемы. Обычно работает так: есть люди, которые говорят: «Давай сделаем так для того, чтобы что-то». Потом приходят дизайнеры и говорят: «Выглядеть оно должно вот так». Ты садишься и делаешь. Довольно часто в голове проскакивают мысли из разряда:

  • А почему мне не сделать свое приложение?

  • Зачем мне все эти промежуточные звенья?

  • Хочу сам решать как и что

И вот тогда, полный энергии и запала ты садишься и… И все. Упираешься в то, что у тебя нет идей. Появилась идея? Тогда ты понимаешь, что дизайнер из тебя никакой. Приходит осознание, что наверно, все эти люди есть не просто так. Возвращаешься на работу и делаешь чужой проект дальше, и так по кругу.

Несколько дней назад я ложился спать и подумал, что слишком часто в последнее время вижу, что знакомые играют в игры по типу «отгадай что за слово за N попыток», как у желтого банка была игра «5 букв» или что-то такое. И тут я понял, что сделать ее - не стоит ничего. Тут же взял ноутбук и начал.

План написания приложения был примерно следующий:

  1. Найти в открытом доступе файл с существительными на английском языке, из которого, собственно и будут браться слова

  2. Написать свою клавиатуру - главный по сложности виджет в этом приложении

  3. Написать форму для ввода слов

  4. Добавить элемент монетизации (конечно, куда же без этого)

  5. Выложить в открытый доступ

Итак, поехали. 1 этап прошел довольно быстро и безболезненно, но со своими приколами. Я нашел список слов, состоящий примерно из 1800 существительных, но как оказалось позже, в нем очень много пробелов и довольно часто нет очевидных слов. Но и ладно, для старта подойдет.

Идем дальше. Чтобы написать клавиатуру, надо понять, в каком состоянии могут быть буквы. В целом, достаточно посмотреть пару примеров и Делаем вывод, что состояния может быть 3:

  1. Эту букву мы еще не пробовали

  2. Пробовали, но в загаданном слове такой нет

  3. Пробовали и да, такая буква есть

Выбираем цветовую палитру. Мне лично, очень нравится, как выглядят салатный и оранжевый на сером фоне. Так давайте так с сделаем. С ними еще и голубой будет норм смотреться. Для клавиатуры основным цветом выбираем салатовый. Главной кнопкой аля SPACE сделаем проверку введенного слова. Если букву не угадываем - убираем обводку, если угадываем - добавляем цвета в фон. Получается что-то такое, вроде даже смотрится.

Своя игра под Android за ночь Инструкция, Android, Приложение на Android, Android разработка, Игры на Android, Мобильные игры, Игры, Игра слов, Разработчики игр, Разработка, Программист, Программирование, Озарение, Вдохновение, На ночь, Длиннопост

Клавиатура

Поехали дальше. Форма для ввода слов. Тоже долго не думаем, каждая буква в отдельной ячейке, при проверке слова сначала проверим, что все буквы введены, затем проверим, что введенное слово есть в нашем словаре, ну и наконец, по одной букве сравним то, что ввел пользователь с нашим загаданным (взятым рандомно из списка) словом. По состоянию, каждая ячейка для буквы может быть в одном из следующих состояний:

  1. Еще не проверяли

  2. Такой буквы нет в слове

  3. Буква есть, но она не на своем месте

  4. Да, ты угадал! Ровно эта буква и ровно здесь!

По цветам, в целом, возьмем все те же, но добавим еще немного серого для букв, которые нам не подходят. Смотрите, получается что-то такое:

Своя игра под Android за ночь Инструкция, Android, Приложение на Android, Android разработка, Игры на Android, Мобильные игры, Игры, Игра слов, Разработчики игр, Разработка, Программист, Программирование, Озарение, Вдохновение, На ночь, Длиннопост

О, это конец?

Казалось бы, готовая игра. Но нет, давайте добавим немного информации для пользователя, не всем же очевидно, что эти цвета вообще значат. В процессе написания, кстати, название просто всплыло в голове и начальный вариант я оставил без изменений: "Worder World". Как вам? Типа Wonder - WORDer, ну вы поняли. Отвлеклись, итак, добавляем кнопку инфо и немного разъяснений в виде попапа. Получается так:

Своя игра под Android за ночь Инструкция, Android, Приложение на Android, Android разработка, Игры на Android, Мобильные игры, Игры, Игра слов, Разработчики игр, Разработка, Программист, Программирование, Озарение, Вдохновение, На ночь, Длиннопост

Немного понятней стало

Так, а в чем моя игрушка будет отличаться от большинства других? У меня есть словарь, но правда ли я буду использовать в нем только 5-и буквенные слова? А зачем? Давайте добавим возможность пользователю самому выбирать какой длины слово он хочет. Добавляем стартовый экран с выбором длины. От 5 до 8 как будто должно хватить. А вот и идеальное место, где можно получить профит. 5, 6 - бесплатно, хочешь сложнее - плати)) Почему бы и нет, да и все равно игрушка моя, хочу так и все тут.

Своя игра под Android за ночь Инструкция, Android, Приложение на Android, Android разработка, Игры на Android, Мобильные игры, Игры, Игра слов, Разработчики игр, Разработка, Программист, Программирование, Озарение, Вдохновение, На ночь, Длиннопост

Выбираем сложность

Получается вот так. Вкладка магазина возможно получит жизнь в будущем, если есть идеи что туда добавить - пишите.

Финальный штрих - добавим стартовый экран загрузки с простой анимацией и немного рекламы (Правда совсем чуть чуть, да и почему нет, все равно с нее заработок измеряется в десятых частях центов). Сделаем попапы о выигрыше или проигрыше да и в целом все, игра готова.

Ну что ж, пошли выкладываться в стор. Аккаунт разраба есть, название есть, описание накатаем, скриншот наделаем, формочки необходимые заполним, отправляемся на модерацию. Что по времени? Прошло часа 3, а внутренний владелец собственной игрушки рад) Всем спасибо, если вдруг захотите посмотреть - вот ссылочка https://play.google.com/store/apps/details?id=com.agamatech...., если находите слова, которых нет в моем не очень большом словаре, или вы придумали, что крутого можно туда добавить - пишите, сделаем!

А как проходят ваши ночи?

Показать полностью 4
[моё] Инструкция Android Приложение на Android Android разработка Игры на Android Мобильные игры Игры Игра слов Разработчики игр Разработка Программист Программирование Озарение Вдохновение На ночь Длиннопост
8
6
VedroidoV
VedroidoV
1 год назад

Тестовое приложение M3APP_V2 для терминала сбора данных на Андроиде⁠⁠

Добрый вечер всем. Или не вечер- у кого что...
Когда то я уже писал, что по утрам подрабатываю сборщиком заказов (грузчик, водитель и что попросят) и решил написать себе в помощь программу. Далеко не программист, совсем далеко, но первая версия появилась на свет в года полтора назад.

Написана программа на Visual Basic (Microsoft Visual Studio 2008), так как на руках был простенький сканер сбора данных (Motorolla, модель не помню, но попозже, как буду дома- выложу фото). Не было сенсорного экрана и навигация осуществлялась кнопками. Сурово и просто. Тогда эта программка неплохо помогла мне (даже на основной работе).
Чуть позже появлялись другие ТСД (на андроиде, фирмы Urovo), но что то мне в итоге не понравилось (да и цена за терминал этой фирмочки был не мал) или не получилось и я продал их, оставив один с неисправным тачем.
Так я начал переписывать код для Андроид терминалов (да и простого телефона, если к нему подключить беспроводной сканер или проводной- как угодно). Знаний тогда у меня было не многим больше, чем сейчас. Изучать всякие java и Kotlin не смог- глуповат и ленив, а потому выбор пал на блочное программирование, почти для детей, App Mit Inverot. Вот вроде просто- ставь блоки, пиши условия и значения, переменные и прочее... а в итоге не очень, ибо, повторюсь- знаний маловато очень, но что получилось то и получилось. А получилась первая версия программы M3APP (название было выбрано по имени терминал на windows mobile, да так и прижилось).

Много всего там было перепробовано- и голосовой ввод (для баловства), и добавление неизвестных товаров в базу (там и забросил это)... и код стал настолько громоздким и непонятным (хотя, казалось бы- блоки шлёп-шлёп, тужа сюда, плюс на минус, три на ум пошло и готово), и как то всё это работало, но реализация новых затей приносила лишь сумятицу и костыли в код. Было принято решение переписать с нуля, опираясь на первую версию приложения. И вот появилась вторая версия, сегодня. Много что не реализовано, например:
- ручной ввод штрихкода
- выбор товара из списка (если, например, нет веса или оторвалась этикетка)
- экспорт накладной (для импорта, например, в 1С)
- Работа с заказами ( чтобы в суматохе не перепутать товар и набирать его именно по списку)
- С камеры можно считать только ean-13 и qr code, но нельзя ean-128 (возможно есть другие утилиты, которые могут).
- и многое другое...
Но потихоньку иду к этому и решил поделиться с вами результатом своего труда, чтобы получить порцию критики и советов. Чтобы знать что нужно ещё добавить, что изменить, что убрать...
Готов к любой критике, равно как и к ушату...

1/4

Фото терминала на Android

И да- её можно скачать здесь, специально маленький сайтик сделал на серваке.
P.S.- зарегистрировался и отправил на модерацию приложение в RuStore. Так смогу получить больше отзывов и, возможно, улучшу приложение... но это пока только в планах.

Показать полностью 4
[моё] Программа Тсд Android Программирование Mit App Inventor Приложение Длиннопост
0
Glebhent
1 год назад
Android

Как сделать FRP и удалить Гугл аккаунт на самсунге А30S⁠⁠

Сбросил телефон до заводских, не знаю ни почты, ни пароля

Мобильные телефоны Программирование Операционная система Android Текст
9
18
OneClickStudio
OneClickStudio
1 год назад
Android Developers

Волна по "Честной цене" - тру приложение для Android ч.2⁠⁠

Привет, пикабушники и пикабушницы.

Напомню, два месяца назад мы заловились с товарищем @Stich.626 чтобы сделать единообразное + бесплатное мобильное приложение и сайт для расчета ценников в магазинах, которое решили не бросать, любить и лелеять, насколько это возможно.

В этом посте пойдет речь про обновление мобильной программы, и технические аспекты ее написания (все таки сообщество для разработчиков). Поехали!

Волна по "Честной цене" - тру приложение для Android ч.2 Android, Приложение, Программа, Смартфон, Google, Программирование, Rustore, Длиннопост

Недооцененный баннер в Goggle Play

0 - Че там по отзывам

Перед выпуском обновления мы разумеется лезем в обе консоли разработчиков (приложение есть как в Google Play, так и в RuStore), и занимаемся вычитыванием того, что вы там понарасказывали в них, и какие хотелки запрашиваете.

Лично я придерживаюсь мнения, что разработчик (сайта, приложения, не важно) уже сам должен хорошо понимать, чего в приложении хватает (или не хватает), и на основе отзывов должна формироваться картина того, что должно ускорятся, или что добавлять в ту или иную итерацию.

А для всего остального есть MasterCard система тестирования и многочисленные метрики.

Так вот, среди отзывов уже давно проскакивали запросы на добавление списка с историей, сохранение результатов, сравнение нескольких выбранных показателей, и смена валют.

Сегодня вопросом списка с историей мы и займемся.

1 - Нарисуй меня полностью!

Волна по "Честной цене" - тру приложение для Android ч.2 Android, Приложение, Программа, Смартфон, Google, Программирование, Rustore, Длиннопост

Первичный вход в приложение

Перед тем, как что-то наговнокодить написать, нам нужно сформировать в файлах макетов новые сущности для функционирования списка. В нашей основной деятельности появляется один новый блок, основанный на MaterialCardView из библиотеки поддержки M3, который содержит в себе:

  • Заглушку на основе RelativeLayout, которая показывается, когда еще не было произведено ни одного расчёта;

  • Сам список ListView, который находится внутри карточки, но невидим до тех пор, пока мы не начнем что либо считать.

Волна по "Честной цене" - тру приложение для Android ч.2 Android, Приложение, Программа, Смартфон, Google, Программирование, Rustore, Длиннопост

Вариация макета при наличии расчетов

Визуально выглядит неплохо, но еще есть над чем поработать.

Дело в том, что ListView (древнейший из компонентов андроида, кста) в своем базовом варианте очень плохо выглядит. Настолько плохо, что если использовать его "как есть", то потом можно выхватить от пользователей лучи поноса:

Волна по "Честной цене" - тру приложение для Android ч.2 Android, Приложение, Программа, Смартфон, Google, Программирование, Rustore, Длиннопост

Чтобы не повторять мем из картинки выше, мы создаем новый файл макета, в котором сверстаем 1 единственный пункт меню, который в дальнейшем будет повторятся, и добавляться к списку каждый раз при его заполнении данными.

Этот же файл, кстати, мы потом переопределим в адаптере, когда доберемся до кода.

Волна по "Честной цене" - тру приложение для Android ч.2 Android, Приложение, Программа, Смартфон, Google, Программирование, Rustore, Длиннопост

В нашем случае получилась довольно простая адаптация, в которой:

  • Был добавлен корневой LinearLayout, позиционирующий дочерние элементы по горизонтали, с суммарным весом 9

  • Внутренние (дочерние) блоки, два из которых тоже на основе LinearLayout (но уже вертикально ориентированные), и еще один TextView, который нуждается только в центрировании

  • И уже внутри наши текстовые переменные, которым мы назначаем айдишки, и будем использовать в коде.

Но перед этим пойдем посмотрим, как это выглядит без учета логики на эмуляторе:

Волна по "Честной цене" - тру приложение для Android ч.2 Android, Приложение, Программа, Смартфон, Google, Программирование, Rustore, Длиннопост

2 - Пишем внутренности

На виртуальном телефоне неожиданностей не произошло, отображается все так как хотелось, поэтому двигаемся в кодильню файл основной активности:

Волна по "Честной цене" - тру приложение для Android ч.2 Android, Приложение, Программа, Смартфон, Google, Программирование, Rustore, Длиннопост

Перво - наперво, нам нужно уяснить несколько логических моментов:

  • При открытии приложения список уже есть, и поэтому он создается в onCreate. Но он пустой, так как мы еще не наполняли его данными.

  • Список уже знает, какими данными он будет наполняться (проставлены id и назначен наш кастомный слой), поэтому для него также создан адаптер, базирующийся на SimpleAdapter, который берет данные из HashMap. Он очень удобен (лично для меня), т.к. его можно в дальнейшем наполнять чем угодно: картинками, другими слоями, чекбоксами, и т.д.

  • Пока пользователь (ты) не начал ничего вводить, смысла показывать его тоже нет, поэтому мы изначально установили заданную видимость заглушки и списка в макете (не в коде). Заглушку видно, список нет.

Из хорошего, когда мы писали приложение в первый раз, то определили подсчет результата через switch - приложение знает, какой показатель мы считаем, поэтому нам просто нужно дать адаптеру сведения из того или иного метода расчёта.

Для этого мы добавляем две строчки кода для каждого из режимов. В первой добавляем данные, а второй говорим приложению, что список обновился (и тебе по-хорошему надо перерисовать список).

Например, для расчета по килограммам это будет выглядеть так:

list.add(new PriceMap(price_0 + " ₽", getInputWeightGR.getText().toString() + " гр.", String.format("%.2f", result_0) + " ₽", "За килограмм"));

((BaseAdapter)adapter).notifyDataSetChanged();

Волна по "Честной цене" - тру приложение для Android ч.2 Android, Приложение, Программа, Смартфон, Google, Программирование, Rustore, Длиннопост

Проверяем на телефоне, и неожиданностей опять нет - расчет прошел по тому показателю, который мы запрашивали.

3. Доделываем

Волна по "Честной цене" - тру приложение для Android ч.2 Android, Приложение, Программа, Смартфон, Google, Программирование, Rustore, Длиннопост

Всего то 48 предупреждений.

Нам остается пройтись по инспектору, чтобы приложение выглядело не как гавно в глазах IDE более менее сносным (студия сама может проверить, что нужно улучшить или доправить):

  • Забиваем строковые ресурсы в string;

  • Раскладываем код по полочкам. Активности переносим в пакет activities, адаптеры в adapters;

  • Убираем код, который не использовали, или комментим его в TODO

  • Меняем индексы в приложении, добавляем информацию что мы там накрутили;

  • Обновляем пакеты, проверяем что из-за них ничего не поломалось.

  • Формируем AppBundle для Google Play, APK для RuStore (вторые еще толком не научились, а первые уже требуют).

И еще напоследок расшифрую некоторые моменты, которые я не упомянул до этого:

В приложении нет специального параметра (типа boolean до объявления в onCreate, или иного в SharedPrefs, например) для отображения или скрытия блока с заглушкой, так как мы полагаемся на жизненный цикл Android. Другими словами, если приложение было выгружено из памяти, или закрыто, нам не надо сохранять состояние списка, он все равно пересоздаст себя вместе с активностью. Если приложение разворачивается после скрытия (onResume), то все восстановится.

Список изначально не занимает всю площадь экрана, или не раздувается при наполнении (у него фиксированная высота). Это сделано специально, т.к. у нас еще не весь функционал реализован, и ниже будут дополнительные блоки/карточки.

ListView сам по себе является вертикально прокручиваемым по типу ScrollView, поэтому мы сохранили логику прокрутки внутри карточки, и заблаговременно сообщили слою Coordinator через параметр android:nestedScrollingEnabled="true", что вот ты, собака, должен (и будешь) прокручиваться. И даже ничего не сломали в плане юзабилити, пользователю понятно, что там внутри прокручивается список, т.к. есть соответствующая полоса прокрутки.

4 - Что дальше?

Дальше хотелось бы добавить оставшиеся вещи, в той очередности как я их вижу сейчас:

  1. Сохранение результатов в свой собственный список + назначение названия. Например, хлеб в пятерке и в ашане;

  2. Сравнение показателей по выбору их из истории, или из сохраненного списка;

  3. Смена валюты через настройки, т.к. приложение опубликовано в 15 странах.

Публикую ссылки без зазрения совести, так как денег не прошу, а приложение бесплатное, каковым и останется. Ссыль на сайт опционально, для потенциальных вопросов по андроиду, предложений и всего такого.

https://play.google.com/store/apps/details?id=ru.oneclickstu...

https://apps.rustore.ru/app/ru.oneclickstudio.fairprice

https://oneclickstudio.ru/

На этом усе, всем спасибо, все свободны.

Показать полностью 8
[моё] Android Приложение Программа Смартфон Google Программирование Rustore Длиннопост
9
2
SergeyKombi
1 год назад

Ответ на пост «Программируем мобильный справочник (Часть 1, Макеты)»⁠⁠1

Доброго времени суток. Очень жаль, что автор так и не продолжил цикл этих статей, написав только эту.

Android Программирование Гифка Длиннопост Ответ на пост Текст
3
user7612006
1 год назад

Тестировщики закончились? Или экономия⁠⁠

Всё хуже и хуже каждый раз работает всё. Начиная от веб сайтов и заканчивая телефонной связью.

Раньше если находился какой-то баг, то его исправляли моментально, сейчас же, такое ощущение, что его не видят.

Например, позавчера (1 января) жена показала на своём яблоке, как у неё отображается сайт погоды на яндексе, краткий прогноз на неделю, 1-е число это был Понедельник. И так был такой баг

(Сегодня 1 января, Понедельник 2 января, Среда 3 января, Четверг 4 января, Пятница 5 января, Суббота 6 января)

Я открыл эту же страницу на андрюхе и у меня отображается всё корректно. Да я конечно понимаю, яблочники тот ещё гемор создают, помню когда делал свой сайт в давно-лохматом году, тоже со стилями намучился подгоняя, всё под ИЕ и яблочный браузер, но тут то, Яндекс, он же Дзен. Я думал там работают люди, которые имеют сильный опыт в верстке, да и тестировщики по факту должны их прикрывать. Но тут....

И это только один пример из многих. И ВКонтакте глюк на глюке и глюком погоняет. Может в приложении работает всё гуд, но обычный браузер... Да, ВКонтакте особо никогда не отличались хорошей работой и периодически глюки всплывали, но тут, что-то всплывать они стали чаще.

Но как я говорил, это коснулось не только веб, но и качество связи. Мобильная связь от билайна, стала что-то с чем-то, как и предоставление других услуг, таких как интернет и тв.

Ну с нашей областью всё ясно, она никогда не славилась качеством услуг. Так вот хочется узнать, а в вашей области тоже стало всё "лучше"?

[моё] Интернет Сайт Сервис Тестировщики Программирование Программист Windows Android Apple IT Текст
10
6
iTmr
iTmr
1 год назад

Веселенькое программирование обоев⁠⁠

Учил девушку писать программу в Delphi, у нее лабы по программированию. Полчаса выбирали цвет окошка, кнопок и прочих элементов, где что расположить. Но все было как-то скучненько и монотонно.

На свою голову я рассказал, что можно на фон поместить компонент Image, в который можно вставить картинку. Вот нахрена я это сказал?

И я почувствовал на своей шкуре этот анекдот: "Решил научить свою девушку играть в танки. Полчаса выбирали форму танкистам"

Потом, после лабы, она рассказала, что у всех были скучные серые окошки, а у нее красивая и веселенькая программа. И за это она меня отблагодарила ртом, т.е. сказала: "Спасибо за помощь!"

В это время я:

Веселенькое программирование обоев Программа, Android, Delphi, Программирование, Обои на телефон, Истории из жизни, Разработка, Длиннопост

И рисую себе веселенькие обои на смартфон:

Веселенькое программирование обоев Программа, Android, Delphi, Программирование, Обои на телефон, Истории из жизни, Разработка, Длиннопост

Фоновое изображение для смартфона, "чистая версия"

При автопривязке к сетке все смотрится как мечта перфекциониста. Раставляю иконки, скриню, далее в графическом редакторе расставляю клеточки через одинаковые смещения. Поэтому и совпадает.

Но если автопривязка выключена, то наступает ад для перфекциониста, ни одна иконка не совпадает с фоновыми клеточками для иконок:

Веселенькое программирование обоев Программа, Android, Delphi, Программирование, Обои на телефон, Истории из жизни, Разработка, Длиннопост

скриншот с этим фоном.

Иконка диктофона: ну, я пошел.

На заставку себе, когда был студентом, ставил расписание звонков на пары и выделял регионы, в которых появляются уведомления, часы и т.д.

Веселенькое программирование обоев Программа, Android, Delphi, Программирование, Обои на телефон, Истории из жизни, Разработка, Длиннопост

Старый скриншот. Оригинальные обои на заставку не сохранились

Я ранее писал, что в Delphi можно на фон поместить компонент Image. А еще я отключал границы окошка и накидывал через Image кнопки, которые реагируют на нажатия. И хоть в стиле скинов Winamp делай лабу по программированию:

Веселенькое программирование обоев Программа, Android, Delphi, Программирование, Обои на телефон, Истории из жизни, Разработка, Длиннопост

скрин скина Winamp, из интернета

Но про то, что можно скрин скина Winamp в фотошопе отредактировать и вставить в качестве фона программы, я решил девушке не рассказывать, это мой секретный ингридиент)

И да, я нигде не писал, что девушка моя, так, знакомая...

Показать полностью 4
[моё] Программа Android Delphi Программирование Обои на телефон Истории из жизни Разработка Длиннопост
0
Партнёрский материал Реклама
specials
specials

Сколько нужно времени, чтобы уложить теплый пол?⁠⁠

Точно не скажем, но в нашем проекте с этим можно справиться буквально за минуту одной левой!

Попробовать

Ремонт Теплый пол Текст
16
SCratORS
SCratORS
1 год назад
Android Developers

Everchanging Sony Ericsson s500i⁠⁠

Everchanging Sony Ericsson s500i Android, Живые обои, Программирование, Исходный код, Видео, Длиннопост

В далеком 2007 был выпущен такой вот телефончик. С железной стороны обычный телефон тех лет. Отличительной особенностью у него была тема оформления Everchanging. Много анимаций, изменяющийся фон, который изображает как различные сезоны и время дня. На эту фишку была направлена и рекламная компания аппарата.

И эта обоина прям запала в душу. Был у меня чуть позже Sony Ericsson c902, и он тоже прекрасно прожевал эту тему, только меню приложений пришлось немного пропатчить. Это всё лирика. Ходил я и любовался этой темой.

Затем пришёл на смену Андройд. И всё, прошла пора, ничего подобного для андройда я не видел.

В какой-то момент я созрел до того, чтобы, как всегда, всё сделать самому. В общем решил я возродить эти обои для Андройда.

4 года разработки, компромиссов и мучений. Первое же с чем пришлось столкнуться сразу - это то самое маленькое разрешение экрана оригинала 240х320 пкс.

Долгое время я не мог никак придумать, как увеличить разрешение. Казалось бы, - бери нейронку и в путь. Искал, пробовал, - все нейронки которые предлагали Upscale делали какое-то мыло. Но всё-таки, спустя пару лет нашлась одна, которая смогла. Зацените:

Everchanging Sony Ericsson s500i Android, Живые обои, Программирование, Исходный код, Видео, Длиннопост

В итоге всю графику пропустив через неё, получилось сделать то, что нужно.

Далее было много боли и страданий программирования. Я раз шесть, садился писать, потом надоедало, забивал, забрасывал. Через полгода-год садился опять, вспоминал, что и как писал, переписывал по новой.

Пришлось повозиться с адаптацией под экраны с соотношением 9:16 и 9:21, так как оригинал 3:4. В целом протестировав на всех каких только можно соотношениях не меньших чем 3:4 (не знаю как правильно написать - от 3:4 и длиннее) - вполне корректно. Некоторое анимации тоже пришлось адаптировать, тоже получилось хорошо на мой взгляд.

В итоге удалось сделать на 99.9% всё как в оригинале!

Если Вы помните эту тему, и хотели бы её использовать вновь - Это приложение для Вас.

Требования к системе:

Графики много, поэтому оперативки порядка 300мб. может скушать. Текстуры кушают, да. Можно было бы грузить текстуры только в момент работы анимации, но тогда при смене анимации, были бы тормоза подгрузки, - пришлось отказаться от этого и грузить всё сразу. Поэтому не стоит на слабых аппаратах с большими экранами запускать - тяжёловато для них.

Телефоны до API21 (Андройд 5) не поддерживаются, т.к. они не умеют силами системы векторную графику рисовать. - Да и не думаю что в современном мире такие еще остались в работе.

Ну и графика под горизонтальную ориентацию не рассчитана, ни тут ни в оригинале.

Скачать apk или посмотреть исходный код можно с моего гитхаба: SCratORS/Everchanging: SonyEricsson "Everchanging theme" standby animation wallpaper (github.com)

Если Вам понравилось, можно купить её в rustor'e: Everchanging – скачать приложение для Android – Каталог RuStore

Разницы в apk'ашках нет, они идентичны.

Показать полностью 2 1
Android Живые обои Программирование Исходный код Видео Длиннопост
21
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии