Как я использовал ChatGPT, чтобы создать музыкальный плеер на Java и монетизировать разработку

6

Этот текст написан в Сообществе, в нем сохранены авторский стиль и орфография

Цели и задачи

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

Изначально разработка велась на модели GPT-4o. Это создавало определённые сложности, так как она не самая умная. Но уже за несколько часов у меня был готовый плеер с основными функциями: прослушиванием треков, перемоткой, перелистыванием треков и фоновым воспроизведением музыки из уведомлений. Затем появилась более умная модель GPT-o1, и плеер обрёл возможность добавлять треки в избранный плейлист. Дизайн оставлял желать лучшего, но даже этому я был рад.

Затем я случайно узнал о приложении Cursor и решил его попробовать. Интуитивно догадался открыть папку проекта Android Studio через это приложение — и случилось чудо: нейросеть увидела весь мой проект и начала предлагать улучшения. Я просто соглашался с изменениями, и они автоматически вносились в проект. Иногда возникали ошибки, я отправлял их в чат, затем снова соглашался с изменениями, и ошибки исправлялись. Больше не нужно было в большинстве случаев полностью копировать код и просить писать целиком методы или классы (хотя иногда всё равно приходится). Стоит отметить, что такой способ повышает риск дублирования кода и даже целых классов, так как Cursor создает их мгновенно.

У меня быстро появились иконки элементов приложения, созданные векторной графикой, а также светлая и тёмная темы. Появилась возможность добавлять песни в созданные плейлисты и создавать неограниченное количество плейлистов. Затем я добавил эквалайзер с кучей пресетов и мини-плеер с приятной анимацией волны при воспроизведении. Реализовал возможность ставить трек на рингтон, предварительно обрезав его, как мне нужно. Внедрил режим сна, чтобы плеер сам выключался в промежутке от 15 минут до 2 часов.

Добавил локализацию на английском и китайском языках. Теперь, если приложение скачивается и системный язык на телефоне — китайский, то интерфейс и название приложения автоматически отображаются на китайском языке (то же самое с английской и русской локализацией). Это особенно полезно, так как я выложил приложение «Плеер для музыки» в AppGallery и на RuStore. Также в приложении я реализовал возможность делиться треками с друзьями, теперь удобно перекидывать треки с телефона на телефон.

В общем, получилось реализовать даже больше того, что изначально задумывал, и добиться стабильной работы приложения. Теперь оно выглядит более профессионально, и уже не скажешь, что создал его не программист. На RuStore «Плеер для музыки» скачали более 2 000 раз. Последний положительный отзыв после обновлений говорит о том, что всё сделано правильно и плеер нравится не только мне.

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

Результаты

В результате, приложение получилось просто отличным. Я сам активно слушаю в нем треки, создавая плейлисты в дорогу и при занятии в спорт зале. Особенно часто пользуюсь функциями «поделиться треком», таймером сна, установкой и обрезкой трека на рингтон и эквалайзером.

Плюсы и минусы чат-бота

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

Советы

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

Надеюсь, статья была полезной! Спасибо, что дочитали!

  • МаксимНесколько рублей в день — реально рублей или тысяч рублей?0
  • РоманМаксим, реально рублей, а не тысяч.0
  • МаксимРоман, ну кстати это круто. Вашим продуктом пользуются1
  • РоманМаксим, согласен. По сути плеер только несколько дней назад стал стабильным и более функциональным. Поэтому и создал его с разной локализацией. Только со временем узнаю, скачивают его в других странах через AppGallary или нет. Первое китайское название было занято, пришлось придумывать новое. Значит у них своих плееров полно.)0
  • Boris Köln"очень выручает копирование папки с проектом: тогда можно начать с той точки, где проект был на нужной стадии разработки" Научитесь пользоваться Git0
  • РоманBoris, обязательно научусь, спасибо.0