Android 知识汇总

转载请注明: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. Java百题大全

第一部分:精华

1-知识点汇总(面试干货)

Java百题大全
设计模式百题大全

2-人不可一日无书

人不可一日无书

  1. Android书籍汇总
  2. 设计书籍推荐

3-人欲善其事必先利其器

  1. Android最优质开源库大全
  2. Android Studio使用技巧和快捷键汇总
  3. Android优质开发工具、插件和网站汇总
  4. Git必须掌握的基本操作
  5. Android studio 2.3 迁移项目到 3.0
  6. Android群英传 第二章-ADB

4-收藏的资料

近期发现比较有价值且即将学习的资料。

  1. 高级Andorid工程师学习网站
  2. 个人Android知识储备

第二部分:Android基础与进阶

Android和Java的基础与进阶知识,偏向原理层面,适合深入学习也能用于面试复习。

1-安卓基础

0-基础科普

1-IPC

  1. Android进程间通信(IPC)
  2. Binder机制详解
  3. Binder连接池的实现

2-View

  1. Android的刷新机制原理详解
  2. View的事件体系
  3. Android View的工作原理
  4. Android中RemoteViews应用与原理:通知栏和桌面小部件
  5. Android群英传 第三章1-控件架构
  6. Android群英传 第三章2-自定义View、控件
View的滑动(Scroll)
  1. Scroll滑动分析-《Android群英传》第五章

3-四大组件+1

  1. Android四大组件机制详解
  2. Activity的生命周期和启动模式
  3. Android Fragment详解
  4. Android换肤与原理

4-Window

  1. Window和WindowManager知识点深入解析

5-动画机制

  1. Android动画深入分析-知识点大全
  2. 动画机制和处理技巧-《Android群英传》第七章
  3. Android中的拖拽
  4. 属性动画详解

6-绘图机制

  1. Android绘图机制知识点汇总
  2. Android中的Drawable基础与自定义Drawable
  3. Bitmap的加载和Cache
  4. 绘图机制和处理技巧-《Android群英传》第六章
  5. Matrix详解
  6. Android的绘制详解
  7. Path动画实战

7-多线程

  1. Android中的多线程

Android安卓并发类(从使用到原理)
* handler
* handlerthread
* IntentService
* AsyncTask

8-消息机制

  1. Android的消息机制

9-JNI/NDK

  1. JNI和NDK编程知识点

10-性能优化

  1. 性能优化《Android群英传》第十章
  2. 性能优化《Android开发艺术探索》
  3. Android内存泄漏

1、内存优化

  1. 内存泄漏如何避免、检测
  2. 内存抖动怎么办
  3. 有使用过什么工具吗?
  4. 如何避免OOM

2、UI优化

  1. 布局卡顿怎么办
  2. 如何判断布局需要优化
  3. 有哪些工具

11-WebView

  1. Android Uri详细知识点汇总
  2. Android中WebView与JS的交互

12-RecyclerView

  1. RecyclerView原理解析

2-设计模式

单例(静态内部类和double-check的区别)、几种常用的设计模式使用场景。

3-语言基础

  1. 字符编码

1-Java

  1. 对象
    万物皆对象-《Think in java》第二章
  2. 内部类、静态类区别
  3. 集合
  4. 注解-Java Annotation简述
  5. 反射-java反射
  6. 泛型-java泛型
  7. 异常-java异常处理
  8. IO-javaIO

Java并发/异步

  • 同步锁synchronized与Lock区别
  • 什么是可重入锁
  • 线程通信方式
  • wait和sleep区别
  • wait-notify模型
  • 生产者消费者模型
  • 线程池

2-Kotlin

Kotlin

Kotlin官方文档-翻译

  1. Kotlin-1.1-基本类型
  2. Kotlin-1.2-包和导入
  3. Kotlin-1.3-控制流程(if, when, for, while)
  4. Kotlin-1.4-返回和跳转
  5. Kotlin-2.1-类和继承
  6. Kotlin-2.2-属性和字段
  7. Kotlin-2.3-接口
  8. Kotlin-2.4-可见性修饰符
  9. Kotlin-2.5-扩展
  10. Kotlin(2.7)密封类
  11. Kotlin(2.8)泛型
  12. Kotlin(2.12)代理
  13. Kotlin(2.13)代理属性

Kotlin in Action《Kotlin实战》

  1. Kotlin(一)基础篇
  2. Kotlin(二)函数

4-数据结构和算法(不多)

插入、冒泡、快速、归并

数组链表的区别、链表插入删除、栈及使用场景、队列以及使用场景(可能有阻塞队列)

红黑书、KMP、最短路径、动态规划、背包问题(进阶问题,了解即可)

