简易音乐
文章平均质量分 86
SpringBoot+AndroidStudio+Mysql实现个人简易App登录注册(邮箱注册、手机号注册)、自动更新等。后期会有新功能学习引用
雪の星空朝酱
记录平时点点滴滴的技术旅程
展开
-
Android简易音乐重构MVVM Java版-github开源+功能介绍(二十三)
关于涉及框架、三方lib等手机登录及token刷新登录主界面发现轮播图跳转每日推荐推荐歌单、雷达歌单等各种歌单列表界面look直播歌曲播放界面音乐通知栏我的界面关注。原创 2022-08-26 01:27:27 · 1881 阅读 · 7 评论 -
Android简易音乐重构MVVM Java版-使用DiffUtil解决recycleView整体数据刷新性能问题(二十二)
现在可以把这个datalist删掉了,然后LikeAdapter的构造器里面会有提示添加listadapter的容器。DiffUtil会使用差异算法自动帮我们判断是局部刷新还是整体刷新。这些都要给它解决掉,然后就涉及到了recycleView之前直接简单的。接下来,我们定义likeItemCallback继承。因为最近项目原因,一些以前为了解决黄色警告的。,里面还可以找到我的github主页,欢迎来访。我们需要把项目中的涉及到的地方全部替换即可。如果recycleView有设置。本人博客现在同步搬家到了。.原创 2022-08-18 11:18:10 · 556 阅读 · 0 评论 -
Android简易音乐重构MVVM Java版-解决播放界面旋转动画卡顿及播放异常崩溃问题(二十一)
本篇主要解决播放界面歌曲封面旋转不平滑问题及、部分歌曲需要在失败后调用获取音乐来源重新播放并添加进播放队列中,以及解决部分歌曲封面加载导致背景过亮看不清其余东西。ps(最近工作上比较忙,简易音乐的功能开发及博客项目编写更新频率会降低。修改CurrentSongPlayActivity。本篇文章到此结束,有问题欢迎批评指正。......原创 2022-08-09 09:24:28 · 698 阅读 · 0 评论 -
Android简易音乐重构MVVM Java版-使用Navigation导航组件重构主界面及其他页面跳转(二十)
本篇主要重构主界面,使用Navigation实现页面路由跳转,关于navigation介绍参考谷歌开发者平台简易音乐app仅作为学习用,禁止用于商业及非法用途,如产生法律纠纷与本人无关 首先添加navigation导航组件引用: 右键点击 res 目录,然后依次选择 New > Android Resource File。此时系统会显示 New Resource File 对话框。然后在 File name 字段中输入名称,例如“nav_graph”,最后从 Resource type 下拉列表原创 2022-08-01 10:28:48 · 652 阅读 · 0 评论 -
Android简易音乐重构MVVM Java版-新增我喜欢的歌单展示+底部bar点击跳转播放功能(十九)
新增底部bar初始化原创 2022-07-28 20:26:51 · 569 阅读 · 0 评论 -
Android简易音乐重构MVVM Java版-新增推荐、雷达歌单详情列表界面(十八)
本篇主要实现首页发现中推荐歌单和雷达歌单的点击跳转歌单列表界面和播放功能。简易音乐app仅作为学习用,禁止用于商业及非法用途,如产生法律纠纷与本人无关。本篇到此结束了,有问题欢迎批评指正,觉得不错的也请点个赞。...原创 2022-07-26 09:25:52 · 433 阅读 · 0 评论 -
Android简易音乐重构MVVM Java版-新增歌曲播放界面+状态栏黑科技(十七)
本篇主要实现播放界面包括,歌曲暂停、播放下一首、上一首、播放模式、歌词展示,实现根据歌曲背景深浅实现状态栏文字、标题文字黑白切换适配。音乐播放封装使用《开源库MusicPlayManager - 封装StarrySky音乐库》 新增 新增:增加歌词view 修改: 添加行歌词实体类:修改ApiService 新增歌词实体类LyricEntity添加引用添加SongPlayViewModel修改CurrentSongPlayActivity.java修改Consta原创 2022-07-22 14:41:06 · 1424 阅读 · 0 评论 -
Android简易音乐重构MVVM Java版-新增首页最近播放歌曲展示及底部音乐bar+日推功能(十六)
本篇主要实现底部展示最近最后听的一首歌信息bar以及日推歌曲列表界面。本篇文章里面用到的资源文件图片也可以使用自己的。 修改:添加RecentSongInfoEntity实体类修改MainViewModel新增底部音乐bar:修改MainActivity添加:添加:添加日推界面 新增:新增修改日推界面DailySongsActivity添加DailySongsViewModel.java添加日推歌单适配器DailySongsAdapter本篇到此就结束了,下原创 2022-07-18 22:56:53 · 831 阅读 · 0 评论 -
开源库MusicPlayManager - 封装StarrySky音乐库
这是我最近重构简易音乐的时候看了一下StarrySky的使用,19年还是00年那会就想着要基于StarrySky做一个单例一样的管理类,后面不了了之了,现在因为重构项目,想着可以基于StarrySky来做一个用户几乎不需要改动的封装,来实现自定义音乐通知栏、只需要输入一个target页面来接收页面跳转即可,用户可以在使用之前再进行初始化。MusicPlayManager提供音乐播放封装、自定义通知栏及圆角、日志功能、权限申请、无入侵获取上下文以及防恶意点击等。项目的build里添加如下。......原创 2022-07-16 00:41:40 · 937 阅读 · 0 评论 -
Android简易音乐重构MVVM Java版-新增轮播图网页链接跳转展示(十五)
本篇主要讲述轮播图跳转web网页及个人新版webviewLib使用。 添加webview引用: 该lib使用详情参考《WebLoading开源库,支持https访问》 添加修改WebActivity 修改修改DiscoverFragment新增BindingAdapter 新增BindingAdapter用来databinding中页面的自定义加载:修改MgcAdapter与LookAdapter下一篇主要介绍封装的MusicPlay播放功能。...原创 2022-07-14 11:29:48 · 365 阅读 · 0 评论 -
Android简易音乐重构MVVM Java版-新增looklive+用户vip等级动画展示(十四)
本篇主要实现新增look live列表展示、加载网易云会员动态等级效果。新增LookLiveEntity实体类修改DiscoverFragment布局修改DiscoverFragment修改DiscoverFragmentViewModel新增本地html()新增文件assets/web/vip.html:对应网页vip效果如下:修改fragment_mine.xml新增UserInfoUi修改MainViewModel新增MineFragmentViewModel(原创 2022-07-11 20:30:01 · 226 阅读 · 0 评论 -
Android简易音乐重构MVVM Java版-新增推荐雷达歌单及重构首页(十三)
本篇主要介绍引用首页发现api来替换首页轮播何推荐歌单以及新增雷达歌单(根据登陆用户推荐)、实现discoverfragment上下滑动效果。 添加首页发现api 项目结构:添加BannerExtInfoEntity(新banner的实体类)添加ScrollView实现上下滑动 修改:新增DiscoverFragmentViewModel修改DiscoverFragment布局修改DiscoverFragment.java修改RecommendAdapter适配器新原创 2022-07-08 09:16:55 · 195 阅读 · 0 评论 -
Android简易音乐重构MVVM Java版-新增推荐菜单及侧边栏展示(十二)
本篇主要实现主界面新增推荐歌单展示及侧滑栏菜单。 修改: 新增: 新增:添加推荐歌单 修改,添加请求推荐歌单: 修改ApiService,添加推荐歌单api: 添加MainRecommendListBean实体类(后续轮播图和推荐歌单都要重构,暂时先用以前的代码):新增RecommendAdapter适配器 添加布局: 新增:修改DiscoverFragment.java 本篇到此结束,有问题欢迎批评指正,觉得不错也请点个赞谢谢。...原创 2022-07-05 23:58:10 · 300 阅读 · 0 评论 -
Android简易音乐重构MVVM Java版-BottomNavigationView+viewpager主界面结构(十一)
本篇主要记录新增discoverFragment(发现界面)及banner展示、以及使用lombok替代冗余的get、set方法等。 参考《Android使用GsomFormatPlus+Lombok简化定义实体类》 修改Login的实体类: 然后删除对应的Login_bean实体类,替换一下其他使用到的地方即可。 修改moudle的build文件新增cookie引用:新增 ApplicationContextProvider 然后再androidmanifest.xml的appli原创 2022-07-01 00:15:48 · 532 阅读 · 0 评论 -
Android简易音乐重构MVVM Java版-LiveData+用户登录+http模块(十)
本篇内容主要是http模块(retrofit+okhttp3)重构,以及登录页面的重构。 app启动图标在上篇放出的百度网盘链接里面有对应图片。 结构图如下:添加RetrofitUtils请求网络api添加RXHelper用于线程切换添加RxExceptionUtil网络异常处理类拦截器LogInterceptor打印请求和返回日志添加GeneratedAppGlideModule定义LoginUi绑定用户账号密码新增LoginViewModel新增页面login页面原创 2022-06-28 09:35:18 · 569 阅读 · 2 评论 -
Android简易音乐重构MVVM Java版-新增启动动画(九)
本篇内容主要是启动动画和登录页面的重构。添加dimens.xml 在values/下新增:修改strings.xml添加splash主题添加部分实体类添加SharePreferencesUtil帮助类添加Constant常量添加activity_splash.xml添加splash图标 图片资源链接:https://pan.baidu.com/s/1l249MNrqRSyPq9Om_2aUgw提取码:1234添加添加修改Androidmanifest.x原创 2022-06-25 17:08:30 · 1044 阅读 · 0 评论 -
Android简易音乐重构MVVM Java版 -搭建项目(八)
本篇主要介绍,简易音乐重构,去掉butterkinfe,去掉mvp,精简代码优化逻辑,使用viewbinding和databinding,升级项目版本工程版本,升级引用等等,但是最终我还是没有使用kotlin去重构这个项目,我是很想用kotlin写的,不管是出于个人目前对kotlin的热爱还是google对kotlin的支持,但是看起来目前对我这个moudle感兴趣的人用java的多点,所以这个项目目前还是用java去写,废话到此结束。 Android studio 2021.2.1 Patch 1截原创 2022-06-25 02:23:13 · 1038 阅读 · 11 评论 -
Android使用GsomFormatPlus+Lombok简化定义实体类
因为最近在重构简易音乐项目的java版本,所以难免碰到定义许多实体类,且字段不少的情况,总不能手写吧,所以用插件生成是最简便的,但是每个字段都对应set、get方法以至于一个实体类代码行数达到了600+,如下图: 这肯定不行啊,于是就用到了Lombok插件,当然了也要在moudle的build里面添加引用,最后同样的实体类使用后代码行数锐减如下: 首先我们要去Android studio的settings/plugins: 装好之后,我们点击apply and ok,此时我们需要一个自己准原创 2022-06-23 22:00:17 · 1111 阅读 · 1 评论 -
新增轮播图跳转web页面、轮播、推荐歌单数据存储( 简易音乐 七)
新增轮播图跳转web页面、轮播、推荐歌单数据存储( 简易音乐 七)关于效果图第一步,添加引用新增数据库实体类修改fragment代码新增WebActivity页面加载网页关于 本篇主要使用到了腾讯x5 浏览器webview与litepal操作sqlite存储数据至本地。上一篇新增我的推荐歌单、通过ViewPager2+RadioGroup重构主界面( 简易音乐 六)效果图第一步,添加引用 添加litepal引用://sqlite数据库 implementation 'org.li原创 2021-07-13 17:09:34 · 497 阅读 · 0 评论 -
新增我的推荐歌单、通过ViewPager2+RadioGroup重构主界面( 简易音乐 六)
新增我的推荐歌单、通过ViewPager2+RadioGroup重构主界面( 简易音乐 六)关于效果关于 在本篇开始之前,我发现之前以为的在fragment中使用轮播图在切换的过程中会导致重新加载banner的问题,其实是因为我使用的开启事务里面的replace方法调用了remove,导致碎片被移除,自然就banner也销毁了。 本想着主界面代码简洁一点,经过这次重构,主界面代码增加了一部分,但是还好,我们现在看下运行效果。效果 因为我用的一个工具网站视频转GIF(免费),只支持15秒及以内原创 2021-07-05 18:23:27 · 636 阅读 · 0 评论 -
主界面绘制、加载轮播图、减少apk体积( 简易音乐 五)
主界面绘制、加载轮播图、减少apk体积( 简易音乐 五)关于关于原创 2021-06-28 16:54:00 · 746 阅读 · 2 评论 -
解决使用GsonFromat插件生成实体类后造成的一个bug
解决使用GsonFromat插件生成实体类后造成的一个bug关于关于 本篇也是简易音乐系列文章之一,上午的时候轮播图加载网易云音乐接口还能正常使用,下午想记录的时候程序一直提示系统繁忙,请稍后再试,但是我看console里面是获取到了banner数据,后来打印这个异常内容,提示如下:com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: Expected an int but was 2489379705 at l原创 2021-06-26 13:37:01 · 306 阅读 · 0 评论 -
Android三方框架banner实现轮播图
Android三方框架banner实现轮播图关于效果图第一步,添加引用第二步,新增实体类及测试数据第三步,添加banner实例控件,修改主界面代码自定义图片+标题轮播图效果图你以为到这里就结束了??关于 本篇使用的是基于viewpager2的一个开源banner,性能、生命周期都有保障,就是有一点小的功能需要我们自己去修改。本篇也是作为简易音乐博客系列之一。效果图第一步,添加引用 在工程build下添加仓库maven:allprojects { repositories {原创 2021-06-24 12:47:45 · 5304 阅读 · 7 评论 -
修改登录判断以及数据保存( 简易音乐 四)
修改登录判断以及数据保存( 简易音乐 四)关于效果图第一步,添加请求失败处理共同方法新增用户信息文件存储修改`LoginActivity.java`关于 本篇主要是解决上一篇的登录接口返回判断(服务异常判断、无网络判断、账号信息判断以及用户信息的文件存储等)效果图 断网下登录效果: 成功登录效果: 成功登陆后再次登录效果:第一步,添加请求失败处理共同方法 修改StaticMethodUtils.java(静态方法帮助类),因为增加了几个方法就直接全部贴上去吧: public原创 2021-06-24 09:16:17 · 603 阅读 · 1 评论 -
Android使用.webp替换.jpeg与.png格式图片减少图片大小
Android使用.webp替换.jpeg与.png格式图片减少图片大小关于使用android studio关于 WebP是一种支持有损压缩和无损压缩的图片文件格式,派生自图像编码格式 VP8。根据 Google 的测试,无损压缩后的 WebP 比 PNG 文件少了 45% 的文件大小,即使这些 PNG 文件经过其他压缩工具压缩之后,WebP 还是可以减少 28%的文件大小。 之前就知道了webp,但是一直没去关注,然后最近写项目的时候加入了一个登录界面的背景图,好家伙385kb,要是多来几张这样原创 2021-06-23 18:22:11 · 1043 阅读 · 3 评论 -
Retrofit+okhtp3实现登录功能( 简易音乐 三 )
Retrofit+okhtp3实现登录功能( 简易音乐 三 )关于效果图第一步,新增ARouter使用第二步,编写Retrofit+okhttp3网络请求框架关于 本篇主要是搭建网络请求框架、使用ARouter(路由)跳转activity,编写登录功能。效果图 因为涉及到个人隐私手机号,就没输入,后面你可以自己输入测试一下。 项目目前结构图:第一步,新增ARouter使用 添加项目build引用,添加javaCompileOptions defaultConfig {原创 2021-06-18 23:45:43 · 1151 阅读 · 0 评论 -
解决部分android手机页面跳转的黑白屏、闪屏、显示桌面背景问题
解决部分android手机页面跳转的黑白屏、闪屏、显示桌面背景问题关于关于 今天在查看登录页面美观度的时候意外发现手上的oppo手机在页面跳转的时候会有明显的显示桌面背景的问题,先看一下有问题的页面跳转:当然了,黑白屏的问题在本文一开始就解决了: <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">原创 2021-06-16 11:50:16 · 2213 阅读 · 1 评论 -
Android使用Rxlifecycle解决RxJava内存泄漏
Android使用Rxlifecycle解决RxJava内存泄漏关于第一步,添加rxlifecycle引用使用关于 之前在写Retrofit+okhttp3请求网络的时候因为是异步请求所以因为异常销毁Activity/Fragment都容易造成内存泄露,这里记录一下通过rxlifecycle,作者项目地址。第一步,添加rxlifecycle引用 //rx生命周期 implementation 'com.trello:rxlifecycle:1.0' implementation '原创 2021-06-15 11:14:03 · 261 阅读 · 1 评论 -
Android音乐App开发准备( 简易音乐 二 )
Android音乐App开发准备( 简易音乐 二 )原创 2021-06-13 16:18:24 · 1714 阅读 · 5 评论 -
Android音乐App开发准备( 简易音乐 一 )
Android音乐App开发准备( 简易音乐 一 )关于第一步,获取音乐来源第二步,开发环境第三步,引用三方第四步,添加唯一进程App.java关于 年前学习网易云因为app,想着学习网易云app的界面以及功能开发。年前那会刚毕业没多久,技术能力一般,项目就只是用了mvp框架,用了很多第三方。然后最近拿来在原来基础上进行完善顺便学习一下音乐的各种播放api。第一步,获取音乐来源 首先就需要音乐来源,然后我百度了网易云音乐API(网上好多):,当然了我选择的自己搭建的,你也可以去github按原创 2021-06-12 18:21:38 · 4460 阅读 · 7 评论 -
Android实现全局前后台监听
Android实现全局前后台监听关于第一步,编写activity堆栈式管理类关于 前段时间工作的时候有一个小需求,做一个登出的监听功能并在任何界面弹窗提示,因为没有用到一些推送通知(后台接口没有添加这个功能)来判断是否被其他人登录,所以就没有用到广播机制。但是因为我们做的项目用到了视频服务是会有登录登出顶号的监听的,那是不是可以用这个来监听并通过registerActivityLifecycleCallbacks接口监听activity生命周期获取当前对应actiivty,来做全局弹窗的载体。此篇文章原创 2021-06-09 10:18:19 · 1498 阅读 · 3 评论 -
android实现沉浸式状态栏
android实现沉浸式状态栏关于效果沉浸管理工具类使用关于 工作中很多项目都会使用到沉浸式状态栏以达到和导航栏无缝连接的美感。此篇文章也会作为简易音乐博客系列的使用工具类之一。效果 图片填充状态栏: 颜色填充状态栏:当然了,也可以通过设置Alpha(0-255)来设置透明度,是纯正的蓝还是暗色的蓝。沉浸管理工具类/** * 2020年7月18日13:55:00 * 沉浸式管理工具类 */public class StatusBarUtil { public sta原创 2021-06-08 19:38:53 · 446 阅读 · 0 评论 -
Android音乐App桌面图标制作以及启动页面开发(简易音乐 一)
Android音乐App桌面图标制作以及启动页面开发( 简易音乐 一 )关于效果第一步第二步第一步 修改SplashAcitivity的布局页面第二步 修改androidmanifest.xml第三步 权限申请帮助类第四步 修改splashAcitivity.java关于其实一直想做一款属于自己的音乐app,然后给自己的好朋友用。但是因为种种原因和事情一直拖了好久没有付诸行动。前两天终于下定决心要在从新开发一个app。而且开发的过程也基本都会以专栏的形式记录下来,包括源码啥的。因原创 2020-12-30 02:00:17 · 1402 阅读 · 0 评论