Создание сложного проекта
в профессиональном стиле

Практическое задание для новичков, чтобы закрепить
основы Java: ООП, коллекции и т.д. (проект основан на Swing)

Реализация собственного MP3 плеера

(Исходные коды обновлены: апрель 2019 г.)

Зачем нужно знать SWING?

Очень частый вопрос, который можно услышать от начинающих программистов.

Многие уверены, что на SWING не нужно тратить время, т.к. он скоро "вымрет" и т.д.

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

Многие элементы архитектуры SWING (слушатели событий, паттерн MVC) используются в современных направлениях (JavaEE, веб программирование, Android и др.)

 

Практика для новичков

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

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

А это не так-то просто. Поэтому начинающие разработчики останавливаются на полпути.

 

Самый правильный вариант - попрактиковаться на простых приложениях, но не консольных, а графических.

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

Вы можете получить необходимый опыт при минимальных требованиях.

К тому же создавать кнопочные приложения намного интереснее, чем просто консольные.

Поэтому советую вам в первую очередь попрактиковать ООП и закрепить синтаксис Java на примере MP3 плеера.

"Создание MP3 плеера на SWING"

Вы получите знания по основным моментам библиотеки SWING. Я поделюсь всеми своими рекомендациями при построении графических компонентов.

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

 

 
Видеоуроки

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

Готовые исходные коды

Обучайтесь на готовых примерах - открывайте исходные коды по всем урокам и заданиям, запускайте в IntelliJ IDEA

Задания с решениями

Закрепление по всем пройденным темам уроков - выполняйте домашние задания и сравнивайте полученный результат

Основные темы уроков

 
  • Компоненты SWING
  • Создание фреймов
  • Концепция JavaBeans
  • Контейнеры
  • Скины (внешний вид программы)
  • Подключение библиотек в свой проект
  • Менеджеры расположения (layout managers)
  • Слушатели событий (listeners)
  • Адаптеры
  • Jar файлы
  • Разработка калькулятора
 
  • Технология Java Web Start
  • Дизайнер интерфейса в NetBeans
  • Использование Java консоли для определения ошибок
  • Апплеты
  • Массивы
  • Коллекции
  • Работа с файловой системой
  • Чтение и запись файлов
  • Обработка исключительных ситуаций
  • Архитектура Model-Viewer-Controller (MVC)
  • Разработка собственного MP3 плеера
  • Использование моделей компонентов
 

Отдельный блок: рефакторинг кода в ООП стиль

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

Т.е. измените внутреннюю реализацию, без изменения функционала.

Ваш код станет более ООП-шным и расширяемым.

Это очень важный навык - умение "причесать" и оптимизировать любой код.

Сериализация и работа с файловой системой

 

Для успешной реализации MP3 плеера вы также научитесь двум важным навыкам: сериализация объектов и работа с файлами.

Это нужно для того, чтобы работать с плейлистом, сохранять список песен в формате *.pls.

Затем сможете открывать этот файл и восстанавливать список mp3 файлов для прослушивания.

Какое приложение вы разработаете с нуля?

  • MP3 плеер
    Image
     

    Основной функционал MP3 плеера.
    - добавление mp3 файлов
    - сохранение и открытие готового плейлиста
    - управление проигрыванием (стоп, пауза, перемотка, звук)
    - работа с плейлистом: добавление, удаление, перемещение
    - поиск композиций
    и многое другое...

 

Среда разработки

Изначально уроки записаны с использованием IDE NetBeans. Но вы можете открывать их в любой IDE, т.к. это стандартный JavaSE. Нет привязки к фреймворкам или другим ресурсам. Понадобится только подключение jar-библиотек.

К тому же, в NetBeans самый удобный визуальный редактор для Swing.

Feature Image
Feature Image

IntelliJ IDEA

Проекты также можно открывать в IntelliJ IDEA. Можно использовать Community Edition (бесплатная версия). Отличия в от NetBeans - здесь менее удобный редактор Swing.

