开源学习网站学习

Github上有哪些适合新人围观的Android项目?

浏览次数:5244次  知乎  2015年03月18日  字号:   
Trinea微信codek2,专注于源码解析分享

其实挺不喜欢这类问题的,可是看到这么多答案没一个满意的就手贱了。

2 年阿里网站开发经验,4 年 Android 开发经验,也一直在推动Android 开源 - Trinea GitHub,我应该还是比较有资格回答这个问题的,关于我的介绍可以看:关于 Trinea

虽然我也可以罗列几十个项目然后给你些高大上的动态图,但那对你没用,希望这篇全面的梳理分享能帮到更多人。

下面介绍包括几个部分:(1) GitHub 上有哪些 Android 开源项目 (2) 哪些项目适合新手学习 (3) 如何获取最新的 Android 开源项目 (4) 开源项目怎么学习 (5) 开源项目源码解析

1. GitHub 上有哪些 Android 开源项目

目前收藏 Android 开源库比较多的有Android 开源项目汇总Android Libraries and ResourcesAndroid ArsenalAndroid Libraries and Resources,另有Libraries for developersDevAppsDirect等 App 集合了很多开源库。
更多介绍可以参考我之前的整理:Android 开源库获取途径整理

其中的Android Arsenal国外人收集的最棒的开源集合。
Android 开源项目汇总是我在维护,包括 300+ 开源项目,每一个都有中文介绍及大家喜欢的酷炫示例图。

2. 哪些项目适合新人围观
这个问题我没法给你列几个项目,具体原因我在下面介绍。
从上面的图中也可以看出来了,开源项目巨多,分类很细。如果你是 Android 新手建议从简单的自定义 View 开始,如自定义 ImageView、TextView;

然后到复杂的自定义 View,如功能很全的自定义 ListView;

最后是大型的公共库,如 Volley、UIL、Dagger。另说下 Volley 是建议每个中高级开发者学习的库,因为他真的很棒。但如果是新手,你还真不一定看得懂。

最后你要针对自己的需要来看,(1) 有紧迫和压力感更快 (2) 开源库太多你根本不可能完全学过来,就跟少林七二绝技有生之年你学会一二就已经差不多了 (3) 很多库原理类似可举一反三。

如果你想学习某个项目源码可以先看我们组织的Android 开源项目源码分析,每篇都是精品,我就不解释了。

另 Volley 的源码地址也不是排名第一提到的 mcxiaoke/android-volley,那只是国人的映射罢了...,具体地址可见Volley 源码解析开头。

授人以渔
3. 如何获取最新的 Android 开源项目

(1). FollowAndroid-Dev-ComAndroid-Dev-Cn这些开发者的 Github 帐号,每天从自己的 News Feed 中看他们的动态。你也可以直接 Follow 我Trinea's following的人。
(2). 看Trending repositories on GitHub today · GitHub
养成每天逛 GitHub 的习惯是个优秀的习惯。

进阶篇
4. 开源项目怎么学习

如果只是简单的学习的话可以根据 API 逐步 Debug 进去,不断深入和反复即可。
全面而系统的学习的话,请移步查看我在如何针对Github上某个Android开源项目进行学习? - Trinea 的回答的回答,其中也是Android 开源项目源码解析第一期的规范文档

5. 开源项目源码解析
这是我们组织的Android 开源项目源码分析项目,我们相信应该知其然知其所以然。为了更好的了解并掌握优秀开源库原理,从简介、总体设计、流程图、详细设计全方面分析开源库源码。目前第一期完成,包括10个开源库及5个公共技术点的全面介绍。

最后不管你需要什么别忘记了 Google,只要你要,它肯定有。

何睿毅--- 永远不做‘立场主义者’

好吧,我自己从大二开始慢慢学习安卓,到现在在某手机厂商做安卓,差不多搞了3年这东西,觉得有些东西题主可以参考参考了,写的不好,轻喷。

1. Volley
之所以把它放在第一个,是因为对于App来说,一个好的通信框架能够避免太多太多的BUG,也能够很大程度的提升软件的性能,相信有过安卓开发经验的人经常会被OOM搞到死吧= = ,一个好的框架能够很好地解决这个问题。Volley高度订制了网络请求的框架,同时给了我们很大的自由度来根据你自己的需求扩展这个几乎完美的方案,比如我自己,因为工作的需要,就在Volley中扩展了接口,使得请求回来的图片能够自带blur效果。
mcxiaoke/android-volley · GitHub

2. ListViewAnimation
惊艳到我的列表动画库,功能极其强大,早期知乎APP的列表也引入了这个控件,能够让你在列表滑动的时候插入丰富的动画
nhaarman/ListViewAnimations · GitHub

3. RoundedImageView
大多数App上的圆形头像基本上都是这个库干的好事,同时也能够根据你的需求生成带有圆角的图片,显示在对应控件上。

vinc3m1/RoundedImageView · GitHub

4. Android-PullToRefresh
这个我就不多说了吧,来自CB大神的作品,个人觉得应该是App里面普及率最高的库了,下拉刷新控件,不单单支持列表的,还支持gridview,viewpager甚至webview,但是我这里要说一句,这个东西你理解他的思路就行了,太过时了,不推荐使用

chrisbanes/Android-PullToRefresh · GitHub

5.ActionBar-PullToRefresh
和上面一个差不多的东西,我个人更加喜欢一点,是把刷新条集成在了ActionBar上面,同样来自CB大神的作品,实现机制和上面一个略有不同,了解一下即可,这东西也挺过时的,真正推荐你使用的是下面这个
chrisbanes/ActionBar-PullToRefresh · GitHub

