ExLibrary's Sample~
##项目架构
采用全新的架构MVP模式,降低耦合度
优点:
1. 降低耦合度
2. 模块职责划分明显
3. 利于测试驱动开发
4. 代码复用
5. 隐藏数据
6. 代码灵活性
缺点:
学习成本
View不直接与Model交互,而是通过与Presenter交互来与Model间接交互 Presenter与View的交互是通过接口来进行的,更有利于添加单元测试 通常View与Presenter是一对一的,但复杂的View可能绑定多个Presenter来处理逻辑
##常用封装
QQ空间,微信,微博,facebook分享;
支付宝,微信,paypal ,信用卡支付;
响应式编程:
-
RxJava[RxJava文档中文版] https://github.com/ReactiveX/RxJava
-
RxAndroid https://github.com/ReactiveX/RxAndroid
-
Google agera https://github.com/google/agera
网络请求:
- VolleyPlus https://github.com/DWorkS/VolleyPlus
- OkHttp https://github.com/square/okhttp
- Retrofit http://square.github.io/retrofit/
图片处理:
- freso https://github.com/facebook/fresco
- Glide https://github.com/bumptech/glide Glide和Picasso的比较
- picasso http://square.github.io/picasso/
- Android-Universal-Image-Loader https://github.com/nostra13/Android-Universal-Image-Loader
- RoundedImageView[圆角处理] https://github.com/vinc3m1/RoundedImageView
- PhotoView[放大] https://github.com/chrisbanes/PhotoView
- 超大,超长图片的浏览 https://github.com/davemorrissey/subsampling-scale-image-view
- 图片加Tag标签 https://github.com/saiwu-bigkoo/Android-PictureTagView
Json解析 :
数据库ORM:
- squidb https://github.com/yahoo/squidb
- ormlite http://ormlite.com/
- greenDAO https://github.com/greenrobot/greenDAO
事件发布,订阅:
- EventBus https://github.com/greenrobot/EventBus
- AndroidEventBus
- otto http://square.github.io/otto/
动画:
- Facebook rebound https://github.com/facebook/rebound
- NineOldAndroids http://nineoldandroids.com/
多点下载:
- MultiThreadDownloader https://github.com/AigeStudio/MultiThreadDownloader
插件化&热修复:
- 微信TinKer
- react-native https://github.com/facebook/react-native
- RocooFixhttps://github.com/dodola/RocooFix
- 支付宝AndFixhttps://github.com/alibaba/AndFix
- Small https://github.com/wequick/Small
- DroidPlugin https://github.com/DroidPluginTeam/DroidPlugin
- 百阅方案
- 饿了么方案
高性能数据传递:
- FlatBuffers https://google.github.io/flatbuffers/
- thrift https://github.com/apache/thrift
视频,图片滤镜处理:
- android-gpuimage https://github.com/CyberAgent/android-gpuimage/
- Grafika https://github.com/google/grafika
- CameraFilter https://github.com/ongakuer/CameraFilter
其它:
- butterknife http://jakewharton.github.io/butterknife/
- dagger2.0 https://github.com/google/dagger/
- ViewPagerIndicator http://viewpagerindicator.com/
- Android-PullToRefresh https://github.com/chrisbanes/Android-PullToRefresh
- v3-utility-library https://github.com/googlemaps/v3-utility-library
##异常捕获&性能分析&测试
##伟大的组织和个人
- google https://github.com/google
- Square http://square.github.io/
- facebook https://github.com/facebook
- JakeWharton https://github.com/JakeWharton
- greenrobot https://github.com/greenrobot
- Yalantis https://github.com/Yalantis
- alibaba https://github.com/alibaba
- Tencent https://github.com/Tencent
##推荐
依赖库引用 http://www.appbrain.com/stats/libraries
##优秀的参考引用框架
其它Demo集合 https://github.com/Tim9Liu9/TimLiu-Android
RecyclerView made simple https://github.com/lucasr/twoway-view
https://github.com/chrisbanes/Android-PullToRefresh
https://github.com/chrisbanes/ActionBar-PullToRefresh
MVP模式 https://github.com/richardradics/MVPAndroidBootstrap
CommonAdapter通用的Adapter https://github.com/tianzhijiexian/CommonAdapter
自定义切换Loading,empty,error https://github.com/vlonjatg/progress-activity
自定义Dialog https://github.com/orhanobut/dialogplus
相册图片单选,多选模式 https://github.com/wqandroid/wqgallery
自定义图片形状 https://github.com/siyamed/android-shape-imageview
Fragment 动画 https://github.com/DesarrolloAntonio/FragmentTransactionExtended
https://github.com/daimajia/AndroidSwipeLayout
https://github.com/pedant/sweet-alert-dialog
https://github.com/Quinny898/PersistentSearch
https://github.com/Yalantis/Taurus
https://github.com/alexvasilkov/FoldableLayout
Material Design Instagram https://github.com/frogermcs/InstaMaterial
https://github.com/Yalantis/Euclid
自定义字体https://github.com/norbsoft/android-typeface-helper
GoogleMusic https://github.com/googlesamples/android-UniversalMusicPlayer
Airbnb提供的地图解决方案,支持多个本地地图提供者包括谷歌地图V2和亚马逊地图V2。如果设备没有任何受支持的本地地图提供者,AirMapView会回退到基于web的地图提供者(目前谷歌地图) https://github.com/airbnb/AirMapView
MaterialSpinner https://github.com/ganfra/MaterialSpinner