# BestPracticeApp **Repository Path**: eebb_ldx_admin/BestPracticeApp ## Basic Information - **Project Name**: BestPracticeApp - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-04-10 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BestPracticeApp 一个Android最佳实践的集合,非常适合拿来学习,欢迎fork和star。 【持续更新。。。】有问题或者建议可以提issue ### 自定义View列表 (Module: ViewApp) * DragView(一个随手指滑动的View) * SimpleSlidingMenu(一个简单的滑动侧边栏,支持三种模式,支持自定义) * SimplePointView(一个模仿QQ小红点拖动效果的控件) * SimpleViewPager(模仿support-v4包中ViewPager的实现,里面描述了ViewPager的主要实现原理) * CardViewPager(一个卡片式的ViewPager,带缩放效果) * SwipeCardLayout(高仿探探的卡片滑动效果,一种非常简单的实现思路) * Camera android摄像头的使用和调用系统的照相应用 * Dialog 各种dialog的显示效果, * Permission 6.0以上权限动态申请 * photo 调用系统照片选择和剪切的代码 * other 一些其他的知识 { git使用 vi编辑器的使用 微信,朋友圈,微博,qq分享 微信,支付宝支付 查看keystore内的信息 } ### 网络 (Module: NetWork) * volley网络框架的原理(包装了HttpURLConnection) * okhttp网络框架的原理(代替HttpURLConnection) * retrofit网络框架 (封装了okhttp) * 讲解了Http协议,7层网络框架 * 项目中如何封装okhttp+retrofit ### 图片加载框架 (Module: ImageLoader) * Picasso 使用方法和原理介绍 * Glide 使用方法和原理介绍 * Fresco 使用方法和原理介绍 ### 事件总线框架 (Module: Event) * EventBus原理 * 自定义注解 * 自定义注解处理器介绍(TODO) ### Java并发框架 (Module: Concurrent) * 讲解了线程池原理 * 讲解了FutureTask的原理 * 讲解了同步锁,Lock和Condition ### ORM框架 (Module: Orm) * GreenDao框架 * Room框架(TODO) ### 依赖注入框架(Module: DependencyInjection) * 依赖注入介绍 * ButterKnife 使用方法 * Dagger 使用方法(TODO) ### 视频音频 (Module: Video) * 一些优秀的音视频博客推荐(见源码中的ReadMe.md) * 视频编解码介绍 * Camera和Camera2的使用 * Android音视频录制 * Android照片拍摄、自定义相机 * 直播原理 * OpenGL介绍,OpenGL ES介绍和使用 * 显卡、GPU、显示器接口介绍 * 游戏引擎介绍 ### 插件化/热修复 (Module: Hotfix) * 插庄、Hook原理的一些介绍 * TinkerPatch的使用 (转移到(Module: Kotlin)) ### 自定义Gradle插件(Module: hotfixcustomgradleplugin) * 自定义gradle插件,用来插桩 ### JNI/Binder/AIDL (Module: JNI) * JNI/NDK 的使用 * Binder原理介绍 * AIDL的使用 ### Android应用架构/组件化 (Module: Architecture) * MVC、MVP、MVVM 架构讲解 * ~~最新官方的 Android-Architecture-Component 架构~~(过时,已成为Jetpack一部分) * 官方Android Jetpack 套件介绍 * AndroidX介绍 * 阿里组件化框架Arouter的介绍(TODO) ### Kotlin (Module: Kotlin)(这个已经移动到我的github的另一个仓库) * 介绍了Kotlin的用法,基本语法,优势 ### 自动化构建工具 (Module: BuildTool) * Gradle的理解和使用 * Maven的理解和使用(TODO) ### 性能优化 (Module: Performance) * Android Studio Monitor的使用 * Android Profiler 的使用 * MAT分析内存泄漏 * 性能优化的一些建议 ### 最佳实践的库 (Module: PracticeLib) * 实际上就是面试题集合。。。包括Java面试,Android面试,计算机网络,操作系统 * hr面试,一般问个人综合素质有关的 * 技术总监面试,一般问项目,问算法,问个人能力 ### 算法和数据结构 (Module: Algorithm) * 各种排序、查找算法 * 设计模式6大原则介绍、23种设计模式 * 堆,栈,树,队列,散列表等数据结构的介绍 * 《剑指Offer》算法题介绍和解题 * LeetCode、LintCode 算法题解题 * 各大厂算法题讲解 ### 区块链 * 介绍区块链(先看这个) * 介绍比特币 ### 其他 (Other) * 一些优秀的Android书籍和技术博客推荐! * 一些基本的学习技巧 >这个Project包含多个Module,因为构建所有Module时间太长,所以在settings.gradle可以配置指定的Module名称,来加快构建速度 by popli