6.SwipeRefreshLayout
安卓发布的原生控件,专门用来实现下拉刷新功能的哦,效果很棒,最新的知乎App似乎也集成了这个东西,这个才是我推荐现在的App使用的东西,毕竟要与时俱进嘛,这个东西你可以在安卓LSDK的API demo目录下找到哦。

chrisbanes/ActionBar-PullToRefresh · GitHub

7.TwoWayView & RecycleView
恩,之所以把这两个东西放这里,是因为前面一个是之前GitHub上很流行的三方列表控件,主要目的是基于现有的Adapter机制实现横向滑动的列表(因为谷歌爸爸的listview不行。。),但是到了5.0之后,安卓发布了RecycleView,这个原生控件,可以很好地解决了这个问题,所以你两个一起结合着看吧哈。
sarajmunjal/two-way-backport · GitHub

8.SwipeMenuListView
无需多言。。自己看图

baoyongzhang/SwipeMenuListView · GitHub

9.AndroidResideMenu
和安卓版QQ的侧边栏抽屉一样的东西,对于安卓开发者来说,掌握抽屉的的实现还是很有必要的。
SpecialCyCi/AndroidResideMenu · GitHub

10.ProgressBar系列
安卓的ProgressBar可定制的空间很大很大,所以很多优秀的应用上面往往会出现很多令人惊艳的设计哦,这里给你推荐两个progressBar。

dmytrodanylyk/circular-progress-button · GitHub
Sefford/CircularProgressDrawable · GitHub

11.PullScrollView
很多App的个人主页就是采用了这个控件来做的,早期的微信朋友圈顶部你自己设置的背景中,也有这个控件的影子哦
MarkMjw/PullScrollView · GitHub

12. AndroidViewAnimations
最后的最后列出了这个东西,不是希望你直接就copy一份下来用,而是希望你能够通过它的DEMO去看看他是怎么实现动画效果的,多用用属性动画吧同学,别在二了吧唧的用那种animation一样过时的达内产物了。
daimajia/AndroidViewAnimations · GitHub

-----------------------------------------------------------分锅线-----------------------------------------------------------------------
好的,以上就是我觉得一些比较浅显但是你可能会需要的东西了,现在来和你讲讲我的想法,我周围的同事大多数也用github,很多程序员,说得难听一点真的就是伸手党,github上面拿一份鬼佬的代码下来放到工程里面能跑能用这事情就特么算完事了,也不反思一下人家是怎么实现的,往往需求改变了就以我是三方控件,这东西不能改这样的形式搪塞过去,很不负责也很愚蠢,其实往往很多时候三方控件具有很高的扩展性,但是其实更多时候,你直接用安卓原生的API就能达到效果,多研究研究android developer吧,同学。

甲圣在校大学生

看到另一个同学的回答中提到很多开源项目,深以为然。
不过github上已经有人对android知名开源项目做出了解析,良心之作!
链接奉上:https://github.com/android-cn/android-open-project-analysis

肥肥鱼我本来想做一个有幽默感的人,结果过头了…

不请自来说点废话。

何睿毅前辈总结的非常好。不敢班门弄斧,只想说一下关于习惯的问题。
现在的程序猿难道不会使用搜索引擎了吗?
善用搜索,你会知道的更多。

有哪些优秀的 Android 应用开源项目、特效、设计资料推荐? - Android 开发

Github上面如何寻找比较火的Android开源项目? - GitHub

读Android开源项目的工具, 有哪些? - Android 开发

GitHub 上有哪些值得关注和学习的经典 Android 项目? - 移动开发

如何使用github上的android开源项目? - Android

Android 平台有哪些好的开源游戏项目? - Android 开发

请问有适合小团队磨练 Android 开发技术的开源项目或网站推荐吗? - Android 开发

GitHub 上都有哪些值得关注学习的 Android项目? - 编程

Android平台有哪些开源的社交APP可供研究? - Android 开发

有哪些 Android 的开源界面库? - Android 开发

Github上有哪些适合新人围观的Android项目? - Java

大家推荐个好的android开源项目学习下,里面项目包结构合理? - Android 开发

请问Android有什么快速开发的类库,插件,工具吗? - Android 开发

你遇到过哪些代码优雅的安卓项目? - Android

软件运行环境: 操作系统:windows server 2008R2 企业版64位或以上版本 数据库:Microsoft SQL Server 2008 .NET:4.0 部署文件安装注意事项: 1.网站文件加要添加上传权限,添加NETWORK SERVICE和IIS_IUSRS,设置完全控制。 1.应用程序池设置兼容32位应用程序,设置经典模式。 2.数据库连接配置正确 3.DB.config主域配置一定要正确,否则学员无法登录,例如网址是k12.weisha100.net,add nane哪里就填weisha100.net,如果是用ip访问,主域哪里填ip。不用带端口。 数据库脚本执行注意事项: 1.新建的数据库名称要和脚本里的名称保持一致。(或者修改脚本里的名称。只要保持一致即可) 2.数据库要允许server身份登录。 3.如果使用sa登录,要启用sa用户。 详细的安装教程可登录 www.weisha100.net注册观看详细的视频教程。 网站初始管理信息: 管理员入口:网址/admin/index.ashx 账户:song 密码:1 学员入口:网址/student/index.ashx 账户:13223040250 密码:1 同教师账户 (学员和教师管理员后台可以添加初始账户可以删除) 超管入口:网址/manage/index.aspx 账户:admin 密码:1 (超管主要负责资金及第三方相关接口,不要随意配置里面得权限及管理员分组) 操作手册下载地址:http://vido.weisha100.net/使用手册.rar 源码下载地址:GitHub开源地址:https://github.com/weishakeji/LearningSystem 技术支持:1558453748 电话:15660957178
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值