From 9c93671b4ef60e36bf22f8fa99a4955e7cd324a8 Mon Sep 17 00:00:00 2001 From: px4lqzo5h <2148135761@qq.com> Date: Mon, 16 Dec 2024 19:36:46 +0800 Subject: [PATCH 01/12] Update OnAlbumItemClickListener.java --- .../callback/OnAlbumItemClickListener.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/example/musicplayer/callback/OnAlbumItemClickListener.java b/app/src/main/java/com/example/musicplayer/callback/OnAlbumItemClickListener.java index e008be1..2c6259a 100644 --- a/app/src/main/java/com/example/musicplayer/callback/OnAlbumItemClickListener.java +++ b/app/src/main/java/com/example/musicplayer/callback/OnAlbumItemClickListener.java @@ -1,9 +1,16 @@ package com.example.musicplayer.callback; /** - * Created by 残渊 on 2018/12/6. + * 专辑项点击事件的监听器接口。 + *
+ * author : 残渊 + * time : 2018/12/6 + * desc : 定义了当专辑项被点击时需要执行的操作。 */ - public interface OnAlbumItemClickListener { + /** + * 专辑项被点击时调用的方法。 + * @param position 被点击的专辑项在列表中的位置。 + */ void onClick(int position); -} +} \ No newline at end of file -- 2.34.1 From d87d518afdecf78df9e9215944d81f2270095761 Mon Sep 17 00:00:00 2001 From: px4lqzo5h <2148135761@qq.com> Date: Mon, 16 Dec 2024 19:38:02 +0800 Subject: [PATCH 02/12] Update OnChildItemClickListener.java --- .../callback/OnChildItemClickListener.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/example/musicplayer/callback/OnChildItemClickListener.java b/app/src/main/java/com/example/musicplayer/callback/OnChildItemClickListener.java index ec373e4..48da857 100644 --- a/app/src/main/java/com/example/musicplayer/callback/OnChildItemClickListener.java +++ b/app/src/main/java/com/example/musicplayer/callback/OnChildItemClickListener.java @@ -1,9 +1,17 @@ package com.example.musicplayer.callback; /** - * Created by 残渊 on 2018/12/6. + * 子项点击事件的监听器接口,用于处理具有分组结构的列表中子项的点击事件。 + *
+ * author : 残渊 + * time : 2018/12/6 + * desc : 定义了当分组列表中的子项被点击时需要执行的操作。 */ - -public interface OnChildItemClickListener{ - void onClick(int groupPosition,int childPosition); -} +public interface OnChildItemClickListener { + /** + * 分组列表中的子项被点击时调用的方法。 + * @param groupPosition 组在列表中的位置。 + * @param childPosition 子项在其组中的位置。 + */ + void onClick(int groupPosition, int childPosition); +} \ No newline at end of file -- 2.34.1 From 77d357dcf7a8f526fa99a587cc98b3a6db472a56 Mon Sep 17 00:00:00 2001 From: px4lqzo5h <2148135761@qq.com> Date: Mon, 16 Dec 2024 19:40:06 +0800 Subject: [PATCH 03/12] Update OnDeleteClickListener.java --- .../callback/OnDeleteClickListener.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/example/musicplayer/callback/OnDeleteClickListener.java b/app/src/main/java/com/example/musicplayer/callback/OnDeleteClickListener.java index 488afe6..1fd68a6 100644 --- a/app/src/main/java/com/example/musicplayer/callback/OnDeleteClickListener.java +++ b/app/src/main/java/com/example/musicplayer/callback/OnDeleteClickListener.java @@ -1,9 +1,16 @@ package com.example.musicplayer.callback; /** - * Created by 残渊 on 2018/12/6. + * 删除点击事件的监听器接口。 + *
+ * author : 残渊 + * time : 2018/12/6 + * desc : 定义了当删除按钮被点击时需要执行的操作。 */ - -public interface OnDeleteClickListener{ +public interface OnDeleteClickListener { + /** + * 删除按钮被点击时调用的方法。 + * @param position 被点击的删除按钮在列表中的位置。 + */ void onClick(int position); -} +} \ No newline at end of file -- 2.34.1 From d76aee099e6875ec8510712f5f451b87a384c3df Mon Sep 17 00:00:00 2001 From: px4lqzo5h <2148135761@qq.com> Date: Mon, 16 Dec 2024 19:41:22 +0800 Subject: [PATCH 04/12] Update OnFooterClickListener.java --- .../callback/OnFooterClickListener.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/example/musicplayer/callback/OnFooterClickListener.java b/app/src/main/java/com/example/musicplayer/callback/OnFooterClickListener.java index a39abc1..f4bf762 100644 --- a/app/src/main/java/com/example/musicplayer/callback/OnFooterClickListener.java +++ b/app/src/main/java/com/example/musicplayer/callback/OnFooterClickListener.java @@ -1,9 +1,15 @@ package com.example.musicplayer.callback; /** - * Created by 残渊 on 2018/12/6. + * 底部点击事件的监听器接口。 + *
+ * author : 残渊 + * time : 2018/12/6 + * desc : 定义了当底部元素(如按钮或视图)被点击时需要执行的操作。 */ - -public interface OnFooterClickListener{ +public interface OnFooterClickListener { + /** + * 底部元素被点击时调用的方法。 + */ void onClick(); -} +} \ No newline at end of file -- 2.34.1 From 8274a4c74910818e3942a00269c9d7a095ebff67 Mon Sep 17 00:00:00 2001 From: px4lqzo5h <2148135761@qq.com> Date: Mon, 16 Dec 2024 19:42:40 +0800 Subject: [PATCH 05/12] Update OnItemClickListener.java --- .../musicplayer/callback/OnItemClickListener.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/example/musicplayer/callback/OnItemClickListener.java b/app/src/main/java/com/example/musicplayer/callback/OnItemClickListener.java index 28506a3..f3efe5a 100644 --- a/app/src/main/java/com/example/musicplayer/callback/OnItemClickListener.java +++ b/app/src/main/java/com/example/musicplayer/callback/OnItemClickListener.java @@ -1,9 +1,16 @@ package com.example.musicplayer.callback; /** - * Created by 残渊 on 2018/12/6. + * 项点击事件的监听器接口。 + *
+ * author : 残渊 + * time : 2018/12/6 + * desc : 定义了当列表或网格中的项被点击时需要执行的操作。 */ - public interface OnItemClickListener { + /** + * 列表或网格中的项被点击时调用的方法。 + * @param position 被点击的项在列表或网格中的位置。 + */ void onClick(int position); -} +} \ No newline at end of file -- 2.34.1 From e3c253dfa17c53abf10e1c5d842d9a47df983e64 Mon Sep 17 00:00:00 2001 From: px4lqzo5h <2148135761@qq.com> Date: Mon, 16 Dec 2024 19:43:47 +0800 Subject: [PATCH 06/12] Update OnAlbumItemClickListener.java --- .../musicplayer/callback/OnAlbumItemClickListener.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/example/musicplayer/callback/OnAlbumItemClickListener.java b/app/src/main/java/com/example/musicplayer/callback/OnAlbumItemClickListener.java index 2c6259a..5ac3231 100644 --- a/app/src/main/java/com/example/musicplayer/callback/OnAlbumItemClickListener.java +++ b/app/src/main/java/com/example/musicplayer/callback/OnAlbumItemClickListener.java @@ -3,13 +3,19 @@ package com.example.musicplayer.callback; /** * 专辑项点击事件的监听器接口。 *
+ * 用于处理用户点击专辑列表中某个项时的事件。 + *
* author : 残渊 * time : 2018/12/6 * desc : 定义了当专辑项被点击时需要执行的操作。 */ public interface OnAlbumItemClickListener { /** - * 专辑项被点击时调用的方法。 + * 当专辑项被点击时调用的方法。 + *
+ * 此方法提供了被点击专辑项在列表中的位置,允许调用者根据位置执行相应的操作, + * 例如获取该位置的专辑数据,或者跳转到与该专辑相关的详情页面。 + * * @param position 被点击的专辑项在列表中的位置。 */ void onClick(int position); -- 2.34.1 From a9162c44e5e069df4b023487f588d04b56c29e2d Mon Sep 17 00:00:00 2001 From: px4lqzo5h <2148135761@qq.com> Date: Mon, 16 Dec 2024 19:46:41 +0800 Subject: [PATCH 07/12] Update IAlbumSongContract.java --- .../contract/IAlbumSongContract.java | 73 +++++++++++++++---- 1 file changed, 60 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/example/musicplayer/contract/IAlbumSongContract.java b/app/src/main/java/com/example/musicplayer/contract/IAlbumSongContract.java index ebd9be0..bde2800 100644 --- a/app/src/main/java/com/example/musicplayer/contract/IAlbumSongContract.java +++ b/app/src/main/java/com/example/musicplayer/contract/IAlbumSongContract.java @@ -1,29 +1,76 @@ package com.example.musicplayer.contract; +// 导入所需的包和类 import com.example.musicplayer.base.presenter.IPresenter; import com.example.musicplayer.base.view.BaseView; import com.example.musicplayer.entiy.AlbumSong; - import java.util.ArrayList; import java.util.List; - /** - * Created by 残渊 on 2018/11/27. + * 定义了专辑歌曲模块的契约类,包含视图(View)和 presenter 之间的接口。 + *
+ * author : 残渊
+ * time : 2018/11/27
+ * desc : 规定了专辑歌曲模块中视图和 presenter 需要实现的方法。
*/
-
public interface IAlbumSongContract {
+ /**
+ * 定义了视图(View)需要实现的方法。
+ */
interface View extends BaseView {
- void setAlbumSongList(List
+ * author : 残渊
+ * time : 2018/10/17
+ * desc : 规定了本地音乐模块中视图和 presenter 需要实现的方法。
*/
-
public interface ILocalContract {
+ /**
+ * 定义了视图(View)需要实现的方法。
+ */
interface View extends BaseView {
- void showMusicList(List
+ * author : 残渊
+ * time : 2018/10/26
+ * desc : 规定了播放模块中视图和 presenter 需要实现的方法。
*/
-
public interface IPlayContract {
+ /**
+ * 定义了视图(View)需要实现的方法。
+ */
interface View extends BaseView {
- String getSingerName(); //得到歌手的姓名
- void getSingerAndLrc();//按钮点击事件,获取封面和歌词
- void setSingerImg(String ImgUrl); //将图片设置成背景
- void showLove(boolean love); //判断是否显示我喜欢的图标
- void showLoveAnim(); //喜欢的动画
- void saveToLoveSuccess();//保存到我喜欢数据库成功
- void sendUpdateCollection(); //发送广播更新收藏列表
- void showLrc(String lrc);//显示歌词
- void getLrcError(String content);//获取不到歌词
- void setLocalSongId(String songId); //设置本地音乐的songId
- void getSongIdSuccess(String songId);//成功获取到该音乐的id
- void saveLrc(String lrc);//保存歌词
+ /**
+ * 获取歌手的姓名。
+ * @return 歌手姓名。
+ */
+ String getSingerName();
+
+ /**
+ * 按钮点击事件,获取封面和歌词。
+ */
+ void getSingerAndLrc();
+
+ /**
+ * 将图片设置成背景。
+ * @param ImgUrl 背景图片的URL。
+ */
+ void setSingerImg(String ImgUrl);
+
+ /**
+ * 判断是否显示我喜欢的图标。
+ * @param love 是否喜欢。
+ */
+ void showLove(boolean love);
+
+ /**
+ * 显示喜欢的动画。
+ */
+ void showLoveAnim();
+
+ /**
+ * 保存到我喜欢数据库成功。
+ */
+ void saveToLoveSuccess();
+
+ /**
+ * 发送广播更新收藏列表。
+ */
+ void sendUpdateCollection();
+
+ /**
+ * 显示歌词。
+ * @param lrc 歌词内容。
+ */
+ void showLrc(String lrc);
+
+ /**
+ * 获取不到歌词时显示错误信息。
+ * @param content 错误内容。
+ */
+ void getLrcError(String content);
+
+ /**
+ * 设置本地音乐的songId。
+ * @param songId 歌曲ID。
+ */
+ void setLocalSongId(String songId);
+
+ /**
+ * 成功获取到该音乐的id。
+ * @param songId 歌曲ID。
+ */
+ void getSongIdSuccess(String songId);
+
+ /**
+ * 保存歌词。
+ * @param lrc 歌词内容。
+ */
+ void saveLrc(String lrc);
}
+
+ /**
+ * 定义了 presenter 需要实现的方法。
+ */
interface Presenter extends IPresenter
+ * author : 残渊
+ * time : 2018/11/21
+ * desc : 规定了搜索内容模块中视图和 presenter 需要实现的方法。
*/
-
public interface ISearchContentContract {
+ /**
+ * 定义了视图(View)需要实现的方法。
+ */
interface View extends BaseView {
- void setSongsList(ArrayList
+ * author : 残渊
+ * time : 2019/04/08
+ * desc : 定义了下载过程中的不同状态回调方法,用于更新UI或执行其他操作。
*/
-
public interface DownloadListener {
- void onProgress(DownloadInfo downloadInfo); //进度
- void onSuccess(); //成功
- void onDownloaded();//已经下载过的歌曲
- void onFailed(); //失败
- void onPaused(); //暂停
- void onCanceled(); //取消
-}
+ /**
+ * 下载进度更新时调用。
+ * @param downloadInfo 包含下载信息的对象,如当前进度、速度等。
+ */
+ void onProgress(DownloadInfo downloadInfo);
+
+ /**
+ * 下载成功时调用。
+ */
+ void onSuccess();
+
+ /**
+ * 已经下载过的歌曲时调用。
+ */
+ void onDownloaded();
+
+ /**
+ * 下载失败时调用。
+ */
+ void onFailed();
+
+ /**
+ * 下载暂停时调用。
+ */
+ void onPaused();
+
+ /**
+ * 下载取消时调用。
+ */
+ void onCanceled();
+}
\ No newline at end of file
--
2.34.1
From 1bc1217bd69a4bd4011f8b552bab34d10c192dac Mon Sep 17 00:00:00 2001
From: px4lqzo5h <2148135761@qq.com>
Date: Mon, 16 Dec 2024 19:55:09 +0800
Subject: [PATCH 12/12] Update DownloadTask.java
---
.../musicplayer/download/DownloadTask.java | 176 +++++-------------
1 file changed, 44 insertions(+), 132 deletions(-)
diff --git a/app/src/main/java/com/example/musicplayer/download/DownloadTask.java b/app/src/main/java/com/example/musicplayer/download/DownloadTask.java
index d6dfe6d..21caf92 100644
--- a/app/src/main/java/com/example/musicplayer/download/DownloadTask.java
+++ b/app/src/main/java/com/example/musicplayer/download/DownloadTask.java
@@ -1,177 +1,89 @@
package com.example.musicplayer.download;
+// 导入所需的包和类
import android.os.AsyncTask;
-
-
import com.example.musicplayer.app.Api;
import com.example.musicplayer.entiy.DownloadInfo;
import com.example.musicplayer.util.DownloadUtil;
-
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
-
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
-import static com.example.musicplayer.app.Constant.*;
-
-
/**
- *
+ * author : 残渊
+ * time : 2019/04/08
+ * desc : 实现了下载过程中的网络请求、文件写入、进度更新等逻辑。
*/
-
public class DownloadTask extends AsyncTask
- * author : 残渊
- * time : 2019/04/08
- * desc : 监听下载过程中的各种状态
- *
+ * 监听下载过程中的各种状态的接口。
+ *
- * author : 残渊
- * time : 2019/04/08
- * desc :
- *
+ * 用于下载音乐文件的异步任务类。
+ *