5-网络基础(不多)

  1. Android中的Http和网络框架(Volley/OkHttp/Retrofit)
    • 七层模型
    • HTTP内容
    • 常见响应码
    • 缓存相关
    • TCP三次握手、四次挥手
    • Socket的使用

6-框架原理

框架 源码与流程分析
1.RxJava
2.Retrofit
3.OkHttp
4.Picasso/Glide
5.EventBus3 EventBus要点和源码解析

7-架构模式

  1. MVC、MVP、MVVM详解
  2. Android Data Binding

AOP面向切面编程,在不入侵代码的同时添加功能

路由-流行组件化

8-JVM

  1. Android虚拟机基本知识(JVM\DVM\ART\JIT)
  2. Android中的堆栈-android:largeHeap=”true”

    • 书单:《深入理解Java虚拟机》

9-插件化

插件化需要掌握:

  • 类加载机制
  • 四大组件启动流程
  • 资源加载
  • 动态代理

0-综合技术

  1. Android架构师思路

第三部分:Android实践应用

将实际开发时遇到的问题、知识点进行分类归档,包括一些琐碎的内容。

1-开发工具

  1. Android Studio下载,SDK下载以及代理
  2. [Learn Android Studio 汉化教程]第一章 : Android Studio 介绍
  3. Android Studio中文注释乱码解决方法
  4. 閿欒: 缂栫爜UTF-8鐨勪笉鍙槧灏勫瓧绗? Android studio乱码
  5. Android Studio添加依赖时出现“Manifest merger failed”
  6. 获取签名和android studio设置签名
  7. this document contains very long lines
  8. 开发工具集合
  9. Android Studio 找不到设备
  10. 开发可能用到的SDK和库
  11. Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包)
  12. ADB-《Android群英传》
  13. SDK中重要的pacakages(包)
  14. androidmanifest.xml

2-适配

  1. Android适配大全

3-Java层面

  1. 判断字符串是数字、中文还是字母的方法
  2. Java for Android
  3. java命名规范
  4. ByteBuffer.allocate()、BufferUnderflowException
  5. float小数点内2位

4-四大组件+1

1、Applicaiton

  1. application

2、Activity

  1. activity、intent知识和总结
  2. activity和四个基本控件
  3. Activity的生命周期
  4. 生命周期知识点汇总
  5. activity去除标题栏title
  6. activity去除标题后activity崩溃
  7. activity之间共享数据的五种方法
  8. 禁止横竖屏切换、设置横屏
  9. Activity五种数据传递方式

3、Service

  1. Service

4、Content Provider

  1. Content Provider

5、Broadcast

  1. Broadcast
  2. unregisterReceiver报错处理(注销广播)

6、Fragment

  1. Android Fragmentation
  2. Fragmen中WebView进行回退
  3. Fragment
  4. Fragment与activity通信
  5. Fragment中findViewById为null
  6. 让多个fragment切换时不被实例化
  7. Android应用经典主界面框架之一:仿QQ (使用Fragment, 附源码)
  8. Fragment中使用listview

5-View

1-控件框架和View/自定义View

  1. 体系与系统架构
  2. 控件架构与自定义控件
  3. View、ViewGroup的测量和绘制
  4. 自定义View、控件
  5. User Interface
  6. UI

2-布局

  1. 布局初步(上)
  2. 布局初步(下)
  3. ConstraintLayout
  4. CoordinatorLayout、AppbarLayout和CollapsingToolbarLayout

3-显示

  1. 渐变色
  2. setTextColor的三种方法
  3. 获得并设置textview的颜色,getcolor已过时的替代用法
  4. android使用自定义字体
  5. 通知栏颜色和APP一致
  6. 从sd卡中显示一个图片
  7. Android颜色

4-动画

  1. animation

5-绘图机制

  1. Matrix的注意点
  2. android .9.png
  3. 图片的异步加载
  4. 加载网络图片-radiobutton、imageview

5-Android控件大全

  1. 常用控件-单选框,toast,checkbox,progressbar,listview
  2. Toast大全-包括自定义等
  3. NumberPicker的使用、关闭可编辑模式

1、EditText

  1. EditText不获取焦点和监听
  2. EditText限制输入字符类型的几种方式
  3. EditText如何判断为空
  4. EditText输入法如何不把选项卡顶上去

2、RecyclerView、ListView、GridiView、ExpandableListView

  1. RecyclerView和ListView
  2. Listview的自定义
  3. ListView详解
  4. ListView的适配器Adapter
  5. Listview取消点击效果
  6. GridView详解
  7. GridView的onItemClick无效
  8. GridView实现照片墙
  9. ExpandableListView

