AndroidStudy Save

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

Project README

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系列之Lifecycle
2、LiveData :Android Jetpack系列之LiveData
3、ViewModel:Android Jetpack系列之ViewModel
4、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、crossinline
2、Kotlin Flow数据流Kotlin Flow数据流的几种使用场景
3、Kotlin Flow实现一个倒计时功能
4、Kotlin 作用域函数之let、with、run、also、apply的使用
5、Kotlin 常用Collection集合操作
6、Kotlin 中正确的使用Handler
7、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框架及其实现ThreadPoolExecutor
9、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系列之DataStore
3、Android内存缓存LruCache源码解析
4、Android使用磁盘缓存DiskLruCache
5、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封装一个通用的Dialog
2、Android封装一个通用的PopupWindow
3、Android使用WindowManger实现桌面悬浮窗
数据结构&算法 1、Java内存结构 & GC回收
其他知识点 1、Android嵌套滑动的分析与实践
2、startActivityForResult被标记为废弃?Activity Result API闪亮登场!

4、效果展示

系列 备注
自定义View、ViewGroup
Open Source Agenda is not affiliated with "AndroidStudy" Project. README Source: crazyqiang/AndroidStudy

Open Source Agenda Badge

Open Source Agenda Rating