Android中必须学习的七大开源项目

aiqy8989 8年前
   <p>1,LoginButtons</p>    <p>编写各类展示效果,项目代码量比较少,也很适合新手学习。</p>    <p><img src="https://simg.open-open.com/show/e7865bd89e4509b45a564f3f97da64c1.png"></p>    <p>2,Material Animations</p>    <p>演示View的平移、缩放动画,activity进入和退出动画,界面间元素共享,并且开发者在README中,对动画原理进行了精讲,是学习动画很好的项目,项目代码量比较少,也很适合新手学习。</p>    <p><img src="https://simg.open-open.com/show/f7db316c52fad6003eddc8b0699d5e1f.gif"></p>    <p>3,Meizhi</p>    <p>每天推送一张妹子图、一个小视频和一系列程序员精选文章,数据来源于代码家的干货集中营。唯一不足就是视频解析还有bug,声音视频无法同步,希望能尽快修复。</p>    <p><img src="https://simg.open-open.com/show/a3fdcba1472e8dd837f085945d6fcaa9.gif"></p>    <p>架构:MVC</p>    <p>图片加载:Picasso</p>    <p>网络请求:RxJava & Retrofit+okhttp</p>    <p>界面:遵循Google Meterial 设计风格</p>    <p>其他:nineoldandroids,photo view,numberprogressbar,umeng-analytics,rxandroid,butterknife,otto</p>    <p>4,LookLook</p>    <p>可以阅读知乎日报,网易头条,每日推送一张妹子图片和视频,是一个精美的阅读软件。遵循Google Meterial 设计风格,加入了一些5.0以上的新特性,阅读体验绝不逊色于官方的app。</p>    <p><img src="https://simg.open-open.com/show/49696eb7aa04cdcbb93db43a7da758a3.gif"></p>    <p>架构:MVP</p>    <p>图片加载:Glide</p>    <p>网络请求:RxJava & Retrofit+okhttp</p>    <p>界面:遵循Google Meterial 设计风格</p>    <p>其他:Cardview,RecycleView,Butterknife,PhotoView</p>    <p>5,android-UniversalMusicPlayer</p>    <p>这个开源项目展示了如何实现一个横跨各种Android平台的音乐播放器,包括手机,平板,汽车,手表,电视等。Google官方推出,跨平台开发必看项目。</p>    <p><img src="https://simg.open-open.com/show/7b7750d037cb15f9d0af2bda4d8583c6.gif"></p>    <p>架构:MVC</p>    <p>6,plaid</p>    <p>由谷歌工程师开发,展示Google Material风格设计,项目代码量大,但是结构清晰,还是很好理解的。</p>    <p><img src="https://simg.open-open.com/show/ebe40bd957775a67a373373895083883.gif"></p>    <p>架构:MVC</p>    <p>图片加载:Glide</p>    <p>网络请求:RxJava & Retrofit</p>    <p>其他:RecycleView,Butterknife</p>    <p>7,MyMusicPlayer</p>    <p>本项目是一个安卓的在线音乐项目源码,歌曲数据来源于百度音乐盒接口。可以实现歌曲的在线搜索和下载。</p>    <p><img src="https://simg.open-open.com/show/1486f1efd57a87933aa145d335044ceb.png"></p>    <p>架构:MVC</p>    <p>图片加载:Picasso</p>    <p>网络请求:retrofit2 + okhttp3</p>    <p>其他:fastjson,httpclient,xrecyclerview等等。</p>    <p>总结:</p>    <p>建议学习顺序从第一个开始一直到最后一个,由易到难。项目中用到的开源库,如果不熟悉,网上搜一些文章进行学习,把开源库的基本使用都了解了之后再去看项目,这样就不会一头雾水。当下比较流行的技术有MVP,RxJava + Retrofit+okhttp3,RecycleView,Butterknife,Glide,fastjson等,这些技术在 <a href="/misc/goto?guid=4959716043659185890" rel="nofollow,noindex">MyMusicPlayer</a> 项目中都用应用,如果把 <a href="/misc/goto?guid=4959716043659185890" rel="nofollow,noindex">MyMusicPlayer</a> 这个项目搞懂了,基本就没有问题了。</p>    <p>看开源项目的心得:</p>    <p>刚开始看一些项目可能会感觉没有头绪,项目看多了,就不会有这种感觉了。只要静下心,一切都ok了。任何事情都可以熟能生巧,在看了一些开源项目后,自己最好开发一个。看项目源码是一个很费脑子的事情,不能急于求成,我之前就有点着急,看了很多项目,高强度的进行了20多天后,把自己彻底累坏了,掉头发很严重,大脑严重劳累过度,休息了一个星期才缓解过来。所以建议大家制定一个合理的学习时间,不要让自己强度太大。</p>    <p> </p>    <p> </p>    <p> </p>    <p> </p>    <p> </p>    <p>来自:http://www.jianshu.com/p/be248c5af1c6</p>    <p> </p>