Об авторе

 

Тимур Батыршинов: 33 года, Java разработчик, опыт более 14 лет, основатель javabegin.ru

Главный тренер. За 7 лет обучил более 46000 человек (онлайн и оффлайн)

Автор более 50 курсов по разным направлениям Java: основы, веб, Android, Spring и многие другие.

 

Отзывы учеников на курсы

Поддержка по вашим вопросам

 

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

Вопросы читателей

Какие нужны начальные знания?

Для создания MP3 плеера - вам понадобятся знания основ Java (синтаксис, коллекции, создание проектов) и обязательно ООП (чтобы код был профессиональным, а не просто работающим).

Все эти темы вы можете пройти в курсе "Профессиональное применение ООП в Java"

Запустится ли курс на MacOS/Linux?

Да, вы сможете работать с любой ОС: Windows, MacOS, Linux и пр. Принципы работы одинаковые: для навигации по урокам вы будете использовать HTML меню, которое работает во всех браузерах.

Каким способом можно оплатить курс?

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

Подробнее можно посмотреть ниже на этой странице.

Сколько времени нужно на изучение курса?

Примерно 1-2 недели, в зависимости от интенсивности. В день уходит в среднем уходит около 2 часов.

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

Как оплатить в другой валюте? (доллары, евро, гривны, тенге и пр.)

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

Если оплачиваете наличными (через банкомат или терминал) - нужно выполнить конвертацию самостоятельно. Подробная инструкция находится в способах оплаты.

Можно купить один комплект, а позже доплатить за другой?

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

Примерно на 30-40% процентов.

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

Куда можно будет задавать вопросы?

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

В какой IDE будем работать?

В данном курсе вы будете работать в NetBeans или IntelliJ IDEA (проекты будут открываться в обоих IDE). Используйте любой удобный вариант.

Буду ли я получать обновления по курсу (бонусные уроки)?

Да. Периодически выходят различные дополнения, связанные с решением недочетов или ошибок, обновляется исходный код. Вся информация будет приходить вам на email.

Можно ли купить курс и начать его изучение позже?

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

В курсе уже есть исходные коды?

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

Можно открывать проекты в другой IDE?

Можно, для этого нужно выполнять "Import вместе с иходными файлами" для соответствующей IDE. Как это правильно делать - смотрите в документации по вашей IDE.

 

Все вопросы также можете задавать в онлайн чате в правом нижнем углу страницы.

 

Стоимость

Исходные коды обновлены: апрель 2019 г.

(посмотреть интерактивную ДЕМО версию курса)

Минимум

  • Видеоуроки
  • Исходные коды
  • Файлы PDF

Стандарт

  • Видеоуроки
  • Исходные коды
  • Файлы PDF
  • Закрытый форум

Расширенный

  • Видеоуроки
  • Исходные коды
  • Файлы PDF
  • Закрытый форум
  • Проверка кода

Все включено

  • Видеоуроки
  • Исходные коды
  • Файлы PDF
  • Закрытый форум
  • Проверка кода
  • 2 скайп сессии

Доступные способы оплаты

Картой VISA, MasterCard (онлайн оплата)

Платежная система Webmoney (онлайн оплата)

Платежная система Яндекс.Деньги (онлайн оплата)

Платежная система QIWI (онлайн оплата или через любой терминал)

Платежная система Paypal (онлайн оплата)

"Сбербанк Онлайн" или "Тинькофф Кредитные системы"(онлайн оплата)

Приват24(онлайн оплата)

Казком или с любой карты Казахстана(онлайн оплата или наличными через банкомат, банк)

Денежные переводы через системы: (наличными через банк)

Салоны связи (наличными)

Любой банкомат "Сбербанка" (наличными)

Безнал. расчёт для физ. и юр. лиц (наличными через банк)

 

P.S. Не нашли подходящий способ оплаты? Напишите нам

 

 

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

"Внешний вид MP3 плеера"