3、notification

  1. Notification的多种用法

4、radiogroup、radiobutton

  1. RadioButton图片和图片尺寸
  2. FlowRadioGroup-自定义布局

5、Rectange Button

  1. Rectange Button的使用

6、spinner和dialog

  1. spinner下拉框和dialog

7、下拉刷新

  1. SwipeRefreshLayout下拉刷新
  2. PullToRefresh下拉刷新

9、ImageSwitcher和HorizontalScrollView

  1. ImageSwitcher和HorizontalScrollView实现相册
  2. 侧滑菜单-自定义HorizaontalScrollView

10、ProgressBar

  1. ProgressBar实现各种效果的圆形进度
  2. Android简单自定义圆形和水平ProgressBar

11、ViewFlipper

  1. ViewFlipper左右滑屏切换页面

12、GestureDetector

  1. GestureDetector监听各种手势

13、ImageView

  1. 圆形ImageView
  2. 点击图片放大
  3. ImageView.ScaleType设置图解
  4. 海报组的ImageView
  5. android-gif-drawable教程

15、PopupWindow

  1. PopupWindow

16、Dialog

  1. AlertDialog使用和自定义

17、TextView

  1. 给TextView设置图片的两种实现方法

18、SpannableString

  1. SpannableString

19、SurfaceView

  1. SurfaceView介绍和通用模板

20、Material Design
1. Palette详解
1. cardview

6-网络编程

  1. Socket
  2. wifi功能
  3. NIO和IO
  4. SocketChannel的read值为0
  5. http操作

7-数据和数据处理

1、序列化

  1. Parcelable
  2. 反序列化报错:E/Parcel: Class not found when unmarshalling

2、Json解析

  1. json解析简单示例
  2. gson使用
  3. 通过JSON保存数据

3、 文件存储

  1. 读写文件(内存,sd等多种)

4、SharedPreferences

  1. SharedPreferences

5、数据库

  1. Sqlite在android中的使用
  2. SQLite如何判断表是否存在
  3. 数据库SQLite错误汇总
  4. SQLite日期存储

8-Android同步/异步

  1. Android中的同步与Mutex
  2. 异步任务AsyncTask

9-Handler、多线程

  1. Android线程池的使用
  2. handler与多线程
  3. 终止多线程的方法

10-JNI\NDK

  1. JNI和NDK编程
  2. Android Stduio 3.0进行JNI和NDK开发

11-第三方平台

1、Twitter

  1. Android Twitter集成教程
  2. Twitter登陆报错: Desktop applications only support the oauth_callback

2、Facebook

  1. Facebook Android集成和开发

12-内存泄露

  1. LeakCanary使用教程

13-虚拟机

  1. Unable to start the virtual device. VirtualBox cannot start the virtual device.
  2. Genymotion安装使用教程详解

14-开源库

1、开源库

  1. MPAndroidChart
  2. 仿QQ5.0侧滑菜单ResideMenu
  3. ACharEngine实现图形绘制
  4. BezierView:仿QQ未读消息99+条的红色气泡

2、feather个人库

  1. 完全关闭应用程序
  2. 自制简易QQ

15-出错大全

0-琐碎问题

  1. Android 各种异常解决办法
  2. INSTALL_FAILED_INSUFFICIENT_STORAGE、没有R文件
  3. 返回键的捕获
  4. Android运行时异常“Binary XML file line # : Error inflating class”
  5. tools:replace的前缀 tools未绑定
  6. Genymotion出现错误INSTALL_FAILED_CPU_ABI_INCOMPATIBLE
  7. 用户定位
  8. Android获得当前日期和时间的方法
  9. Error: Could not fork child process: Resource temporarily unavailable (-1)-git bash报错
  10. Disconnected: No supoorted authentication methods avaliable(server sent: publickey)
  11. java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/*.so: has text relocations
  12. Instant Run is disabled for non-debug variants
  13. error: style attribute ‘@android:attr/windowEnterAnimation’ not found.
  14. error: expected reference but got (raw string) @+android:style/Animation.Translucent.
  15. apm install 没反应
  16. Unable to add window android.view.ViewRootImpl$W@1a8910d – the specified window type 0 is not valid
  17. Unable to add window android.view.ViewRootImpl$W@56bd4c5 – permission denied for window type 2010
  18. git push you are not allowed to upload merges
  19. Manifest merger failed问题:tools:replace=”android:theme”和tools:replace=”android:icon”

第四部分:书籍是人类进步的阶梯

Android群英传

  1. Android群英传 第一章-体系与系统架构
  2. Android群英传 第二章-ADB

猜你喜欢

转载自blog.csdn.net/feather_wch/article/details/52043153