转载请注明:http://blog.csdn.net/feather_wch/article/details/52043153
本文用于归纳分类几年Android开发过程中的所有资料。
本文包含主要三部分:
第一部分:精华—是个人关于Java和Android的详细知识点汇总(适合复习和面试),还收集Android相关的部分书籍,以及Android开发途中比较好用的第三方开源库的汇总。
第二部分:Android实践应用—偏应用,Android开发中过程中遇到的各种问题的解决办法。
第三部分:Android基础与进阶—偏基础和理论,介绍Android基础和进阶的相关知识,部分内容从工作流程、底层机制等方面进行详细的剖析,适合深入学习。
Android知识汇总
版本:2018/4/25-1(19:25)~7/18(17:41)
第一部分:精华
1-知识点汇总(面试干货)
2-人不可一日无书
人不可一日无书
3-人欲善其事必先利其器
- Android最优质开源库大全
- Android Studio使用技巧和快捷键汇总
- Android优质开发工具、插件和网站汇总
- Git必须掌握的基本操作
- Android studio 2.3 迁移项目到 3.0
- Android群英传 第二章-ADB
4-收藏的资料
近期发现比较有价值且即将学习的资料。
第二部分:Android基础与进阶
Android和Java的基础与进阶知识,偏向原理层面,适合深入学习也能用于面试复习。
1-安卓基础
0-基础科普
1-IPC
2-View
- Android的刷新机制原理详解
- View的事件体系
- Android View的工作原理
- Android中RemoteViews应用与原理:通知栏和桌面小部件
- Android群英传 第三章1-控件架构
- Android群英传 第三章2-自定义View、控件
View的滑动(Scroll)
3-四大组件+1
4-Window
5-动画机制
6-绘图机制
- Android绘图机制知识点汇总
- Android中的Drawable基础与自定义Drawable
- Bitmap的加载和Cache
- 绘图机制和处理技巧-《Android群英传》第六章
- Matrix详解
- Android的绘制详解
- Path动画实战
7-多线程
Android安卓并发类(从使用到原理)
* handler
* handlerthread
* IntentService
* AsyncTask
8-消息机制
9-JNI/NDK
10-性能优化
1、内存优化
- 内存泄漏如何避免、检测
- 内存抖动怎么办
- 有使用过什么工具吗?
- 如何避免OOM
2、UI优化
- 布局卡顿怎么办
- 如何判断布局需要优化
- 有哪些工具
11-WebView
12-RecyclerView
2-设计模式
- ①策略模式
策略模式 《Head First 设计模式》 - ②观察者模式
观察者模式 《Head First 设计模式》 - ③装饰者模式
装饰者模式 《Head First 设计模式》 - ④工厂模式
工厂模式 《Head First 设计模式》 - ⑤单件模式
单件模式 《Head First 设计模式》 - ⑥命令模式
命令模式 《Head First 设计模式》 - ⑦适配器模式和外观模式
适配器模式和外观模式 《Head First 设计模式》 - ⑧模板方法模式
模板方法模式 《Head First 设计模式》 - ⑨迭代器和组合模式
迭代器和组合模式 《Head First 设计模式》 - ⑩状态模式
状态模式 《Head First 设计模式》 - 11代理模式
代理模式 《Head First 设计模式》 - 12复合模式
复合模式 《Head First 设计模式》
单例(静态内部类和double-check的区别)、几种常用的设计模式使用场景。
3-语言基础
1-Java
- 对象
万物皆对象-《Think in java》第二章 - 内部类、静态类区别
- 集合
- 注解-Java Annotation简述
- 反射-java反射
- 泛型-java泛型
- 异常-java异常处理
- IO-javaIO
Java并发/异步
- 同步锁synchronized与Lock区别
- 什么是可重入锁
- 线程通信方式
- wait和sleep区别
- wait-notify模型
- 生产者消费者模型
- 线程池
2-Kotlin
Kotlin官方文档-翻译
- Kotlin-1.1-基本类型
- Kotlin-1.2-包和导入
- Kotlin-1.3-控制流程(if, when, for, while)
- Kotlin-1.4-返回和跳转
- Kotlin-2.1-类和继承
- Kotlin-2.2-属性和字段
- Kotlin-2.3-接口
- Kotlin-2.4-可见性修饰符
- Kotlin-2.5-扩展
- Kotlin(2.7)密封类
- Kotlin(2.8)泛型
- Kotlin(2.12)代理
- Kotlin(2.13)代理属性
Kotlin in Action《Kotlin实战》
4-数据结构和算法(不多)
插入、冒泡、快速、归并
数组链表的区别、链表插入删除、栈及使用场景、队列以及使用场景(可能有阻塞队列)
红黑书、KMP、最短路径、动态规划、背包问题(进阶问题,了解即可)
5-网络基础(不多)
- Android中的Http和网络框架(Volley/OkHttp/Retrofit)
- 七层模型
- HTTP内容
- 常见响应码
- 缓存相关
- TCP三次握手、四次挥手
- Socket的使用
6-框架原理
框架 | 源码与流程分析 |
---|---|
1.RxJava | |
2.Retrofit | |
3.OkHttp | |
4.Picasso/Glide | |
5.EventBus3 | EventBus要点和源码解析 |
7-架构模式
AOP面向切面编程,在不入侵代码的同时添加功能
路由-流行组件化
8-JVM
- Android虚拟机基本知识(JVM\DVM\ART\JIT)
Android中的堆栈-android:largeHeap=”true”
- 书单:《深入理解Java虚拟机》
9-插件化
插件化需要掌握:
- 类加载机制
- 四大组件启动流程
- 资源加载
- 动态代理
0-综合技术
第三部分:Android实践应用
将实际开发时遇到的问题、知识点进行分类归档,包括一些琐碎的内容。
1-开发工具
- Android Studio下载,SDK下载以及代理
- [Learn Android Studio 汉化教程]第一章 : Android Studio 介绍
- Android Studio中文注释乱码解决方法
- 閿欒: 缂栫爜UTF-8鐨勪笉鍙槧灏勫瓧绗? Android studio乱码
- Android Studio添加依赖时出现“Manifest merger failed”
- 获取签名和android studio设置签名
- this document contains very long lines
- 开发工具集合
- Android Studio 找不到设备
- 开发可能用到的SDK和库
- Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包)
- ADB-《Android群英传》
- SDK中重要的pacakages(包)
- androidmanifest.xml
2-适配
3-Java层面
- 判断字符串是数字、中文还是字母的方法
- Java for Android
- java命名规范
- ByteBuffer.allocate()、BufferUnderflowException
- float小数点内2位
4-四大组件+1
1、Applicaiton
2、Activity
3、Service
4、Content Provider
5、Broadcast
6、Fragment
5-View
1-控件框架和View/自定义View
2-布局
3-显示
- 渐变色
- setTextColor的三种方法
- 获得并设置textview的颜色,getcolor已过时的替代用法
- android使用自定义字体
- 通知栏颜色和APP一致
- 从sd卡中显示一个图片
- Android颜色
4-动画
5-绘图机制
5-Android控件大全
1、EditText
2、RecyclerView、ListView、GridiView、ExpandableListView
- RecyclerView和ListView
- Listview的自定义
- ListView详解
- ListView的适配器Adapter
- Listview取消点击效果
- GridView详解
- GridView的onItemClick无效
- GridView实现照片墙
- ExpandableListView
3、notification
4、radiogroup、radiobutton
5、Rectange Button
6、spinner和dialog
7、下拉刷新
9、ImageSwitcher和HorizontalScrollView
10、ProgressBar
11、ViewFlipper
12、GestureDetector
13、ImageView
15、PopupWindow
16、Dialog
17、TextView
18、SpannableString
19、SurfaceView
20、Material Design
1. Palette详解
1. cardview
6-网络编程
7-数据和数据处理
1、序列化
2、Json解析
3、 文件存储
4、SharedPreferences
5、数据库
8-Android同步/异步
9-Handler、多线程
10-JNI\NDK
11-第三方平台
1、Twitter
2、Facebook
12-内存泄露
13-虚拟机
14-开源库
1、开源库
2、feather个人库
15-出错大全
0-琐碎问题
- Android 各种异常解决办法
- INSTALL_FAILED_INSUFFICIENT_STORAGE、没有R文件
- 返回键的捕获
- Android运行时异常“Binary XML file line # : Error inflating class”
- tools:replace的前缀 tools未绑定
- Genymotion出现错误INSTALL_FAILED_CPU_ABI_INCOMPATIBLE
- 用户定位
- Android获得当前日期和时间的方法
- Error: Could not fork child process: Resource temporarily unavailable (-1)-git bash报错
- Disconnected: No supoorted authentication methods avaliable(server sent: publickey)
- java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/*.so: has text relocations
- Instant Run is disabled for non-debug variants
- error: style attribute ‘@android:attr/windowEnterAnimation’ not found.
- error: expected reference but got (raw string) @+android:style/Animation.Translucent.
- apm install 没反应
- Unable to add window android.view.ViewRootImpl$W@1a8910d – the specified window type 0 is not valid
- Unable to add window android.view.ViewRootImpl$W@56bd4c5 – permission denied for window type 2010
- git push you are not allowed to upload merges
- Manifest merger failed问题:tools:replace=”android:theme”和tools:replace=”android:icon”