Github上100个经典开源Java项⽬值得阅读学习
1.
这个是 Facebook 在 .js Conf 2015 ⼤会上推出的基于的开源框架 React Native, 该框架结合了 Web 应⽤和 Native 应⽤的优势, 可以使⽤ JavaScript 来开发和原⽣应⽤
2. Universal ImageLoader
ImageLoader 是最早开源的 Android 图⽚缓存库, 强⼤的缓存机制, 早期被⼴泛 Android 应⽤使⽤, ⾄今仍然有很多 Android 开发者在使⽤
3. RxJava
RxJava 是⼀个在 VM 上使⽤可观测的序列来组成异步的、基于事件的程序的库, 简单来说它就是⼀个实现异步操作的库, RxJava 的优点在于⼀个词 "简洁", 使⽤它就算你程序逻辑有多么复杂, 它依然能够保持简洁易懂
4. Retrofit
Retrofit 是 Square 公司出品的 HTTP 请求库, 同时是 Square 是最早开源项⽬之⼀, Retrofit 是⽬前 Android 最流⾏的 Http Client 库之⼀, ⽬前版本是 Retrofit2.0 Beta4, 越来越多 Android 开发者开始使⽤这个请求库了
5. OkHttp
OkHttp 是 Square 公司出品的 HTTP 另⼀个请求库, Google 不推荐⼈们使⽤ HttpClient, 可是 HttpURLConnection 实在是太难⽤了, 因此很多⼈使⽤了 OkHttp 来解决这问题, 据说 Android4.4 的源码中可以看到 HttpURLConnection 已经替换成OkHttp 实现呢
6. SlidingMenu
⼀个侧滑菜单开源库, 在 Google ⾃⼰原⽣态的侧滑菜单 NavigationDrawer 没有出现之前, 这个库就已经被⼴泛使⽤, 可是到现在这个库已经被放弃了
7. Picasso
Picasso 是 Square 公司出品的⼀款图⽚缓存库, 主导者是 JakeWharton ⼤神
8. Android-Best-Practices
Android 开发最佳实践, ⾥⾯所介绍的经验都是来⾃于 Futurice 公司 Android 开发者, 介绍内容有 Android 开发规范、、布局技巧, 以及使⽤⼀些有助于快速开发相关⼯具等等, ⾮常适合新⼿去学习
9. EventBus
EventBus 是 Android 事件管理总线, 使⽤它可以替带 Android BroadCast, BroadCastReceiver, Handler 在 Activity, Fragment, Service, 线程之间传递消息, ⼤⼤简化了事件传递逻辑
10. android-async-http
android-async-http是 Android ⼀款⽼牌异步请求库, 专门对 Android 在 Apache 的 HttpClient 基础上构建的异步 http 连接, 该库有很多特征, 例如: 库的 size ⼩, ⽀持⽂件上传不需使⽤第三⽅库⽀持, 内部使⽤线程池来处理并发, 等等
11. Fresco
12. ZXing
ZXing 是⼆维码领域中名⽓最⼤的开源项⽬, 它提供了多个平台的⼆维码/条形码扫描解决⽅案, 拥有扫描快, 识别率⾼, 使⽤简单等特点
13. LeakCanary
LeakCanary 是 Square 公司出的⼀款检测内存泄露⼯具, 该⼯具能帮助你在开发阶段⽅便的检测出内存泄露的问题, 使⽤起来⾮常简单⽅便
14. Butter Knife
由 JakeWharton ⼤神开发出来的, ButterKnife 是 View 注⼊框架, 使⽤它为了简写很多 findViewById 代码, 同时还⽀持 View 的⼀些事件处理函数
15. MPAndroidChart
MPAndroidChart 是⼀款强⼤的 Android 图表库, ⽀持各种各样图表显⽰, 能想到的图表样式这⾥⼏乎都有, 图表还⽀持选择,拖放和缩放动画效果
16. ActionBarSherlock
ActionBarSherlock 这个库是 JakeWharton ⼤神开发出来⽀持 Android3.0 以下版本的, 后来慢慢的 Google 也提供了AppCompat 库来⽀持 Android3.0 以下版本使⽤ ActionBar, 因此不建议再使⽤这个库了
17. AndroidAnnotations
AndroidAnnotations 是⼀个能够让你快速进⾏ Android 开发的开源框架, 它能让你专注于真正重要的地⽅, 使代码更加精简,使项⽬更加容易维护, 它的⽬标就是 "Fast Android Development.Easy maintainance"
18. ViewPagerIndicator
由 JakeWharton ⼤神开发出来的⼀个 ViewPager 指⽰器, 使⽤起来简单⽅便, 可⾼度定制, 开发出各种各样动画效果
19. Glide
Glide 是 Google 员⼯的开源项⽬, ⼴泛应⽤于 Google ⼀些 App 上, 在2014年 Google I/O ⼤会上被推荐使⽤, Glide 和Picasso 被⼈拿来⽐较研究过, Glide 与 Picasso 有 90% 的相似度, 但在⼀些细节上还是有点区别的, 各有各优缺点看君选择
20. HomeMirror
开发者是由⼀名程序媛 Hannah Mittelstaedt , HomeMirror 是⼀款 Android 镜⼦应⽤, ⽬前它能实现⽇期, 时间, 天⽓, ⽣⽇信息, 事件提醒器, 骑车天⽓的推荐, 股票信息, XKCD 漫画⽹站的新帖等等
21. Android-PullToRefresh
⼀个强⼤的拉动刷新开源项⽬,⽀持各种控件下拉刷新,ListView、ViewPager、WebView、ExpandableListView、GridView、ScrollView、Horizontal ScrollView、Fragment 上下左右拉动刷新, 不过现在这个项⽬已经停⽌维护更新了
22. MaterialDesignLibrary
这个库控件都是遵循了 Google Material Design 设计规范开发出来, 例如有: Flat Button, Rectangle Button, CheckBox, Switch, Progress bar circular indeterminate 等等
23. PhotoView
PhotoView 是 ImageView 的⼦类, ⽀持所有 ImageView 的源⽣⾏为, 例如: ⽀持 Pinch ⼿势⾃由缩放, ⽀持双击放⼤/还原, ⽀持平滑滚动等等, 并且⾮常⽅便的与 ImageLoader/Picasso 之类的⽹络图⽚读取库集成使⽤, 还⽅便的与 ViewPager 等同样⽀持滑动⼿势的控件集成
24. RxAndroid
由 JakeWharton ⼤神主导开发的项⽬, RxAndroid 是 RxJava 的⼀个针对 Android 平台的扩展, 主要⽤于 Android 开发
25. Material Dialogs
Material Dialogs 是⼀个可⾼度定制易⽤, 符合 Material Design 风格的 Dialogs, 兼容 Android API8 以上版本, 个⼈使⽤感觉它完全可替代 Android 原⽣那个, ⽐原⽣那个更加简单易⽤
26. AndroidObservableScrollView
ObservableScrollView 是⼀款⽤于在滚动视图中观测滚动事件的 Android 库, 它能够轻⽽易举地与 Android 5.0 Lollipop 引进的⼯具栏 (Toolbar) 进⾏交互, 还可以帮助开发者实现拥有 Material Design 应⽤视觉体验的界⾯外观, ⽀持ListView, ScrollView, WebView, RecyclerView, GridView组件
27. Android-Bootstrap
Android 版的 Bootstrap, 利⽤这个库能够实现很多 Bootstrap 样式风格, 之前有学过 Html 的⼈就知道 Bootstrap 是什么玩意啦
28. AndroidSwipeLayout
开发者是代码家, AndroidSwipeLayout 是⼀个⽀持ListView, GridView, ViewGroup等等左右上下滑动出操作菜单, 类似 qq 消息列表向左滑动显⽰出多某条信息的操作菜单
Dagger 是 Square 公司出品的⼀个针对 Android 和的快速依赖注⼊器, 能够有效减少你敲代码量
30. ListViewAnimations
⼀个轻轻松松给 Android ListView 添加动画效果的库, ⽀持的动画有: Alpha, SwingRightIn, SwingLeftIn, SwingBottomIn, SwingRightIn and ScaleIn等等, 使⽤它能很容易就实现帅爆的效果
31. PagerSlidingTabStrip
PagerSlidingTabStrip 是⼀个给 Android ViewPager添加上 ViewPager 滑动指⽰器, 从 GitHub 上⾯看, 这个库似乎没有⼈在维护了, 请谨慎使⽤该库
32. AndroidViewAnimations
开发者是代码家, 这个库实现很多很酷炫的 Android 动画, 动画效果是借鉴 Animate.css 来实现的, ⾮常酷, ⽽且这个使⽤起来也是⾮常简单
33. AndroidSlidingUpPanel
AndroidSlidingUpPanel 是⼀个上拉⾯板, 就是向上滑动的时候往上飞出⼀个显⽰⾯板控件, 该库效果在 Google Music, Google Maps and Rdio等 App 中⽤到
34. MaterialDrawerjava网课推荐
MaterialDrawer 是⼀个类似 Google 官⽅ NavigationView 侧滑显⽰控件, 个⼈认为 NavigationView 并没有 MaterialDrawer 实⽤, 因为 NavigationView ⾃由度不是很好, 很多都写死了不可以⾃由定义布局, ⽽ MaterialDrawer 能够实现跟NavigationView ⼀样的效果, 同时还⽀持⾃定义效果, ⾃由度⾮常⾼
35. Material-Animations
Material-Animations 是⼀个很好过渡动画库, 可以应⽤于 Activity 与 Activity 之间的跳转, Fragment 与 Fragment 之间的跳转,以及各个 View 变化前后的过渡动画
36. MaterialViewPager
⼀个简单易⽤ Material Design 风格的 ViewPager 库
37. Ion
ion 是⼀个让 Android 的⽹络操作变得极其简单, ⽀持异步获取和处理JSON, ⽀持 Android ⽂件下载 (同时⽀持下载进度条绑定), ⽀持安全链接和代理
38. Stetho
Stetho是 Facebook 出品的⼀个强⼤的 Android 调试⼯具,使⽤该⼯具你可以在 Chrome Developer Tools查看App的布局, ⽹络请求(仅限使⽤Volley, okhttp的⽹络请求库), sqlite, preference, ⼀切都是可视化的操作,⽆须⾃⼰在去使⽤adb, 也不需要
39. Fastjson
Fastjson是⼀个Java语⾔编写的⾼性能功能完善的JSON库。它采⽤⼀种“假定有序快速匹配”的,把JSON Parse的性能提升到极致,是⽬前Java语⾔中最快的JSON库。Fastjson接⼝简单易⽤,已经被⼴泛使⽤在缓存序列化、协议交互、Web输出、Android客户端等多种应⽤场景
40. Card Library
Cardslib 是早期由 Gabriele Mariotti 开发的⼀个为开发者⽅便实现各种 Card UI 的 Android 开源代码库, 后来 Google 官⽅提供⾃⼰封装了 CardView 在 v7 包下, 使⽤ Google 官⽅的可以完全替代了这个库, 因此这个也被弃⽤了
41. android-Ultra-Pull-To-Refresh
开发者是廖祜秋, 这个是⼀个⾮常强⼤的下拉刷新库, 继承 ViewGroup 可以包含任何 View, 功能甚⾄⽐ SwipeRefreshLayout 强⼤, 使⽤起来也⾮常容易, 还可以⾃由定制⾃⼰的 UI 样式
42. greenDAO
greenDAO 是⼀个可以帮助 Android 开发者快速将 Java 对象映射到 SQLite 的表单中的 ORM解决⽅案, 通过使⽤⼀个简单的⾯向对象 API, 开发者可以对 Java 对象进⾏存储, 更新, 删除和查询, greenDAO 相对 OrmLite, AndrORM 这两个 ORM 开源库, 性能是最⾼的
43. AndroidStaggeredGrid
AndroidStaggeredGrid 是⼀个⽀持多列并且每⼀⾏的 item ⼤⼩不⼀, 交错排列的 GridView, 就是实现瀑布流样式效果, ⽬前该库已经被弃⽤了, 开发者建议我们使⽤ Google 官⽅控件 RecyleView 中的 StaggeredGridLayoutManager 布局来实现瀑布流效果
44. Otto
Otto 是 Square 公司出的⼀个事件库 (pub/sub 模式), ⽤来简化应⽤程序组件之间的通讯, otto 修改⾃ Google 的 Guava 库,专门为 Android 平台进⾏了优化, 与上⾯介绍的 EventBus 相⽐, 两个库各有各的优点, 完全取决于我们⾃⼰项⽬的需求来选择它们哪⼀个
45. xUtils
xUtils 是⼀个快速开发框架, ⾥⾯包含 DbUtils, ViewUtils, HttpUtils, BitmapUtils 四⼤模块, 可⽤于快速开发, ⽀持⼤⽂件上传,拥有更加灵活的 ORM, 最低兼容 Android 2.2
46. Realm Java
Realm ⼀个轻量的 Android 版本的数据存储库, ⽐ Android 原⽣系统的 SQLite 更加简洁快速对数据进⾏操作
47. AndroidCleanArchitecture
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论