AndroidStudy

🔥 Android学习知识点总结 Jetpack、MVVM、MVI、Kotlin、ViewPager2、JUC多线程等,欢迎star!

Stars
2.1K
Committers
3

1、扫码关注

欢迎扫描下方二维或搜索微信公众号 代码说 关注我的微信公众号查看最新文章,期待您的关注~

  • 扫描二维码下载APK示例

apk 或者 点击此处链接下载APK

2、更新日志

更新日志 备注
lib_dialog NOTE: dialog库已迁移到maven仓库,引入方式: implementation 'io.github.mqcodedev:lib_dialog:1.3.0' 别忘了在根目录下的build.gradle中声明 mavenCentral(),现在新建项目默认会自动引入 Jcenter引入方式:implementation 'com.ninetripods:lib-dialog:1.1.0'未来Jcenter不允许更新版本,墙裂建议使用maven方式引入 版本改动说明:Dialog库README文档Blog地址:Android基于DialogFragment封装一个通用的Dialog
lib_viewpager2 基于ViewPager2实现的自动(手动)无限轮播,支持自定义ItemView及转场动画等引入方式: implementation 'io.github.mqcodedev:lib_mvpager2:1.0.0-rc3' 使用说明:MVPager2库README文档 Blog地址:1、深入理解ViewPager2原理及其实践(上篇)2、深入理解ViewPager2原理及其实践(下篇)3、Android仿淘宝、京东Banner滑动查看图文详情 基本使用:仿淘宝搜索栏上下轮播:仿淘宝、京东Banner滑动查看图文详情:

3、Blog发布

系列 备注
Jetpack 1、Lifecycle: Android Jetpack系列之Lifecycle2、LiveData :Android Jetpack系列之LiveData3、ViewModel:Android Jetpack系列之ViewModel4、LiveDataBus:Android基于LiveData实现消息总线5、Jetpack MVVM:Android Jetpack系列之MVVM使用及封装Android Jetpack系列之MVVM使用及封装(续)6、Jetpack MVI: Android Jetpack系列之MVI架构7、DataStore:Android Jetpack系列之DataStore
Kotlin 1、Kotlin | 内联函数inline、noinline、crossinline2、Kotlin Flow数据流Kotlin Flow数据流的几种使用场景 3、Kotlin Flow实现一个倒计时功能 4、Kotlin 作用域函数之let、with、run、also、apply的使用 5、Kotlin 常用Collection集合操作6、Kotlin 中正确的使用Handler7、Kotlin 之@JvmOverloads、@JvmStatic、@JvmField、@JvmInline等注解使用总结8、Kotlin data数据类、copy()函数、sealed密封类 9、Kotlin 深入理解协程 10、Kotlin 使用vararg可变参数11、Kotlin 理解泛型
Gradle 1、Gradle理论与实践一:Gradle入门2、Gradle理论与实践二:Groovy介绍 3、Gradle理论与实践三:Gradle构建脚本基础4、Gradle理论与实践四:自定义Gradle插件5、Gradle配置中subprojects和allprojects的区别6、添加buid.gradle配置信息,支持多渠道打包
多线程 Java & Android: 1、Android多线程之HandlerThread 2、Android多线程之IntentService 3、Android中Callable、Future、FutureTask的概念以及几种线程池的使用4、Android异步消息处理机制之Handler、Looper、Message 5、Java多线程之ThreadLocal的使用及源码解析6、Java线程基础知识点7、JUC系列学习:AbstractQueuedSynchronizer同步器框架及相关实现类8、JUC系列学习:线程池Executor框架及其实现ThreadPoolExecutor9、JUC系列学习:阻塞队列BlockingQueue介绍及其相关实现ArrayBlockingQueue、LinkedBlockingQueue等的使用及源码分析10、JUC系列学习:CountDownLatch、Semaphore、CyclicBarrier的使用及源码解析11、JUC系列学习:ReentrantLock的使用、源码解析及与Synchronized的异同12、JUC系列学习:ReentrantReadWriteLock的使用及源码解析13、Java生产者、消费者模式的几种实现方式14、Java多个线程顺序循环执行的几种实现方式
深入理解系列 1、Android深入理解View.post()获取宽高及其Window加载View原理2、Android深入理解RecyclerView的缓存机制
Android存储 1、Android本地存储之SharedPreferences源码解析2、DataStore:Android Jetpack系列之DataStore3、Android内存缓存LruCache源码解析4、Android使用磁盘缓存DiskLruCache5、Android使用LruCache、DiskLruCache实现图片缓存+图片瀑布流6、Android本地存储的几种方式7、Android数据库Sqlite的基本用法及升级策略
Android View相关 自定义View相关1、Android自定义View中的常用方法(距离、位置、点击事件)2、Android View滑动相关的基础知识点3、Android自定义View工具:Paint&Canvas(一)4、Android自定义View工具:Paint&Canvas(二)5、Android Canvas之Path操作RecyclerView相关1、Android深入理解RecyclerView的缓存机制2、转载:RecyclerView onAttachedToWindow、onDetachedFromWindow、onViewRecycled等执行时机3、Android使用RecycleView实现魅族手机通讯录界面4、Android仿QQ侧滑菜单5、Android高仿QQ小红点6、深入理解ViewPager2原理及其实践(上篇)7、深入理解ViewPager2原理及其实践(下篇)View相关1、Android ViewTreeObserver使用总结及获得View宽高的几种方法动画相关1、Android 补间动画及动画组合AnimationSet常用方法整理
字节码插桩 1、自定义Annotation注解及解析 2、Android 采用AOP方式封装6.0权限管理-待升级
弹窗相关 1、Android基于DialogFragment封装一个通用的Dialog2、Android封装一个通用的PopupWindow3、Android使用WindowManger实现桌面悬浮窗
数据结构&算法 1、Java内存结构 & GC回收
其他知识点 1、Android嵌套滑动的分析与实践 2、startActivityForResult被标记为废弃?Activity Result API闪亮登场!

4、效果展示

系列 备注
自定义View、ViewGroup
Package Rankings
Top 19.9% on Repo1.maven.org
Related Projects