Получение данных через интерфейс BiliBili для просмотра видео, аудио и изображений в режиме онлайн, их прослушивания, кэширования и т. д.
package com.leon.biuvideo.values.apis;
public class ApiKeys {
public static final String AMAP_KEY = "AMAP_KEY";
public static final String BAIDU_KEY = "BAIDU_KEY";
}
~~Execution failed for task ':app:compileDebugJavaWithJavac'.
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0~~
2021/04/04 Проект уже загружен на GitHub (https://github.com/LeonNOV/BiuVideo).
2021/04/03
2021/04/02
2021/04/01
2021/03/31
2021/03/30
2021/03/29
2021/03/28
2021/03/27
2021/03/26
2021/03/25
2021/03/14
2021/03/13
2021/03/12
2021/03/11
2021/03/10
2021/03/09
2021/03/08
2021/03/07
2021/03/06
2021/03/05
2021/03/04
SimpleThread.executor(new Runnable() {
@Override
public void run() {
// Do something...
}
});
2021/03/03
2021/03/02
2021/03/01
Часть текста, выделенная курсивом, не переведена, так как содержит технические термины и названия функций, которые не удалось идентифицировать. Показать текст, текст при нажатии, new View.OnClickListener() { @Override public void onClick(View v) { // Сделать что-то... } }, SimpleSnackBar.LENGTH_SHORT).show();
В дальнейшем будут заменены все SnackBar.
**2021/02/10**
Завершена основная часть работы над функцией переключения тем.
*Поскольку функция переключения тем затрагивает множество аспектов, необходимо постепенно улучшать её в будущем.*
Использование формата:
``` java
// Инициализация локального широковещательного приёмника
ThemeColorChangeBroadcastReceiver themeColorChangeBroadcastReceiver = new ThemeColorChangeBroadcastReceiver();
themeColorChangeBroadcastReceiver.initBroadcast(getApplicationContext());
themeColorChangeBroadcastReceiver.setChangeThemeColorListener(new ThemeColorChangeBroadcastReceiver.ChangeThemeColorListener() {
@Override
public void changThemeColor(int position) {
// Изменить текущий макет темы
}
});
На экране настроек добавлена опция «Исходное изображение», основная часть кода ещё не написана.
2021/02/06
Создана ветка V2.1, которая будет сосредоточена на изменениях пользовательского интерфейса и не предполагает значительных изменений в функциональности кода.
Добавлена цветовая тема, а также внесены изменения в некоторые названия цветов.
2021/01/31
Исправлена проблема, из-за которой после успешного входа с помощью SMS или учётных данных не происходил переход на главный экран.
2021/01/30
Изменён способ объединения видеофайлов. Использована библиотека FFmpeg для Android для операций объединения аудио и видео. Из-за большого размера библиотеки SO размер APK увеличился примерно на 5 МБ. Так как это версия для тестирования, она поддерживает только архитектуру arm64-v8a.
Устранена проблема с отображением изображений на странице загрузки.
Исправлены известные ошибки.
2021/01/28
Решена проблема невозможности загрузки VIP-ресурсов.
Исправлен ряд ошибок, связанных с выбором некорректных данных в списках.
Изменено поведение при загрузке видео. Сначала загружаются видео и аудиофайлы. Затем они объединяются, и после завершения объединения исходные файлы удаляются. Файлы для загрузки хранятся в папке Temp. Примечание: при первом запуске все файлы в папке Temp будут удалены.
2021/01/26
Исправлены существующие ошибки.
Исправлена ошибка, связанная с появлением сообщения об отсутствии данных на фоне при повторном поиске.
2021/01/23
Исправлена ошибка, из-за которой импортированные данные пользователей через настройки не отображались в списке подписок.
Изменена версия кода.
2021/01/22
Все места, где можно использовать многопоточность и ленивую загрузку, были заменены.
Модифицирована таблица favoriteUp. Данные пользователей, импортированные через настройки, и данные, импортированные из списка подписок, рассматриваются как данные пользователя. При использовании функции очистки данных пользователя они будут удалены.
Модифицирован код функции подписки.
Считается, что SQLiteHelpFactory не имеет практической ценности, поэтому в будущем он будет удалён.
Проведена очистка кода.
Изменена версия номера: 2.5.8-beta.
Исправлены мелкие проблемы.
Видео и списки воспроизведения сериалов теперь имеют функцию просмотра списка загрузок.
Частично изменены файлы макета.
Добавлен «Быстрый доступ к ссылкам на помощь в выборе закладок».
2021/01/21
Часть методов загрузки данных заменена на многопоточную загрузку, а некоторые фрагменты используют отложенную загрузку.
Функция поиска также была переписана с использованием многопоточной загрузки. Из-за недостатка знаний о многопоточности неясно, требуется ли сбор потоков, но в функции поиска используется метод cancelTask из SimpleThreadPool для отмены уже использованных потоков.
Некоторые функции всё ещё не используют многопоточный способ загрузки, и некоторые фрагменты не перешли на отложенную загрузку.
2021/01/20
Исправлены обнаруженные ошибки.
2021/01/19
Полностью упорядочены ресурсы макета.
Удалены неиспользуемые файлы drawable.
Выполнена частичная очистка Java-кода.
Все Toast заменены на Snackbar. Некоторая часть всё ещё требует замены, и в некоторых случаях есть проблемы с отображением.
Основной этап очистки кода завершён, осталось только устранить ошибки.
2021/01/18
Изменения в таблице localOrders. mainId используется для Video (bvid), Bangumi (mediaId), Music (sid) и Article (articleId). subId используется для Bangumi (seasonId), Music (bvid) и article (mid). json используется для хранения данных, которые используются при переходе к соответствующей активности или для отображения данных.
Базовая функциональность локальных подписок завершена.
Весь проект по-прежнему нуждается в масштабной очистке кода.
Код частично очищен.
Цвета и ресурсы символов также требуют унификации.
Версия V2 находится на завершающей стадии упорядочения.
2021/01/17
Улучшены VideoActivity, BangumiActivity и ArticleActivity.
Таблица article удалена, её заменит localOrders, связанный код ещё не очищен.
В таблице localOrders добавлено поле cover, связанный код ещё не завершён.
2021/01/16
Таблицы videoPlayList и musicPlayList удалены. Они будут заменены таблицами localVideoFolders и localOrders. Когда в VideoActivity выбрано красное сердце, появится диалоговое окно выбора папки для добавления в избранное. Первый запуск приложения добавит папку по умолчанию. Воспроизведение списка изменено на «Локальные подписки», чтобы сохранить любимые видео, аудио и статьи локально. Следующая версия будет включать синхронизацию (сохранённые данные будут выборочно синхронизироваться с данными учётной записи B). Эта функция предназначена не для синхронизации, а для обеспечения максимальной автономности.
Добавлены две таблицы SQLite: localVideoFolders и localOrders.
Эта версия сохранит видео, аудио и избранные статьи в локальном формате. Синхронизация будет включена в следующей версии.
2021/01/15
Ошибка e7d4aa8c исправлена.
Изменён процесс получения данных интерфейса, большинство данных интерфейса должны быть получены через Cookie, все классы Parser, получающие данные интерфейса, должны создаваться через конструктор. Cookie можно получить через ParserUtils-getInterfaceRequestHeader (Context context).
2021/01/14
Исправлено очень серьёзное нарушение.
Добавлена функция загрузки сериалов.
Проблемы, требующие решения: После завершения загрузки медиафайлов не удаётся успешно получить локальное широковещательное сообщение (проблема возникает только на главном экране записей о загрузках, решать её не обязательно). Часть видео не загружается (конкретная причина пока неизвестна). Если видео было загружено ранее, а затем удалено, то при последующей загрузке оно не будет отображаться в списке управления кэшем.
2021/01/12–13
Эти два дня не использовались для обновлений по личным причинам.
2021/01/11
Просмотр сериалов был изменён.
2021/01/10
BangumiActivity полностью доработан. Этот коммит может вызвать исключение NPE, и я не знаю, почему его нужно отправлять, возможно, это сделано для того, чтобы предотвратить прерывание непрерывной отправки ( ̄▽ ̄).
2021/01/09
Добавлена BangumiActivity.
Поскольку B не предоставляет функцию онлайн-воспроизведения сериалов, версия V2 не имеет функции онлайн-воспроизведения, она будет добавлена в следующей версии.
2021/01/08
Поиск сериалов в основном завершён.
Код подвергся поверхностной очистке.
2021/01/07
Добавлены инструменты поиска сериалов.
Ошибки, связанные с HTML-кодом в поисковой выдаче, устранены.
Некоторые коды изменены. 2021/01/03
В MainActivity
при открытии OrderFragment
и последующем входе в систему данные подписки могут не обновляться.
Исправлено несколько известных ошибок.
2021/01/02
Изменён код VideoActivity
. Добавлен диалог выбора кэша для сборников: если количество сборников больше 1, то появляется этот диалог, иначе — только диалог выбора качества.
Отмечено, что интерфейс для одиночного сборника ещё нужно доработать. Добавлена функция скачивания сборников. По умолчанию качество — 1080P. Если выбрано качество, доступное только для премиум-подписчиков, а премиум-аккаунт не авторизован, то скачивается максимальное качество для обычных пользователей. Если качество не выбрано, то по умолчанию скачивается максимально доступное.
При отправке изменений в VideoActivity
может произойти аварийное завершение работы приложения. Завтра будет доработан VideoActivity
, исправление ошибок идёт очень тяжело.
2021/01/01
Текущая версия требует как минимум 2 ГБ оперативной памяти для корректной работы, на устройствах с меньшим объёмом памяти происходит аварийное завершение при переходе к UserActivity
.
Изменена логика загрузки видео- и аудиофайлов.
2020/12/31
Добавлен атрибут resourceMark
в метод downloadDetailsForMedia
. Атрибут уникален и используется для идентификации уже скачанных медиаресурсов. Формат атрибута:
— для видео: subId
+ «-» + qualityId
;
— для аудио: mainId
.
2020/12/30
Добавлены список неудачных загрузок и функция повторной загрузки.
Получение данных нужно оптимизировать, чтобы избежать исключений NetworkOnMainThreadException
.
2020/12/29
Реализована функция автономного кэширования. Изменены некоторые макеты.
2020/12/28
Исправлены проблемы с автономным кэшированием. Функция автономного кэширования почти готова, динамическая загрузка из кэша через Broadcast пока не реализована. Исправлена ситуация, когда при открытии уже скачанного аудиофайла происходило аварийное завершение.
2020/12/27
Изначально планировалось реализовать функцию списка задач для скачивания, но автор считает себя недостаточно опытным и отказывается от этой идеи. Автономное кэширование почти готово, осталось настроить качество видео.
Функция добавления в избранное и нажатие на аватарку пользователя в специальном разделе неожиданно приводят к ошибкам, требуется доработка.
2020/12/26
Работа над ошибками.
2020/12/25
Подготовка к работе.
2020/12/24
Завершена работа над OrderFragment
, который позволяет получить доступ к контенту по подписке. Для использования фрагмента необходимо убедиться, что настройки конфиденциальности позволяют делиться контентом. Вход в аккаунт необходим, если настройки конфиденциальности закрыты.
Есть нерешённые проблемы, ведётся поиск причин. Проблема с 5b7d840d
решена.
2020/12/15–22
Нет обновлений из-за учёбы.
2020/12/14
Добавлен OrderFragment
, позволяющий получать контент по подписке. При использовании фрагмента необходимо разрешить общий доступ в настройках конфиденциальности. В противном случае потребуется войти в аккаунт.
Проблема с текущей версией пока не решена, ведётся анализ. Проблема с версией 5b7d840d
устранена.
2020/12/13
Без прогресса.
2020/12/12
Почти готов HistoryFragment
. Ошибки не обнаружены.
Данные загружаются сразу для всех страниц, поэтому требуется время для их отображения. Оптимизация процесса загрузки данных необходима.
Следует учесть, что создание фрагментов и адаптеров для истории основано на типе истории (HistoryType
).
Просмотр прямых трансляций пока не реализован, эта функция появится в третьей версии.
2020/12/11
Только добавлен запрос истории просмотров видео, код требует оптимизации.
2020/12/10
Создан VideoHistoryFragment
, но функциональность фрагмента не завершена.
Можно отдохнуть, следующая версия выйдет через неделю.
2020/12/09
Создана базовая основа для фрагментов (BaseFragment
), которая упрощает создание и использование фрагментов. Исправлена проблема с методом onHiddenChanged()
в HomeFragment
. Проведена реорганизация четырёх основных фрагментов на главной странице. Добавлен интерфейс для доступа к истории просмотра.
На главной странице добавлен HistoryFragment
, однако отображение данных в ViewPager
ещё не реализовано.
2020/12/08
Добавлен экран входа (LoginActivity
), который позволяет пользователям входить в приложение.
Процесс входа и выхода пользователей почти завершён, необходима оптимизация.
Боковая панель была изменена: меню в верхней части основной активности было перемещено на боковую панель.
Преобразование PreferenceActivity
во фрагмент пока не выполнено.
2020/12/07
Версия V2 основана на версии 1.1.3-beta
. Разработка версии V2 будет вестись отдельно от ветки master
, обновления будут публиковаться только в ветке V2
. Версия V2 включает следующие функции:
— вход и выход пользователей;
— просмотр контента онлайн и автономное кэширование;
— скачивание;
— боковая панель обновлена.
2020/12/06
Прогресса нет.
2020/12/05
Забыл добавить ссылку на проект [😓].
Ссылка на GitHub временно недоступна, возможно, она будет опубликована позже (на самом деле, загрузка с GitHub слишком медленная, и автор не хочет тратить время на это).
2020/12/04
Исправлено аварийное завершение приложения при переходе в профиль неактивного пользователя.
Обновлён номер версии: номер версии будет увеличиваться только после выпуска первой официальной версии (build.gradle
). Номера версий в build.gradle
и version.xml
должны совпадать.
Добавлена ссылка «Помощь».
Исправлена ошибка при переключении песен в MusicActivity
.
Номер версии изменён на 1.1.2-beta
.
Исправлены ошибки, связанные со скачиванием видео и качеством видео.
Решены проблемы безопасности, обнаруженные Tencent Cloud Security Scanner. Некоторые уязвимости связаны с использованием сторонних компонентов, и все они имеют низкий уровень риска. Автор сомневается, что кто-то будет использовать эти уязвимости для злонамеренных действий.
Атрибут allowBackup
в AndroidManifest.xml
теперь имеет значение false
. Решение о том, следует ли включить его в будущем, будет принято на основе отзывов пользователей.
Номер версии изменён на 1.1.3-beta
.
2020/12/03
Диалог «О приложении» добавлен в PreferenceActivity
. Выпущена официальная версия V1.0. Текущая версия почти завершена, степень готовности близка к 100%. Проект открыт для сообщества.
Документация по проекту пока не завершена на 100%, но будет доступна на некоторых платформах приложений после завершения.
2020/12/02
Устранены некоторые ошибки.
Поскольку получение данных происходит в основном потоке, эта проблема пока не решается, но будет рассмотрена в будущем.
Порядок списка подписок и порядок получения локальных данных пока не решены.
Добавлено предпочтение для сортировки списка подписок по порядку доступа. Эта функция уже реализована.
Ошибка с отображением ImportStateDialog
исправлена.
2020/12/01
Код частично переработан.
Благодарности добавлены. В будущем достаточно будет добавить элементы в массив ThanksList
в пакете values
.
Лицензия открытого исходного кода изменена.
2020/11/30
Часть кода в пакете parseDataUtils
очищена и переработана.
Названия частично изменены.
Настройка Hero добавлена в PreferenceActivity
. Настройка Hero уже реализована. Последующие добавления героев потребуют добавления их идентификаторов в HeroImages.heroImages
и имён в массиве heroNames
в файле preference_strings.xml
. Идентификаторы и имена должны быть синхронизированы, иначе ресурсы будут отображаться в неправильном порядке.
CoordinatorLayout
используется в activity_user
и activity_search_result
для реализации эффекта сворачивания и всплытия.
Логотип изменён. Логотип на боковой панели пока не обновлён. Текст запроса:
setLocation(int location) в соответствии с необходимостью устанавливает:
более подробные инструкции можно найти в комментариях к соответствующему методу;
теперь все всплывающие окна типа more используют RoundPopupWindow для создания;
добавлено уведомление об отсутствии сети, но использование немного хлопотно, оптимизация будет проведена позже;
вызывается статический метод checkNetwork() из класса InternetUtils;
false означает отсутствие сети, true — наличие сети;
чтобы изменить сообщение подсказки, нужно только изменить string.xml и изменить network_sign;
был изменён способ получения данных в четырёх фрагментах пользовательского интерфейса, сначала необходимо получить общее количество, а затем конкретные данные;
Не решённые проблемы:
во фрагменте всё ещё есть избыточный код, parseDataUtils пакет также содержит много избыточного кода;
при просмотре данных в пользовательском интерфейсе, если скорость прокрутки слишком высокая, приложение может легко аварийно завершить работу.
2020/11/28
было изменено местоположение всплывающего окна;
добавлен абстрактный класс RoundPopupWindow, который может создать всплывающее окно с закруглёнными углами;
— но расположение отображения ещё не настроено.
2020/11/27
большая часть кода макета и Java была изменена;
отказались от количества прослушиваний, комментариев и т. д. в интерфейсе воспроизведения музыки, оставив только добавление в список воспроизведения, видео, соответствующее музыке, переход на исходный веб-сайт и кэширование, а также верхнюю часть для открытия списка воспроизведения;
одновременно были изменены позиции отображения имени песни и имени автора в интерфейсе музыкального воспроизведения;
нажатие на имя автора также может перейти на главную страницу автора;
в этом обновлении используется большое количество закруглённых углов;
расположение всех меню всплывающих окон всё ещё требует настройки.
2020/11/26
проблема избыточности пока не может быть устранена по техническим причинам;
код интерфейса поиска был изменён;
добавлены элементы управления именем и изображением автора в ArticleActivity;
интерфейс metas был добавлен.
2020/11/25
проблема отсутствия данных при двойном поиске в основном решена, если адаптер поиска не создан, данные всё равно не могут отображаться;
часть кода VideoResultFragment была изменена, но ещё не отлажена;
функция поиска полностью завершена, ошибок пока нет;
поиск фрагментов всё ещё имеет избыточность кода, которая должна быть очищена.
2020/11/24
некоторые интерфейсы были изменены, SearchResultActivity всё ещё не может искать по ключевым словам;
SearchResultActivity был частично изменён;
некоторый код был изменён, двойной поиск, загрузка данных фрагмента всё ещё имеет проблемы, переключение фрагментов приводит к частой генерации фрагментов;
выполнение двойного поиска, загрузка данных фрагментов по-прежнему имеет проблемы;
однако в SearchResultActivity метод setOffscreenPageLimit() был добавлен для решения проблемы уничтожения фрагментов, которые не находятся в диапазоне загрузки при переключении фрагментов (но использование этого метода кажется немного неуместным).
2020/11/23
дошёл до VideoResultFragment;
добавил функцию загрузки дополнительных данных в VideoResultFragment;
функции поиска завершены, но большая часть кода всё ещё избыточна;
стиль spinner в HomeFragment был изменён.
2020/11/22
HomeFragment был изменён на комплексный поиск, результаты поиска включают видео, колонки и пользователей;
добавлена SearchResultActivity, эта активность является страницей результатов поиска;
— дизайн SearchResultActivity ещё не завершён;
2020/11/21
2020/11/20
лицензия добавлена;
LicenseDialog добавлен;
все функции PreferenceActivity завершены;
обратная связь ещё не обработана;
размер некоторых значков был изменён;
часть макета была изменена;
ненужные значки были удалены.
2020/11/19
AboutDialog был изменён в коде интерфейса;
возможность импорта внешних данных была добавлена в PreferenceActivity;
ImportFollowDialog завершён.
2020/11/18
MainActivity popupWindow item был изменён и добавлен PreferenceActivity;
очистка кеша была добавлена;
ImportFollowDialog наполовину завершён... слишком устал...
2020/11/17
2020/11/16
ошибка не исправлена, тип sids должен быть заменён на List;
UpSongActivity ошибка исправлена, все адаптеры RecyclerView оптимизированы;
структура каталогов utils была изменена.
2020/11/15
избыточность всех адаптеров в основном переписана;
внимание: при создании адаптера используйте следующий формат:
public class Adapter extends BaseAdapter<MusicPlayList> {
@Override
public int getLayout(int viewType) {
return itemID;
}
@Override
public void onBindViewHolder(@NonNull BaseViewHolder holder, int position) {
//вызов методов держателя, см. комментарии к коду
}
//другие методы
}
2020/11/14
способ получения данных ответа интерфейса был изменён:
получение данных интерфейса:
public HttpUtils(String url, Headers headers, Map<String, String> params) {
this.url = url;
this.headers = headers;
this.params = params;
}
public HttpUtils(String url, Map<String, String> params) {
this.url = url;
this.params = params;
this.headers = Headers.of(getHeaders());
}
подключение SQLite было изменено:
создание соединения с данными должно осуществляться через создание класса SQLiteHelperFactory, в конструкторе передаются только Context и соответствующие таблицы, вызов метода getInstance() для получения объекта, требуется принудительное преобразование;
после использования базы данных необходимо вызвать метод close() в соответствующем Destroy, чтобы закрыть базу данных, необходимо вызвать этот метод после использования базы данных.
все адаптеры (Adapter) всё ещё имеют избыточный код.
2020/11/13
следующие два пункта предварительно определены:
логотип добавлен;
изображение заголовка боковой панели было изменено;
исправлены проблемы с обновлением списка подписок и списка воспроизведения после подписки на пользователя, сохранения видео или песни;
первая проблема входа в систему после подписки на пользователя, сохранения видео или песни была исправлена. По поводу части кнопок добавлен эффект ripple.
По поводу большинства элементов управления добавлен эффект ripple. RecyclerView — эффект ripple для элемента списка пока не добавлен.
Сокращён некоторый избыточный код.
Исправлена проблема с отображением значка видео в musicPlayList.
Исправлены проблемы с отображением закруглённых углов обложки в videoPlayList.
Для всех элементов списка (item) добавлен эффект ripple.
Исправлено: все данные загружены, но обновление элементов управления всё ещё активно.
Частично исправлены проблемы. Просмотр интерфейса picture пока не добавлен.
2020/11/09
Изменён стиль VideoActivity и способ выбора чёткости видео.
Исправлен случай, когда при загрузке видео выбор чёткости был неполным или избыточным.
Исправлено отображение имени пользователя и описания на странице подписки.
Изменена логика получения ответа в VideoActivity. Если в AndroidManifest в теме MainActivity используется more_menu_style, то стиль spinner рядом с полем ввода будет нарушен.
Главное меню «ещё» требует доработки. Главное меню было доработано, но выглядит несколько некрасиво.
Обратите внимание, если в AndroidManifest в теме MainActivity используется more_menu_style, то ввод текста рядом со spinner будет нарушен.
2020/11/08
Функция сохранения статьи в виде длинного изображения уже реализована.
Исправлена проблема, из-за которой нижняя часть VideoActivity была окрашена не полностью.
Интерфейс VideoActivity требует доработки.
2020/11/07
Добавлена Activity статьи. В пользовательском интерфейсе появился список статей. Список статей и Activity ещё не завершены.
2020/11/06
Проведено тестирование веб-страницы.
2020/11/05
Нет прогресса.
2020/11/04
Добавлен сценарий JavaScript для удаления элементов веб-страниц в контексте «столбца». Удаление элемента div в столбце не решило проблему.
2020/11/03
Добавлен интерфейс страницы столбца Activity, соответствующий фрагмент в пользовательском интерфейсе ещё не добавлен. Проведено тестирование веб-страницы.
2020/11/02
Проблема с тенью фрагмента решена. Исправлены некоторые мелкие проблемы, представление viewPage в списке не имеет прослушивателя событий. Получение разрешений всё ещё требует доработки, проблема с тенями ещё не решена. Получение разрешений завершено. Код был очищен, но всё ещё существует избыточность кода. Класс MediaUtils содержит метод getHeaders(), который является избыточной частью, этот метод должен быть очищен. После перехода от «коллекции» к «плейлисту» над плейлистом появится тень. Видео в плейлисте имеют разные цвета значков. Не буду делать это, сделаю это вечером... Добавлена функция кэширования изображений, очистка кода выполнена. Каждый раз, когда происходит кэширование, вызывается метод verifyPermissions класса FileUtils для получения разрешений, а обратный вызов выполняется в каждом соответствующем Activity.
2020/11/01
Без прогресса.
2020/10/31
На боковой панели добавлена функция «плейлист». В плейлисте добавлены два интерфейса: видеоплейлист и аудиоплейлист. На боковой панели всё ещё есть проблема с тенью фрагментов. В аудио и видео плейлистах нет идеального способа скрыть подсказку «нет данных».
2020/10/30
Функциональность переключения музыки завершена, Fragment плейлиста ожидает добавления. Возможно, на других моделях всё ещё существуют проблемы. Если песня воспроизводится после первого запуска, анимация и кнопки управления могут оставаться неизменными. Проблема может быть решена путём изменения значения переменной differenceRange в MusicService. Исправлена первая проблема: после воспроизведения целой песни, выхода и повторного входа, песня не может быть воспроизведена.
2020/10/29
Обновление плейлиста решено. Переключение песен и переключение на песни в плейлисте завершены. При переключении на другую песню, а затем нажатии «Добавить в плейлист», «красное сердце» всё ещё присутствует. После переключения песен состояние кнопки воспроизведения и анимация на физическом устройстве остаются прежними, кнопка находится в состоянии паузы.
2020/10/28
Сервис добавлен, но регистрация сервиса всё ещё не работает! Сервис решён, музыка может быть воспроизведена, но музыка останавливается, когда музыкальный интерфейс покидает; проблема с сохранением музыки не решена. Музыка воспроизводится нормально, после добавления в плейлист, плейлист не обновляется вовремя. Воспроизведение предыдущей / следующей песни и отображение текста песни ещё не реализованы.
2020/10/27
Контрольный список Favorite необходимо изменить на RecyclerView (до сих пор все контрольные списки были RecyclerView). Изменение должно быть сделано завтра, ListView слишком плох. Контрольный список Favorite изменён. Добавлен интерфейс плейлиста, анимация добавлена в диалог. Некоторые стили закруглённых углов элементов управления были изменены. Сервис был добавлен, но сервис всё ещё не зарегистрирован! Аудиоинтерфейс и получение данных завершены, мониторинг FavoriteFragment ещё не завершён. «Наконец-то» вспомнил добавить README.
2020/10/26
Кэширование видео завершено, все герои были заменены на файлы типа Vector.
2020/10/25
Использование боковой панели для переключения Fragment перекрытие было исправлено, добавлены способы получения bvid и mid, добавлено получение сетевого статуса, и некоторые детали были оптимизированы. Кэширование видео завершено, все герои были заменены на файлы типа Vector.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )