/AndroidStudy

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

Primary LanguageJava

欢迎扫码关注

欢迎扫描下方二维码或搜索公众号 代码说 关注我的微信公众号查看最新文章,在公众号回复 hello world 不定时参与现金红包抽奖,期待您的关注~

扫描二维码下载APK示例

apk

或者 点击此处链接下载APK

更新日志

更新日志 备注
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-rc2'

使用说明:MVPager2库README文档
Blog地址:
1、深入理解ViewPager2原理及其实践(上篇)
2、深入理解ViewPager2原理及其实践(下篇)
基本使用:


仿淘宝搜索栏上下轮播:

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、DataStore:Android Jetpack系列之DataStore
Kotlin 1、Kotlin内联函数inline、noinline、crossinline
2、Kotlin之Flow数据流
3、Kotlin之常用Collection集合操作
4、Kotlin 作用域函数之let、with、run、also、apply的使用
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多个线程顺序循环执行的几种实现方式
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原理及其实践(下篇)
字节码插桩 1、自定义Annotation注解及解析
2、Android 采用AOP方式封装6.0权限管理-待升级
PopupWindow 1、Android基于DialogFragment封装一个通用的Dialog
2、Android封装一个通用的PopupWindow
3、Android使用WindowManger实现桌面悬浮窗
其他 1、Java内存结构 & GC回收
2、Android嵌套滑动的分析与实践

效果展示

Android多线程之HandlerThread、IntentService:

HandlerThread.gif IntentService.gif

Android中几种线程池的使用:

CachedThreadPool.gif FixedThreadPool.gif SingleThreadExecutor.gif Schedule.gif

LruCache、DiskLruCache实现图片缓存,瀑布流:

ImgCache.gif

仿QQ侧滑菜单、小红点:

Swipe_menu.gif qq_point.gif

仿魅族通讯录、通用PopupWindow:

Contacts.gif PopupWindow.gif

Bundle、AIDL、Messenger、Binder:

intent.gif aidl.gif messenger.gif binder.gif

自定义View、ViewGroup

initpintu.jpg