Тайная жизнь Android разработчика в санкциях. Часть #2

Привет, пикабушечники!

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

Для ЛЛ - Это серия постов о том, как мы попробуем с нуля написать мобильное приложение, интегрировать его с Российскими сервисами, и учесть все юридические тонкости, соблюдая законодательство.

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

Тайная жизнь Android разработчика в санкциях. Часть #2 IT, Программирование, Приложение на Android, Android, Гифка, Длиннопост

Кстати: многие читатели наверняка уже все знают, и кто-то уже имеет и статус самозанятого, и доступ в магазинах приложений, или все вместе. Не обижайтесь на повторное описание сейчас, или в дальнейшем. Моя цель - показать пошагово, как бы мы действовали в обычной ситуации, не имея ничего из перечисленного.

Лирическое отступление готово, погнали!

Концепция приложения

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

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

Тайная жизнь Android разработчика в санкциях. Часть #2 IT, Программирование, Приложение на Android, Android, Гифка, Длиннопост

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

Да ты что, скажете вы, у нас же все магазины завалены этим гавном! И будете правы, но мы с вами не такие, и постараемся привнести в этот мрак что то хорошее.

Форматы работы приложения:

  • Одиночное прохождение (аналог карьеры)

  • Прохождение с друзьями, где телефон передается участникам по кругу (гусары, молчать!)

  • Случайный вопрос

Механика работы:

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

  • Распределение вопросов в карьере - пока открытый момент, т.к. я сам не знаю как лучше. На выбор два варианта: категории вопросов, либо их постепенное усложнение. Тут надо подумать.

  • За правильные ответы начисляется виртуальная валюта (возьмем за основу какие нибудь монетки)

  • Для разблокировки следующей стадии необходимо сколько-то таких монеток накопить, или увеличить посредством модификатора x2 (чувствуете маркетинговые задатки?)

простите, не удержался)

Тайная жизнь Android разработчика в санкциях. Часть #2 IT, Программирование, Приложение на Android, Android, Гифка, Длиннопост
  • Для прохождения уровня в спокойном режиме необходимо ответить правильно на 50% вопросов, либо нивелировать это x2 бонусами за ответы. Иначе придётся перепройти уровень, чтобы догнать необходимое количество ответов. При этом я предполагаю, что надо сами вопросы "помешать", чтобы они откладывались в памяти у игрока

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

  • При прохождении с друзьями на один ответ отвечают сразу все участники поочередно, ответ записывается, и так далее по циклу. Никакой валюты за это не начисляется, тут только азарт в компании

Лично мне для реализации графических вопросов понравился цикл статей, тут, на пикабу, от @Polyglot, которые носят название WhatIsThisThing. Оттуда можно подчерпнуть интересные вопросы, и ответы на них.

Разумеется, я написал ему в ВК с разрешением на использование перевода, но пока не получил ответа. Может быть тут увидит)

Тайная жизнь Android разработчика в санкциях. Часть #2 IT, Программирование, Приложение на Android, Android, Гифка, Длиннопост

Подготовка устройств для тестирования

Как бы банально не звучало, нам потребуется 1-2 реальных устройства, на которых мы будем проверять работу приложения, помимо встроенного эмулятора в студии. Работа последнего, кроме всего хорошего, может вызвать подтормаживания на слабых машинах, но об этом мы поговорим немного ниже. В моем случае устройств вышло чуть больше чем 2, но основные из них вот такие:

Тайная жизнь Android разработчика в санкциях. Часть #2 IT, Программирование, Приложение на Android, Android, Гифка, Длиннопост
  • Xiaomi Redmi 8 (3/32) с разблокированным загрузчиком, и кастомной прошивкой (Android 13), в которой нет сервисов Google. Вообще никаких. Идеальный вариант, чтобы проверять работу программ в период недоступности гуглософта.

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

  • Немного устаревший, но от этого не менее заводной Google Pixel 3, с наличием, как вы поняли, всех сервисов и свистоперделок от большого брата, т.к. телефон делали "те самые ребята". Последняя версия андроида, вышедшая на нем - 12

Для всех устройств активирован режим разработчика, отладка по USB и WiFi, что позволяет нам точно также, как и на эмуляторе, воспроизводить и отлавливать ошибки по мере их возникновения.

Для ЛЛ - дальше много неинтересного текста, так что следующий раздел можно пропустить, если вас не интересуют технические моменты

Устройство для работы

Не менее важным шагом будет подготовка того, где вы будете работать, будь то ноутбук, или стационарный ПК. Бытует мнение, что разработка для Android проходит исключительно на Windows системах (хз откуда такое взялось), но опытным путем было выяснено, что особо разницы нет, какая у вас ОС.

Другими словами, вы можете работать где хотите: на Unix - системах (MacOS, Linux), или традиционно, на винде. Тут же, кстати, я дополню принцип настройки самой студии, чтобы компиляция проходила быстрее, а возможности вашей техники полностью "раскрывались"

