网易云音乐高仿(部分实现)
安卓大作业
顺便接触强类型语言, 接触类的使用, 以便后期转入 TS
接触安卓组件开发方式及其行为, 还有其资源管理
虽然目的是为了给前端添加些原生的组件开发经验, 还有资源管理策略, 这样的理由有点奇怪...
但是不可否认目前原生的组件无论在行为定义上面还有资源管理策略方面, 都是比前端的好很多很多, 更加加鲁棒, 不过自己也有点小怀疑, 不知道这个要不要写到简历里面? 毕竟还是这个学期的心血.
但是实践过之后又发现, 可以搬迁到前端的并不多...
我认为安卓的布局方式更加合理, 前端的布局其实是从文档布局演变过来的, UI 布局会有不少那种"另类使用". 但是在一些点缀样式比如圆角, 则麻烦很多, 样式方面还是前端强大. 安卓则强大在自定义方面, 每个 View 都支持 paint 定义(canvas 操作), layout 定义, 所以复杂组件的实现更加高效.
资源管理抽方面, 安卓粒度更细, 感觉最强大的是 drawable 和 anim, drawable 可以有状态和具体图片的绑定, 还有尺量图片定义等等, 这些的复用程度都很高. 前端的组件方式资源粒度的抽象则没有那么细. 资源加载方面比如图片加载, 则需要手动管理 bitmap, 使用 LRUCache 和 DiskLRUCache, 前端则无需这方面的考虑.
后面想去了解一下谷歌出的 Angular 了, 虽然有点脱离潮流
感触相对粗糙, 可能有不少出错的地方, 请谅解和指点~
Github: simpleMusic
State 的方面的实现有点像是 Observable, 数据库操作的结合, 实现 View 层状态同步, 但是自己也觉得有点奇怪...
底栏左右切歌和播放界面的封面左右切歌的交互效果都实现了, 但是具体功能还没实现, 算是半成品...............
想问问这个网易云音乐的渐变叠加的效果是如何实现的?
1
HanSonJ 2018-06-24 01:05:34 +08:00
必须写,况且已经开源,可以作为项目经验
|
2
deepkolos OP @HanSonJ 其实我的半成品有点多了, 之前还有个微信高仿, 也是弄到一半[悲允], 然后感觉 View 层复杂度需要引入工具, 来实现更好组件复用, 就转去学习 Vue 了
https://github.com/HZ-WeiBao/app_container |
4
deepkolos OP @HanSonJ 高三的暑假确定走全栈路线,所以也在 laravel 社区活跃过一段时间,后来还是主攻前端,因为感觉有点难以兼顾。
现在是主攻前端,这个安卓算是另类增加前端经验吧,也不确定有没有增加😂,目前看到的是 listview 和前端的无限滚动是类似的。 不过我还是 PHP 的粉丝,十分期待 JS 支持魔术方法!! |
5
hikari 2018-06-24 09:53:54 +08:00
看见变量命名全是$开头的,一看就是做 php 的
|
7
dzjx 2018-06-24 11:14:49 +08:00 via Android
这些不写还准备写什么.jpg
|
8
HoHoibin 2018-06-24 12:58:51 +08:00
大佬大佬 现在是大三准备找实习了吗
|
9
miketeam 2018-06-24 14:59:09 +08:00 via iPhone
感觉你写这个还不如花时间背背安卓四大组件,算法
|
10
yukiww233 2018-06-24 15:03:36 +08:00
没问题,UI 的完成度已经很高了
包名小写强迫症不能忍,还有绘制圆角的时候画笔是没有加抗锯齿么,肉眼可见的狗牙 2333 |
11
deepkolos OP @yukiww233 嗯嗯, android studio 有提示, 但是, 感觉大小好看一些又改回去, hh
关于锯齿, 我测试的时候没有感到明显就没去设置了 |
12
deepkolos OP 大小 -> 开头大写
|