使用jetpack compose构建的app
项目仅供学习,不做商业用途。
[TOC]
主页面实现的界面有两项:
-
音乐功能借鉴了Flutter项目:Flutter 版本的网易云音乐
音乐API使用: Binaryify/NeteaseCloudMusicApi: 网易云音乐 Node.js API service (github.com),使用Vercel构建。
可以按照链接仓库中方法搭建自己的Vercel服务器,获得域名。项目中域名统一在AppModule.kt文件中提供:
//com.mrlin.composemany.di.AppModule.kt
@Singleton
@NetEaseMusicRetrofit
@Provides
fun provideNetEaseMusicRetrofit(
cookieDataStore: DataStore<CookieStore>
): Retrofit = Retrofit.Builder()
.baseUrl("https://你的专属Vercel站点域名.vercel.app/")
... ...
.build()
- 用户登录(手机号+密码方式)
- 推荐歌单、个人歌单列表获取
- 歌单内歌曲的播放
- 歌曲评论、楼层回复评论显示
- 评论点赞
- 歌曲收藏
- 歌曲评论、评论回复
- 本地音乐
- 歌曲缓存
- 首页轮播、“每日推荐”、“歌单“、”排行榜“、”电台“、”直播“等入口功能
架构组件 | 用途 |
---|---|
Hilt | 全应用的实例依赖管理 |
ViewModel | 视图数据以及状态的管理 |
Navigation | 页面跳转管理 |
Room | 数据库访问 |
Paging 3 | 分页数据载入 |
datastore(protobuf实现) | 参数保存 |
splashscreen | 启动屏适配 |
名称 | 用途 |
---|---|
Accompanist | 提供Compose下的ViewPager、骨架屏、状态栏操作等 |
Retrofit | RESTful API接口通讯实现 |
Coil | kotlin图片加载框架 |
toolbar-compose | 实现折叠工具栏,源地址:onebone/compose-collapsing-toolbar |
基金页面仿支付宝基金功能,仅作练习,无任何实际功能