Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/crazyqiang/androidstudy

🔥 Android学习知识点总结 Jetpack、MVVM、MVI、Kotlin、ViewPager2、JUC多线程等,欢迎star!
https://github.com/crazyqiang/androidstudy

android androidx-viewpager2 banner dialog dialogfragment gradle handlerthread jetpack jetpack-datastore jetpack-lifecycle jetpack-livedata jetpack-mvvm jetpack-viewmodel juc-multithread kotlin-dsl mvvm thread

Last synced: about 1 month ago
JSON representation

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

Awesome Lists containing this project

README

        

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

- 扫描二维码下载APK示例

![apk](https://img-blog.csdnimg.cn/16b3a4447ccb43b9a72280e6b5821cf5.png)
或者 [点击此处链接下载APK](https://www.pgyer.com/QO2p)

## 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文档](https://github.com/crazyqiang/AndroidStudy/blob/master/lib_dialog/README.md)
Blog地址:[Android基于DialogFragment封装一个通用的Dialog](https://blog.csdn.net/u013700502/article/details/82777402)
lib_viewpager2 |基于ViewPager2实现的自动(手动)无限轮播,支持自定义ItemView及转场动画等
引入方式:
__implementation 'io.github.mqcodedev:lib_mvpager2:1.0.0-rc3'__

使用说明:[MVPager2库README文档](https://github.com/crazyqiang/AndroidStudy/blob/master/lib_viewpager2/README.md)
Blog地址:
1、[深入理解ViewPager2原理及其实践(上篇)](https://mp.weixin.qq.com/s/zb_A3Ytqvc7smFCB4U8YYA)
2、[深入理解ViewPager2原理及其实践(下篇)](https://mp.weixin.qq.com/s/5M7rNBbhg3_gHbaOF_WZZA)
3、[Android仿淘宝、京东Banner滑动查看图文详情](https://mp.weixin.qq.com/s/xMh-h5wJHO6By6l4bjQc8g) |基本使用:


仿淘宝搜索栏上下轮播:


仿淘宝、京东Banner滑动查看图文详情:

## 3、Blog发布
系列 | 备注
:----|:----
Jetpack | 1、Lifecycle: [Android Jetpack系列之Lifecycle](https://blog.csdn.net/u013700502/article/details/118469311)
2、LiveData :[Android Jetpack系列之LiveData](https://blog.csdn.net/u013700502/article/details/118866217)
3、ViewModel:[Android Jetpack系列之ViewModel](https://blog.csdn.net/u013700502/article/details/118962560)
4、LiveDataBus:[Android基于LiveData实现消息总线](https://blog.csdn.net/u013700502/article/details/120170790)
5、Jetpack MVVM:[Android Jetpack系列之MVVM使用及封装](https://blog.csdn.net/u013700502/article/details/120263741)、[Android Jetpack系列之MVVM使用及封装(续)](https://blog.csdn.net/u013700502/article/details/124621595)
6、Jetpack MVI: [Android Jetpack系列之MVI架构](https://mp.weixin.qq.com/s/lCgztZ4g2qCftFhR2yJiLw)
7、DataStore:[Android Jetpack系列之DataStore](https://blog.csdn.net/u013700502/article/details/121076531)
Kotlin | 1、[Kotlin \| 内联函数inline、noinline、crossinline](https://blog.csdn.net/u013700502/article/details/119923024)
2、[Kotlin Flow数据流](https://blog.csdn.net/u013700502/article/details/120526170)、[Kotlin Flow数据流的几种使用场景](https://blog.csdn.net/u013700502/article/details/129543737)
3、[Kotlin Flow实现一个倒计时功能](https://mp.weixin.qq.com/s/IJYEj00576ircTkDHjnrcg)
4、[Kotlin 作用域函数之let、with、run、also、apply的使用](https://blog.csdn.net/u013700502/article/details/124677447)
5、[Kotlin 常用Collection集合操作](https://blog.csdn.net/u013700502/article/details/123115051)
6、[Kotlin 中正确的使用Handler](https://mp.weixin.qq.com/s/ohkDrjxuIOs5ZZu5tBMAGQ)
7、[Kotlin 之@JvmOverloads、@JvmStatic、@JvmField、@JvmInline等注解使用总结](https://blog.csdn.net/u013700502/article/details/127140344)
8、[Kotlin data数据类、copy()函数、sealed密封类](https://blog.csdn.net/u013700502/article/details/127177874)
9、[Kotlin 深入理解协程](https://mp.weixin.qq.com/s/AkG-AataO87VOVS_FIONvA)
10、[Kotlin 使用vararg可变参数](https://mp.weixin.qq.com/s/o5Sa_7Sqd1LLDNsY8psA-w)
11、[Kotlin 理解泛型](https://blog.csdn.net/u013700502/article/details/128422990)
Gradle | 1、Gradle理论与实践一:[Gradle入门](https://blog.csdn.net/u013700502/article/details/85231505 )
2、Gradle理论与实践二:[Groovy介绍 ](https://blog.csdn.net/u013700502/article/details/85231600)
3、Gradle理论与实践三:[Gradle构建脚本基础](https://blog.csdn.net/u013700502/article/details/85231661)
4、Gradle理论与实践四:[自定义Gradle插件](https://blog.csdn.net/u013700502/article/details/85232032)
5、[Gradle配置中subprojects和allprojects的区别](https://blog.csdn.net/u013700502/article/details/85231687)
6、[添加buid.gradle配置信息,支持多渠道打包](http://www.jianshu.com/p/11484fddda23)
多线程 | **Java & Android:**
1、[Android多线程之HandlerThread](https://blog.csdn.net/u013700502/article/details/76421939)
2、[Android多线程之IntentService](https://blog.csdn.net/u013700502/article/details/76421161)
3、[Android中Callable、Future、FutureTask的概念以及几种线程池的使用](https://blog.csdn.net/u013700502/article/details/76421956)
4、[Android异步消息处理机制之Handler、Looper、Message](https://blog.csdn.net/u013700502/article/details/62105858)
5、[Java多线程之ThreadLocal的使用及源码解析](https://blog.csdn.net/u013700502/article/details/105793313)
6、[Java线程基础知识点](https://blog.csdn.net/u013700502/article/details/112130839)
7、[JUC系列学习:AbstractQueuedSynchronizer同步器框架及相关实现类](https://blog.csdn.net/u013700502/article/details/112113248)
8、[JUC系列学习:线程池Executor框架及其实现ThreadPoolExecutor](https://blog.csdn.net/u013700502/article/details/111828418)
9、[JUC系列学习:阻塞队列BlockingQueue介绍及其相关实现ArrayBlockingQueue、LinkedBlockingQueue等的使用及源码分析](https://blog.csdn.net/u013700502/article/details/107478570)
10、[JUC系列学习:CountDownLatch、Semaphore、CyclicBarrier的使用及源码解析](https://blog.csdn.net/u013700502/article/details/107478545)
11、[JUC系列学习:ReentrantLock的使用、源码解析及与Synchronized的异同](https://blog.csdn.net/u013700502/article/details/107478281)
12、[JUC系列学习:ReentrantReadWriteLock的使用及源码解析](https://blog.csdn.net/u013700502/article/details/107478493)
13、[Java生产者、消费者模式的几种实现方式](https://blog.csdn.net/u013700502/article/details/107478721)
14、[Java多个线程顺序循环执行的几种实现方式](https://blog.csdn.net/u013700502/article/details/107478844)
深入理解系列 | 1、[Android深入理解View.post()获取宽高及其Window加载View原理](https://mp.weixin.qq.com/s/0lz361crGR9Y5G3ZOZoiVQ)
2、[Android深入理解RecyclerView的缓存机制](https://blog.csdn.net/u013700502/article/details/105058771)
Android存储 | 1、[Android本地存储之SharedPreferences源码解析](https://blog.csdn.net/u013700502/article/details/53635499)
2、DataStore:[Android Jetpack系列之DataStore](https://blog.csdn.net/u013700502/article/details/121076531)
3、[Android内存缓存LruCache源码解析](https://blog.csdn.net/u013700502/article/details/75258325)
4、[Android使用磁盘缓存DiskLruCache](https://blog.csdn.net/u013700502/article/details/75258257)
5、[Android使用LruCache、DiskLruCache实现图片缓存+图片瀑布流](https://blog.csdn.net/u013700502/article/details/75258375)
6、[Android本地存储的几种方式](https://blog.csdn.net/u013700502/article/details/79067909)
7、[Android数据库Sqlite的基本用法及升级策略](https://blog.csdn.net/u013700502/article/details/78764917)
Android View相关 | __自定义View相关__
1、[Android自定义View中的常用方法(距离、位置、点击事件)](https://blog.csdn.net/u013700502/article/details/53638314)
2、[Android View滑动相关的基础知识点](https://blog.csdn.net/u013700502/article/details/73162741)
3、[Android自定义View工具:Paint&Canvas(一)](https://blog.csdn.net/u013700502/article/details/114494126)
4、[Android自定义View工具:Paint&Canvas(二)](https://blog.csdn.net/u013700502/article/details/114494191)
5、[Android Canvas之Path操作](https://blog.csdn.net/u013700502/article/details/114494273)
__RecyclerView相关__:
1、[Android深入理解RecyclerView的缓存机制](https://blog.csdn.net/u013700502/article/details/105058771)
2、[转载:RecyclerView onAttachedToWindow、onDetachedFromWindow、onViewRecycled等执行时机](https://blog.csdn.net/u013700502/article/details/125208803)
3、[Android使用RecycleView实现魅族手机通讯录界面](https://blog.csdn.net/u013700502/article/details/72818511)
4、[Android仿QQ侧滑菜单](https://blog.csdn.net/u013700502/article/details/73162684)
5、[Android高仿QQ小红点](https://blog.csdn.net/u013700502/article/details/73478560)
6、[深入理解ViewPager2原理及其实践(上篇)](https://blog.csdn.net/u013700502/article/details/122714365)
7、[深入理解ViewPager2原理及其实践(下篇)](https://blog.csdn.net/u013700502/article/details/122756855)
__View相关__
1、[Android ViewTreeObserver使用总结及获得View宽高的几种方法](https://mp.weixin.qq.com/s/r9aNSoYu7FGLaORKUDLhrA)
__动画相关__:
1、[Android 补间动画及动画组合AnimationSet常用方法整理](https://mp.weixin.qq.com/s/ldZZ0Dh-iIO6eR-T2zn0Gw)
字节码插桩 | 1、[自定义Annotation注解及解析](https://blog.csdn.net/u013700502/article/details/79729882)
2、[Android 采用AOP方式封装6.0权限管理-待升级](https://blog.csdn.net/u013700502/article/details/79748829)
弹窗相关 | 1、[Android基于DialogFragment封装一个通用的Dialog](https://blog.csdn.net/u013700502/article/details/82777402)
2、[Android封装一个通用的PopupWindow](https://blog.csdn.net/u013700502/article/details/71275093)
3、[Android使用WindowManger实现桌面悬浮窗](https://blog.csdn.net/u013700502/article/details/114453653)
数据结构&算法 | 1、[Java内存结构 & GC回收](https://mp.weixin.qq.com/s/aZsyCc8OUOqR7LWVYFKzXA)

其他知识点 | 1、[Android嵌套滑动的分析与实践](https://blog.csdn.net/u013700502/article/details/80834819)
2、[startActivityForResult被标记为废弃?Activity Result API闪亮登场!](https://mp.weixin.qq.com/s/ebdtPCDmo9Fg3jBfcG8r4w)

## 4、效果展示
系列 | 备注
:----|:----
自定义View、ViewGroup |