замазал имя устройства - чтобы без матов)

Тайная жизнь Android разработчика в санкциях. Часть #2 IT, Программирование, Приложение на Android, Android, Гифка, Длиннопост

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

Минимум

  • CPU (Athlon 200GE / Pentium G5400)

  • RAM (4GB - из них минимум 1GB для эмулятора)

  • HDD (от 10GB свободного места для SDK)

Рекомендуемо

  • CPU (Ryzen 3 / Core i3)

  • RAM (8GB - из них минимум 1.5GB для эмулятора)

  • SSD (от 10GB свободного места для SDK)

Зажравшийся разработчик

  • CPU (Ryzen 5-7 / Core i5-i7)

  • RAM (16GB+ - из них минимум 2GB для эмулятора)

  • SSD NVMe (от 10GB+ свободного места для SDK)

Я могу ошибаться от примерных характеристик, но имея опыт работы на самом верхней планке железа (Pentium G5400), и на самой нижней (Ryzen 5-7) с уверенностью скажу, что студия-то запуститься везде, но комфорт работы у вас будет кардинально отличаться.

Подготовка софта и Android Studio

картинка из ваших интернетов

Тайная жизнь Android разработчика в санкциях. Часть #2 IT, Программирование, Приложение на Android, Android, Гифка, Длиннопост

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

  • Intel Hyper Threading - технология, которая разделяет аппаратный поток одного ядра на два виртуальных. Благодаря ей система видит 4-ядерный процессор как 8-ядерный. Аналог есть и у AMD

  • Turbo Boost - говорит само за себя. Обеспечивает кратковременный разгон, и дает существенный буст при сборке, а еще греет ваши коленки, если вы работаете на ноутбуке

  • Виртуализация - на разных материнских платах и чипах называется по разному, включается в настройках BIOS / UEFI

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

  1. Директория SDK (устанавливаете вы, или по умолчанию)

  2. Директория студии (устанавливаете вы, или по умолчанию)

  3. Директория проектов (обязательно)

  4. ~/.gradle

  5. ~/.android

  6. ~/Android StudioX.X

  7. ~/lldb

Фух.

Дальше будет еще больше непонятных букв, так как теперь мы настраиваем Android Studio. Приготовьтесь!

Тайная жизнь Android разработчика в санкциях. Часть #2 IT, Программирование, Приложение на Android, Android, Гифка, Длиннопост

Все переменные вписываются в файле gradle.properties, а некоторые устанавливаются в настройках (File - Settings)

  • Instant Run - позволяет подменять ресурсы в уже установленном приложении "на лету". Эту функцию я посоветую не использовать, т.к. довольно редко она заменяет все правильно. На старых версиях студий выключалась в настройках (Build, Execution, Deployment -> Instant Run), теперь функции разделены: иконка на панели с символом А (Restart Activity), а также рядом, иконка подтверждения замены кода (Apply Code Changes)

Тайная жизнь Android разработчика в санкциях. Часть #2 IT, Программирование, Приложение на Android, Android, Гифка, Длиннопост
  • Параллельная сборка - просто включаем, если не активно по умолчанию. org.gradle.parallel=true

  • Gradle daemon - уменьшение времени на инициализацию ресурсов, но взамен более высокий расход памяти. Выбираем по мере необходимости - org.gradle.daemon=true

  • Увеличение размера heap - позволит компилятору использовать увеличенный объем оперативки. Также советую, но с оглядкой на вашу систему. Вписывать значения можно также самим - org.gradle.jvmargs=-Xms1024m -Xmx4096m -Dfile.encoding=UTF-8

На этом считаю подготовку пройденной, вы молодцы.

Пока что на этом все, и спасибо за чтение. Буду рад вашим вопросам / пожеланиям в комментариях.

P.S. Никаких ссылок не даю, т.к. никто не любит рекламу, также как и не прошу подписаться на телегу. А вот символ рубля в конце поста я оставлю - для тех, кому написанное окажется немного полезным.

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

  • Введение

  • Подготовка устройств для работы и тестирования, концепция приложения (сейчас тут)

  • Регистрация самозанятого + регистрация в Ю.Касса + регистрация в RuStore

  • Выбор медийных площадок и интеграция

  • Пакеты и библиотеки, которыми будем (и которыми можно) пользоваться

  • Написание каркаса приложения, верстка основных экранов

  • Условная логика без подключения к БД

  • Графические материалы, баннеры для магазинов

Android Developers

87 постов2K подписчик

Добавить пост

Правила сообщества

Друзья!


Давайте адекватно относиться к тематике сообщества. Посты, не удовлетворяющие требованиям канала, будут отклоняться. Разработка под Android - это не только описание того, что надо сделать

(освоить Java / покормить кота / установить студию), но и реальные примеры того, что Вы описываете.