没有做过真实项目,你真的敢去面试吗?(磨砺营马剑威Android)

【威哥说】砺营靠什么比别人优秀?不仅仅是教学靠谱,老师靠谱,更重要的是咱们在磨砺营做的都是真实的商业项目,由磨砺营自主研发的项目,今天我们就来了解一下咱们磨砺营IT教育的实训项目《磨砺音乐》。

【目标】首先我们要先定一个小目标,来磨砺营学一批磨砺营自主研发的实战商业项目。动动小手收藏转发,让更多人看到。

【正文】1605期的第二个项目实战已完结了,《磨砺音乐》APP正式与大家见面了,本项目中大量运用了经典的Fragment嵌套技术,界面风格走朴素简约风,扁平化产品级设计,我们在乎每一个细节的设计,我们不随便,因为我们只想打造更好的产品。以下小编整理了一截图,注意!睁大你的双眼,不是开玩笑的:

下面整理一下本项目使用到的:

1、jsoup组件

用于抓取网络音乐,分析网络页面返回的数据,你可以理解一个网络爬虫工具,谁说没有服务器就不能实现在线音乐功能,有了它,太赞了。

2、androidannotations组件

本项目全面支持UI组件及事件处理的注解方式实现,你会发现确实节省了好多代码哇,也许你会有疑问,用注解不会影响性能吗?NO,那是你太不了解androidannotations组件的强大功能了,它使用apt组件为我们的注解代码自动生成了原生的代码,性能?决对不是问题。

3、eventbus3.0组件

自从使用了eventbus组件实现事件传递,太TM的方便了,代码简洁不说,让整个逻辑更加清晰可读,当然,我们也在项目中使用了传统的接口回调,俗话说,不懂接口回调的程序员不是老司机,这个必须要用的,即使没有eventbus,我们一样可以完成,只不过有这么好的组件,我们为啥不用勒,一个字,用!

4、design包

design包是android5.0 Lollipop 发布的最具意义的一个版本,重要的原是Material Design的引入,我们在项目中使用design包的TabLayout实现tab功能和侧滑菜单,与Toolbar,DrawerLayout联合使用,界面效率超棒的。

5、xutils3框架

国人写的一个框架,共分为4大模块,网络请求、数据库、图片缓存、组件注解,功能还是很强大的,本项目利用这个组件来实现本地数据库的功能,由于其它功能模块有更好的选择,所以没有使用到,按作者的介绍,数据库功能可以和著名的GreenDao相媲美,研究其源码发现,数据缓存查询功能确实强大,我能说是模仿GreenDao么,希望xutils3的作者不要介意哈,向优秀者学习并靠近,本身就是一种优秀。

6、okhttp组件

本项目使用okhttp组件实现网络数据请求功能,okhttp是当前最主流的网络请求框架,在大多数项目中都在使用,其高度的可定制性是胜出的法宝,只是对于初学者来说okhttp需要自己来封装貌似有点难度,但丝毫不影响我们使用它,要知道磨砺营出来的学员,封装个组件的能力,我说家常便饭的事,你可千万不要觉得我在说大话,因为事实我们就是这样做的。

7、fresco图片缓存组件

在上一个项目中我们同样使用到了fresco组件,当今Android世界最好用的图片缓存组件,我们可以毫不吝啬的这样说,上次也给大家提到fresco是使用真正的三级缓存来实现的,两级内存一级磁盘,下面我们来解释一下这个牛B的三级缓存:

(1)Bitmap缓存

Bitmap缓存存储Bitmap对象,这些Bitmap对象可以立刻用来显示或者用于后处理,在5.0以下系统,Bitmap缓存位于ashmem,这样Bitmap对象的创建和释放将不会引发GC,更少的GC会使你的APP运行得更加流畅。

5.0及其以上系统,相比之下,内存管理有了很大改进,所以Bitmap缓存直接位于Java的heap上。当应用在后台运行时,该内存会被清空。

(2)未解码图片的内存缓存

这个缓存存储的是原始压缩格式的图片。从该缓存取到的图片在使用之前,需要先进行解码。如果有调整大小,旋转,或者WebP编码转换工作需要完成,这些工作会在解码之前进行。APP在后台时,这个缓存同样会被清空。

(3)和未解码的内存缓存相似,文件缓存存储的是未解码的原始压缩格式的图片,在使用之前同样需要经过解码等处理。

8、banner组件

一个还不错的实现图片轮播的组件,一个小组件而已,用用更健康,就不多说了哈。

9、LrcView

用于实现歌词加载的组件,我们使用Jsoup从网络上分析出歌词,再用okhttp下载后交给LrcView组件就可以了,用法也很简单,其实我想说的话,前面如何弄到歌词更是难题,说多了都是泪啊,有兴趣的童鞋可以单独跟我交流交流吧,这里就不细说了。

10、Vitamio组件

一个可以实现大多数音频视频播放、流媒体播放的框架,国人企业的产品,当然我们使用的是免费版的,用法和Android自带的MediaPlayer大同小异。

其它小组件就一一介绍了。

项目总结:

本项目的特点是尽可能的少用Activity组件,大量使用Fragment及其嵌套实现UI界面,原因是播放器项目特殊性,在大多数界面上都要保留播放控制条,Fragment之间的嵌套也会出现各种问题,但都给我们一一化解了,项目中成长了不少,最经典的一句话是:我们把Fragment及其接口回调运用的淋漓尽致。还有就是各个界面的状态同步问题,当然有了eventbus组件,一切的问题都不是问题了,在项目中我们使用了Service实现了后台播放功能,开启服务与绑定服务结合使用的技巧,通知栏功能实现,下载,收藏,播放模式切换等,还有很多小功能实现。最后的感受是:一个完整的项目开发,不仅让你懂得了怎么运用知识,技巧和经验的收获才是更大的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,265评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,274评论 1 288
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,087评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,479评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,782评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,218评论 1 207
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,594评论 2 309
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,316评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,955评论 1 237
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,274评论 2 240
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,803评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,177评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,732评论 3 229
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,953评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,687评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,263评论 2 267
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,189评论 2 258

推荐阅读更多精彩内容