个人Android知识体系(持续更新)

Android App:
一、View
1.1 ActionBar
1、ActionBar的home键
2、利用代码移除系统自带的标题栏
3、Android中层级导航的实现示例
4、Android中工具栏菜单使用示例

1.2 AlertDialog
1、禁用AlertDialog的按键

1.3 LinearLayout
1、LinearLayout增加分隔线

1.4 WebView
1、Android WebView的基本用法

1.5 RecyclerView
1、RecyclerView的基本使用方法
2、RecyclerView滑动到指定位置的接口
3、RecyclerView检测滑动到顶部或底部的代码示例

1.6 SearchView
1、SearchView的基本使用示例

1.7 ViewPager
1、ViewPager与Fragment组合时的基本使用方法
2、Android界面滑动切换:MotionEvent、GestureListener及ViewPager

1.8 View用法示例
1、Android触摸事件传递机制简要分析
2、ViewTreeObserver用法示例


二、Fragment
2.1 通用
1、Fragment调用setRetainInstance的原理
2、Android支持库中Fragment的使用及参数传递
3、基于Fragment回调接口委托工作任务给托管Activity

2.2 DialogFragment
1、控制DialogFragment显示在界面底部
2、Android中DialogFragment使用示例


三、动画
1、Android属性动画(ObjectAnimator)的基本用法
2、Android逐帧动画和补间动画
3、Android过渡动画(Transition Animation


四、开源库
4.1 Volley
1、Android中Volley的使用及部分源码分析
2、Android Volley源码分析(1)
3、Android Volley源码分析(2)

4.2 EventBus
1、Android开源库EventBus的使用及注意事项

4.3 Picasso
1、Picasso库的简单用法

4.4 注解support-annotations
1、Android中的注解
2、示例:Android注解实现代码注入
3、AbstractProcessor: 利用注解动态生成代码

4.5 Material Design
1、Design Support Library(支撑Material Design)


五、NDK开发
1、Android JNI开发示例


六、开发工具
6.1 Android Studio
1、AndroidStudio中导入/上传GitHub项目
2、使用Android Studio生成类库

6.2 内存
1、Android内存分析工具:Memory Profiler
2、LeakCanary使用简介

6.3 编译
1、Android Gradle学习记录1 基本特点
2、Android Gradle学习记录2 类及脚本的特点
3、Android Gradle学习记录3 Groovy处理文件
4、Android Gradle学习记录4 Gradle概念及工作流程
5、Android Gradle学习记录5 Gradle补充说明
6、Android Gradle学习记录6 代码记录(持续补充)
7、Gradle中SDK版本及versoin版本的含义
8、Android应用的编译过程

6.4 代码管理
1、Jenkins代码审查功能的实现方案
2、Android Local Manifests机制

6.5 其它
1、CodeModel生成Java类


七、开发示例
7.1 类使用示例
权限
1、Android应用中定义权限的基本方法
2、Android应用申请运行时权限(Permission)示例

广播
1、Android中LocalBroadcastManager的基本用法及源码分析
2、Android中有序广播的基本使用方法

内存与数据
1、LruCache的基本用法
2、Android中SQLite使用示例

任务安排
1、AsyncTaskLoader的基本用法
2、Android中JobScheduler和JobService的简单使用示例
3、Android中PendingIntent的简单使用

资源使用
1、Android中SoundPool播放音频示例
2、Android中Assets使用示例

Tricks
1、Android中Application类保存全局变量
2、利用PackageManager判断系统中是否存在与Intent匹配的组件
3、Android中隐式Intent及支持库中的IntentBuilder使用示例
4、Android中Date使用示例
5、startActivityForResult使用示例

7.2 功能实现示例
安全
1、Android 证书检测问题
2、Google Play Service中安全检测API的使用说明

网络
1、Android连接指定Wifi的方法
2、Android建立网络连接,利用JSON数据获取百度图片搜索结果及GSON的简单使用

界面
1、Android进入设置中应用对应的详情界面
2、Android定制视图及手势检测的基本示例

获取数据
1、Android获取SD card路径
2、Android获取设备上全部应用名称及图片的示例
3、Android中访问联系人数据示例
4、获取联系人的电话号码

第三方工具使用
1、Android二维码的创建、解析及NotFoundException
2、Android百度地图使用示例

其它
1、通过Intent.ACTION_NEW_OUTGOING_CALL拦截电话拨号
2、Android实现简单Launcher的代码示例
3、拍照及图片显示


八、其它
8.1 异常分析
1、Android SQLite数据库异常: unable to open database file
2、Android Binder: TranscationTooLargeException分析
3、Android 8.0 解决OkHttp问题:A connection to xxx was leaked. Did you forget to close a response body?
4、Comparator异常:Comparison method violates its general contract!

8.2 零碎知识
属性控制
1、AndroidManifest中的一些属性
2、Intent Flag:FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
3、Android中的并发文档技术
4、Android中应用分包的方法(Apk Splits)
5、屏幕适配时,别名资源的使用
6、Android中的样式Style和主题Theme使用示例

概念
1、Android中的UID和AppId
2、Android中WebP图片文件
3、Android PathData生成问题
4、Android中的string资源占位符及Plurals string
5、Android中设备配置和备选资源的概念
6、Android中的XML drawable
7、Android xml中tools命名空间用途示例

原理
1、Fragment Transactions & Activity State Loss
2、Android内存泄露
3、Android的MVC数据流
4、Android中的MVP模式
5、Android xml中layout_weight属性的工作原理


Android Framework:
一、启动
1、init进程
1、Android7.0 init进程源码分析
2、Android O: init进程启动流程分析(阶段一)
3、Android O: init进程启动流程分析(阶段二)
4、Android O: init进程启动流程分析(阶段三)

2、Zygote进程
1、Android6.0 Zygote进程
2、Android O: zygote进程分析

3、SystemServer进程
1、Android6.0 SystemServer进程

二、View
2.1 触摸事件分发
1、Android O: 触摸事件传递流程源码分析(上)
2、Android O: 触摸事件传递流程源码分析(下)
2.2 View绘制
1、Android O: View的绘制流程(一): 创建和加载
2、Android O: View的绘制流程(二):测量
3、Android O: View的绘制流程(三):布局和绘制

三、Message
1、Android7.0 MessageQueue

四、异步任务
1、Android 7.0 AsyncTask分析
2、Android O: AsyncQueryHandler分析

五、进程间通信
1、Android中的Messenger的原理及基本用法
2、Android7.0 Binder通信(1) ServiceManger
3、Android7.0 Binder通信(2) 服务进程的注册
4、Android7.0 Binder通信(3) 客户进程查询和使用服务进程
5、Android7.0 Binder通信(4) Java层中的Binder

六、ActivityManagerService
1、Android 7.0 ActivityManagerService(1) AMS的启动过程
2、Android 7.0 ActivityManagerService(2) 启动Activity的过程:一
3、Android 7.0 ActivityManagerService(3) 启动Activity的过程:二
4、Android 7.0 ActivityManagerService(4) 启动Activity的过程:三
5、Android 7.0 ActivityManagerService(5) 广播(Broadcast)相关流程分析
6、Android 7.0 ActivityManagerService(6) Service相关流程分析
7、Android 7.0 ActivityManagerService(7) 进程管理相关流程分析(1)
8、Android 7.0 ActivityManagerService(8) 进程管理相关流程分析(2) updateOomAdjLocked
9、Android 7.0 ActivityManagerService(9) 进程管理相关流程分析(3) computeOomAdjLocked
10、Android 7.0 ActivityManagerService(10) App的crash处理
11、Android N中Service相关流程概述

七、数据业务
1、Android N数据业务总结
2、Android 7.0 插卡后APN信息的加载流程、UI界面编辑APN的流程及Android中APN配置相关的漏洞
3、Android7.0 Voicemail (1) Voicemail的下载流程
4、Android7.0 IMS(1)开机初始化
5、Android7.0 Rild工作流程
6、Android7.0 PhoneApp的启动
7、Android7.0 数据业务基础类的创建
8、Android7.0 数据拨号前的准备工作
9、Android7.0 数据业务长连接拨号过程
10、Android7.0 数据业务长连接去拨号过程
11、Android7.0 数据业务中的短连接
12、Android6.0 APN

八、电源管理
1、Android7.0 PowerManagerService(1) 启动过程
2、Android7.0 PowerManagerService(2) WakeLock的使用及流程
3、Android7.0 PowerManagerService(3) 核心函数updatePowerStateLocked的主要流程
4、Android7.0 PowerManagerService(4) Power按键流程
5、Android7.0 BatteryService
6、Android7.0 BatteryStatsService
7、Android7.0 Doze模式

九、PackageManagerService
1、Android7.0 PackageManagerService (1) 通信结构、启动和main函数
2、Android7.0 PackageManagerService (2) PKMS构造函数的主要工作
3、Android7.0 PackageManagerService (3) APK安装
4、Android7.0 PackageManagerService (4) Intent匹配Activity的过程
5、Android7.0 PackageManagerService (5) installd

十、其它
1、Android O :清除应用数据
2、Android 7.0 Vold工作流程
3、Android6.0 ueventd
4、Android6.0 watchdog
5、Android O: 获取APK中so的路径


Java基础
一、概念
1、Java中的UUID
2、Java对象的强、软、弱、虚引用

二、并发
2.1 锁
1、Java中的读/写锁

2.2 并发框架
1、Executor Framework分析 (一) 概述
2、Executor Framework分析 (二) ThreadPoolExecutor主要参数分析
3、Executor Framework分析 (三) ThreadPoolExecutor部分函数分析

三、设计模式
1、外观模式
2、适配器模式
3、命令模式
4、单例模式
5、工厂方法模式与抽象工厂模式
6、装饰者模式
7、观察者模式
8、策略模式

四、其它
1、Java解析Excel实例解析
2、利用ASM加密Jar包字符串

猜你喜欢

转载自blog.csdn.net/gaugamela/article/details/78655546