Исходный код плагина

Давайте проанализируем код плагина TestPlugin.java

Класс TestPlugin должен реализовывать интерфейс Plugin библиотеки plugin-0.4.0.jar

getPluginName – возвращает название плагина
getPluginVersionCode – возвращает version code, который плагин реализует (взято из Plugin.java), на данный момент это 3
init – действия по инициализации плагина при его загрузке
setPluginIcon – icon.png из jar-файла в виде Object передается при загрузке плагина (не менять)
getPluginIcon – возвращает иконку плагина (не менять)

refresh – скачивает текущий URL и выполняет разбор текста страницы
getNames – возвращает имена видео и папок текущей страницы
getURLs – возвращает URLы видео и папок текущей страницы
getTypes – возвращает типы элементов текущей страницы (файл/папка)
getThumbs – возвращает URLы изображений элементов текущей страницы
isProvideExtraData – возвращает true если плагин возвращает изображения и описания, иначе false
getDescription – возвращает описание для элемента с номером itemNum

nextPage – сохраняет текущий URL в urlsHistory, переходит на следующую страницу, затем refresh. Если refresh неудачный, тогда возвращается к предыдущей странице.
previousPage – перейти к предыдущей странице из urlsHistory, затем refresh
selectItem – перейти по URL если это папка, сохранить текущий URL в urlsHistory, затем refresh
setFileslink – перейти к filesLink. Используется для реализации Избранного. Можно не реализовывать.
getFilesLink – получить filesLink. Используется для реализации Избранного. Можно не реализовывать.

testPlugin – обновить данные текущего URL и вывести полученные данные в терминал
main – используется для локального тестирования плагина без Perfect Player

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

Основной частью плагина является разбор скачанного текста страницы.
Давайте посмотрим на исходный код страницы базовой ссылки: http://niklabs.com/photos-page-1

Метод parsePage используется для “вытаскивания” названий, URLов, описаний для видео и папок, URLов изображений из текста текущей страницы

Если были найдены нужные данные во время разбора, то генерируем массивы: names, urls, types, thumbsURLs, descriptions для передачи их плееру по запросу

Если у Вас есть любые вопросы по созданию плагинов, буду рад ответить:
email: nikman@niklabs.com