###how to clone the latest
git clone https://github.com/hkq325800/YellowNote.git --depth=1
###thanks to
###have learned from
- 知乎和简书的夜间模式实现套路
- 几行代码快速集成二维码扫描库
- 夜间模式实践
- 带你重新认识:Android Splash页秒开 Activity白屏 Activity黑屏
- 那些Android上的性能优化
- Android快速实现文件下载(只有4行代码)
- Android权限最佳实践
- 覆盖equals时请遵守通用约定
- Context都没弄明白,还怎么做Android开发?
- onActivityResult执行时机
- Android日常开发60条经验
- 应用被强杀了怎么办
- 听说每个人都会写单例,你会了吗?
- Android 性能典范:拯救计划
- JJSearchViewAnim源码分析
- [Android] 获取View的宽度和高度
- 超完整!Android获取图片的三种方法
- 如何查看Android App的方法总数
- [Android优化进阶] 提高ListView性能的技巧
- Android 性能优化——布局优化
- 【干货】android真正的“万能”Adapter
- Android 6.0 运行时权限处理
- 原生NavigationView菜单中添加消息提醒(小红点)
###sth. about modularization
- baselibrary组件 包含最为广泛的通用项目如BaseActivity、BaseFragment及常用的utils,如TreadPool(线程池)、Immerge(沉浸式状态栏)。引入第三方包butterknife、android-weak-handler、material-dialogs,先以aar的形式导入global,依赖也由global代为引入
- global组件 引入baselibrary,包含一个项目需要自定义的第三方库,例如网络请求框架、图片加载框架、eventbus、dagger2等,全局的内容,如网络单例、application、自定义widget、Config、通用layout、color、style、drawable等
- 模块组件 用到全局内容就引入global组件,唯一需要注意的就是butterknife在使用时要用R2
- app 引入global以及其他模块的组件,androidManifest中需要注册global中的application和设置入口
###当前github上同类中较为优秀的
-
material样式库 compile 'com.github.vajro:MaterialDesignLibrary:1.6'
-
material-dialogs 对话框 compile 'com.afollestad.material-dialogs:core:0.9.0.2'
-
FlycoTabLayout_Lib 可做顶栏或底栏 compile 'com.flyco.tablayout:FlycoTabLayout_Lib:2.0.8@aar'
-
FlipShare/SlideBottomPanel/!BottomSheetBuilder 弹出菜单栏 compile 'me.wangyuwei:FlipShare:1.0.1' compile 'com.github.kingideayou:SlideBottomPanel:1.0.6' compile 'com.github.rubensousa:BottomSheetBuilder:1.3'
-
pullloadmorerecyclerview 刷新加载更多列表 compile 'com.wuxiaolong.pullloadmorerecyclerview:library:1.1.1'
-
flowlayout 标签布局 compile 'com.zhy:flowlayout-lib:1.0.1'
-
materialsearchview 搜索栏 compile 'com.miguelcatalan:materialsearchview:1.4.0'
-
circleimageview 圆形图片 compile 'de.hdodenhof:circleimageview:2.1.0'
-
circleMenu (虽然能修改的参数变多了但是使用场景仍然狭窄) compile 'com.github.Hitomis:CircleMenu:v1.0.2' (jitpack)
-
blurview 模糊 compile 'net.robinx:lib.blurview:1.0.2'
-
explosionfield 爆炸效果 compile 'tyrantgit:explosionfield:1.0.1'
-
convenientBanner 轮播图 compile 'com.android.support:support-v4:latestVersion' compile 'cn.bingoogolapple:bga-banner:latestVersion@aar'
-
titleBar 标题栏 compile 'cn.bingoogolapple:bga-titlebar:latestVersion@aar'
-
徽章控件 BGABadgeView-Android compile 'cn.bingoogolapple:bga-badgeview:latestVersion@aar'
-
butterknife 绑定框架 classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' apply plugin: 'com.neenbedankt.android-apt' apply plugin: 'com.jakewharton.butterknife' compile 'com.jakewharton:butterknife:8.4.0' apt 'com.jakewharton:butterknife-compiler:8.4.0'
-
eventbus 事件框架 compile 'org.greenrobot:eventbus:3.0.0'
-
retrofit2 网络框架 compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.squareup.retrofit2:converter-gson:2.1.0' debugCompile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
-
glide 图片框架 compile 'com.github.bumptech.glide:glide:3.7.0'
-
android-weak-handler 弱引用的handler compile 'com.badoo.mobile:android-weak-handler:1.1'
-
easypermissions 权限获取 compile 'pub.devrel:easypermissions:0.2.0'
-
bga-photopicker 图片选取(九宫格) compile 'cn.bingoogolapple:bga-adapter:1.1.0@aar' compile 'cn.bingoogolapple:bga-photopicker:1.1.3'
-
单张图片(头像)选取+裁剪 YellowNotePicker+uCrop compile 'com.yalantis:ucrop:2.2.0'
-
superadapter 通用适配器 compile 'org.byteam.superadapter:superadapter:3.6.5'
-
ormlite/realm 数据库(lib) compile 'com.j256.ormlite:ormlite-android:5.0' compile 'com.j256.ormlite:ormlite-core:5.0'
-
zxing 二维码 compile 'cn.yipianfengye.android:zxing-library:1.9'
-
patternlock 手势密码 compile 'me.zhanghai.android.patternlock:library:2.0.3'
-
leakcanary 内存泄漏 debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta2' releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'
-
安全的preference compile 'com.scottyab:secure-preferences-lib:0.1.4'
-
multidex compile "com.android.support:multidex:1.0.1" "defaultConfig multiDexEnabled true"
-
utilcode 各种工具类库 compile 'com.blankj:utilcode:1.3.4'
-
uCrop 图片裁剪库 compile 'com.yalantis:ucrop:2.2.0'
-
material-ripple/Ripple Effect 按钮水波纹 compile 'com.balysv:material-ripple:1.0.2' compile 'com.github.traex.rippleeffect:library:1.3'
-
Highlight 高亮用户操作提示 引导操作 compile 'com.isanwenyu.highlight:highlight:1.7.3'
-
statebutton 单文件
-
bottomdialog 底部对话框 compile 'me.shaohui:bottomdialog:1.1.9'
-
跨进程通信 HermesEventBus compile 'xiaofei.library:hermes-eventbus:0.3.0'
compile('com.yalantis:ucrop:2.2.0') { exclude group: 'com.android.support' exclude group: 'com.squareup.okio' exclude group: 'com.squareup.okhttp3' }
- 列表加载动画(lib) progresslayout
- 按住持续作用的控件(lib) snappingstepper
- 右划退出库(lib) SlidingLibrary
Timber 日志记录 Dagger2 依赖注入