Android 知识汇总

转载请注明:http://blog.csdn.net/feather_wch/article/details/52043153

本文用于归纳分类几年Android开发过程中的所有资料。


本文包含主要三部分:
第一部分:主要是关于个人的内容。
第二部分:遍布Android各方面的知识,从基本的控件使用到进阶的原理剖析。

Android知识汇总

版本:2019/3/22(22:33)


以下是最近更改的笔记,本人的同步作用,请无视!


文章目录

  • Android知识汇总
    • 猎羽
      • 人不可一日无书
        • Android
        • 设计模式
      • 收藏的资料
      • 个人库
    • 专题
      • Java
      • Android面试题
      • 思维导图版
      • 设计模式
        • Head First 设计模式
      • Android群英传
      • Android艺术探索
      • 交流会
  • 工欲善其事必先利其器
    • 开源库
    • 插件
    • AS
      • 项目迁移
      • 琐碎问题
    • Git
    • adb
    • apm
    • 虚拟机
      • VirtualBox
      • Genymotion
    • gradle
  • 一、基础
    • 字符编码
    • 数据
      • 序列化
      • Json解析
      • 文件存储
      • SharedPreferences
      • 数据库
    • 返回键
    • 用户定位
    • 获取日期和时间
    • URI、URL
    • IntentFilter
    • Base64、AES
    • ClassLoader
  • 二、语言
    • Java
    • Kotlin
      • Kotlin官方文档-翻译
      • Kotlin in Action《Kotlin实战》
  • 三、Framework
    • Handler
    • 组件
      • Applicaiton
      • Activity
        • 基本使用
        • 生命周期和启动模式
        • 原理机制
      • Service
      • Content Provider
      • Broadcast
      • Fragment
        • 源码机制
        • 基本使用
        • 开源库
    • Window
      • RemoteViews
    • 刷新机制
  • 四、架构
    • 路由
    • 插件化
    • 组件化
    • Architecture
      • DataBinding
      • Lifecycle
      • ViewModel
      • LiveData
      • Room
      • Paging
  • 五、网络
    • Socket
    • Wifi
    • NIO和IO
    • Http
  • 六、多进程
  • 七、多线程
    • 线程池
    • AsyncTask
    • HandlerThread
    • IntentService
  • 八、资深UI
    • 布局
      • ConstraintLayout
      • CoordinatorLayout
    • 显示
      • 颜色
      • 字体
      • 沉浸式
      • 图片
        • nine-patch
        • Bitmap
    • View
      • XML解析
      • 滑动
        • GestureDetector
      • 事件分发
      • 工作原理
      • 自定义
    • Drawable
    • Bitmap
    • 绘图
      • Matrix
      • Path
    • 动画
  • 九、开源库和第三方
    • 开源库
      • ARouter
      • GreenDao
      • OkHttp
        • 异常
      • EventBus
      • Sophix
      • RePlugin
    • 第三方
      • Twitter
      • Facebook
    • 开源库
  • 十、数据结构和算法
  • 十一、混合开发
  • 十二、底层开发
    • JNI/NDK
  • 十三、设计模式
    • 代理模式
    • 迭代器和组合模式
    • 策略模式
    • 命令模式
    • 模板方法模式
    • 复合模式
  • 十四、综合技术
    • 热修复
    • 换肤
    • 性能优化
    • 内存泄漏
      • LeakCanary
    • 适配
    • 推送
    • 权限
    • RxJava
  • 十五、控件
    • 进阶控件
      • 列表
        • RecyclerView
        • ListView
      • WebView
      • SurfaceView
    • 基础控件
      • TextView
      • ImageView
      • Toast
      • EditText
      • NumberPicker
      • Notification
      • Radiogroup、Radiobutton
      • 弹窗
        • PopupWindow
        • Dialog
      • Spinner
      • HorizontalScrollView
      • ProgressBar
      • ExpandableListView
      • GridView
    • Material Design
      • Rectange Button
      • Palette
      • Cardview
    • 下拉刷新
    • ViewPager
    • SpannableString
    • DrawerLayout、NavigationView
    • SlidingPaneLayout
    • ImageSwitcher
    • ViewFlipper
  • 十六、杂项
    • 复用池
      • Java

猎羽

人不可一日无书

人不可一日无书

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

Android

书名 级别 评价
Android群英传 初级 涉及到各种进阶知识,但也没有过于深入的讲解。
Android开发艺术探索 中级-高级 从源码层面去探索底层机制。建议自己主动进入源码配合该书进行学习。极度推荐。
Android进阶之光 中级-高级 讲解各种开源库的源码机制、多线程、网络、多媒体方面的内容。会有很大收获,但是有些地方也不是足够深入,需要配合网络资料深入探究。

设计模式

书名 级别 评价
Head First 设计模式 入门级 非常生动形象易于理解,推荐作为第一本书。

收藏的资料

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

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

个人库

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

专题

Java

Java百题大全

Android面试题

  1. Android面试题-基础杂题(18题)
  2. Android面试题-消息机制(22题)
  3. Android面试题-四大组件
  4. Android面试题-View(126题)
  5. Android面试题-IPC
  6. Android面试题-多线程(72题)
  7. Android面试题-Window和WindowManager(26题)
  8. Android面试题-刷新机制
  9. Android面试题-RemoteView
  10. Android面试题-架构MVC/MVP/MVVM
  11. WebView面试题

思维导图版

  1. Android Drawable详解-思维导图版
  2. Android 滑动详解-思维导图版
  3. Android 绘图详解-思维导图版
  4. Android View工作原理-思维导图版
  5. Android View事件分发-思维导图版
  6. Android 动画详解-思维导图版

设计模式

  • 设计模式百题大全

Head First 设计模式

  1. 策略模式
  2. 观察者模式
  3. 装饰者模式
  4. 工厂模式
  5. 单件模式
  6. 命令模式
  7. 适配器模式和外观模式
  8. 模板方法模式
  9. 迭代器和组合模式
  10. 状态模式
  11. 代理模式
  12. 复合模式

Android群英传

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

Android艺术探索

交流会

  1. 极客窝技术交流会-2018-0930

工欲善其事必先利其器

开源库

  1. Android最优质开源库大全

插件

  1. Android优质开发工具、插件和网站汇总

AS

  1. Android Studio使用技巧和快捷键汇总
  2. Android项目构建知识点总结

项目迁移

  1. Android studio 2.3 迁移项目到 3.0

琐碎问题

  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

Git

  1. Git必须掌握的基本操作
  2. git push you are not allowed to upload merges

adb

  1. Android群英传 第二章-ADB

apm

  1. apm install 没反应

虚拟机

VirtualBox

  1. Unable to start the virtual device. VirtualBox cannot start the virtual device.

Genymotion

  1. Genymotion安装使用教程详解
  2. Genymotion出现错误INSTALL_FAILED_CPU_ABI_INCOMPATIBLE

gradle

  1. gradlew 查看依赖的层级
  2. gradle compile project 中使用exclude去除重复的依赖

一、基础

  1. Android面试题-基础杂题(18题)

字符编码

  1. 字符编码

数据

序列化

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

Json解析

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

文件存储

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

SharedPreferences

  1. SharedPreferences

数据库

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

返回键

  1. 返回键的捕获

用户定位

  1. 用户定位

获取日期和时间

  1. Android获得当前日期和时间的方法

URI、URL

  1. Android中的URI、URL、URN、Uri

IntentFilter

  1. IntentFilter

Base64、AES

  1. Base64编码和AES加密

ClassLoader

  1. Android ClassLoader源码分析

二、语言

Java

Java知识汇总


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(二)函数

三、Framework

  1. 体系与系统架构

Handler

  1. Android面试题-Handler消息机制(50题)
  2. Handler消息机制详解

组件

  1. Android面试题-四大组件
  2. Android四大组件机制详解
  3. IntentFilter

Applicaiton

  1. application

Activity

基本使用

  1. activity去除标题栏title
  2. activity去除标题后activity崩溃
  3. 禁止横竖屏切换、设置横屏
  4. Activity透明的实现方法

生命周期和启动模式

  1. Activity的生命周期和启动模式

原理机制

  1. Activity原理详解

Service

  1. Service原理详解
  2. Service基本内容
  3. IntentService详解

Content Provider

  1. ContentProvider详解

Broadcast

  1. BroadcastReceiver详解
  2. unregisterReceiver报错处理(注销广播)

Fragment

源码机制

基本使用

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

开源库

  1. Android Fragmentation

Window

  1. Android面试题-Window和WindowManager(26题)
  2. Window和WindowManager知识点深入解析

RemoteViews

  1. Android面试题-RemoteView
  2. Android中RemoteViews应用与原理:通知栏和桌面小部件

刷新机制

  1. Android面试题-刷新机制
  2. Android的刷新机制原理详解

四、架构

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

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

路由-流行组件化

路由

  1. Android 路由

插件化

  1. Android 插件化
  2. 插件化前置知识和自定义简易插件框架

组件化

  1. Android 组件化实战

Architecture

DataBinding

  1. DataBinding的基本使用
  2. DataBinding在Fragment中无效

Lifecycle

  1. Lifecycle的基本使用

ViewModel

  1. ViewModel基本教程
  2. LiveData基本教程

LiveData

  1. LiveData基本教程

Room

  1. Room基本使用

Paging

  1. Paging分页库的基本使用

五、网络

  1. Android网络基础(134题)
  • 七层模型
  • HTTP内容
  • 常见响应码
  • 缓存相关
  • TCP三次握手、四次挥手
  • Socket的使用

Socket

  1. Socket
  2. SocketChannel的read值为0

Wifi

  1. wifi功能

NIO和IO

  1. NIO和IO

Http

  1. http操作

六、多进程

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

七、多线程

  1. Android中的同步与Mutex
  2. 多线程和Handler
  3. 终止多线程的方法
  4. Android多线程

线程池

  1. Android线程池的使用

AsyncTask

  1. AsyncTask详解

HandlerThread

  1. HandlerThread详解

IntentService

  1. IntentService详解

八、资深UI

布局

  1. 布局初步(上)
  2. 布局初步(下)

ConstraintLayout

  1. ConstraintLayout

CoordinatorLayout

  1. CoordinatorLayout、AppbarLayout和CollapsingToolbarLayout

显示

颜色

  1. 渐变色
  2. setTextColor的三种方法
  3. 获得并设置textview的颜色,getcolor已过时的替代用法
  4. Android颜色

字体

  1. android使用自定义字体

沉浸式

  1. 通知栏颜色和APP一致

图片

  1. 从sd卡中显示一个图片
  2. 图片的异步加载
  3. 加载网络图片-radiobutton、imageview

nine-patch

  1. android .9.png

Bitmap

  1. Bitmap的加载和Cache

View

  1. View、ViewGroup的测量和绘制
  2. User Interface
  3. UI

XML解析

  1. 通过XML创建View的原理

滑动

  1. Scroll滑动分析-《Android群英传》第五章

GestureDetector

  1. GestureDetector监听各种手势

事件分发

  1. View的事件体系

工作原理

  1. Android View的工作原理

自定义

  1. Android群英传 第三章2-自定义View、控件

Drawable

  1. Android中的Drawable基础与自定义Drawable

Bitmap

绘图

  1. Android绘图机制知识点汇总
  2. 绘图机制和处理技巧-《Android群英传》第六章
  3. Android的绘制详解

Matrix

  1. Matrix详解
  2. Matrix的注意点

Path

  1. Path动画实战

动画

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

九、开源库和第三方

开源库

ARouter

  1. ARouter详细使用教程
  2. ARouter源码详解

GreenDao

  1. GreenDao

OkHttp

  1. OkHttp使用详解
  2. OkHttp源码详解

异常

  1. okhttp3.internal.http.RealResponseBody

EventBus

  1. EventBus要点和源码解析

Sophix

  1. Sophix基本使用

RePlugin

  1. RePlugin的使用
  2. RePlugin快速集成实战
  3. Replugin插件化框架原理简介
  4. Replugin源码详解

第三方

Twitter

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

Facebook

  1. Facebook Android集成和开发

开源库

1、开源库

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

十、数据结构和算法

  1. 数据结构和算法基本概念

插入、冒泡、快速、归并

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

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

十一、混合开发

十二、底层开发

JNI/NDK

  1. JNI和NDK编程知识点
  2. JNI和NDK编程
  3. Android Stduio 3.0进行JNI和NDK开发

十三、设计模式

  1. 单例模式
  2. 观察者模式
  3. 工厂模式
  4. 装饰者模式
  5. 适配器模式
  6. 外观模式
  7. 状态模式

代理模式

代理模式 《Head First 设计模式》

迭代器和组合模式

迭代器和组合模式 《Head First 设计模式》

策略模式

策略模式 《Head First 设计模式》

命令模式

命令模式 《Head First 设计模式》

模板方法模式

模板方法模式 《Head First 设计模式》

复合模式

复合模式 《Head First 设计模式》

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

十四、综合技术

热修复

  1. Android 热修复原理

换肤

  1. Android换肤与原理

性能优化

  1. Android性能优化详解
  2. 性能优化《Android群英传》第十章
  3. 性能优化《Android开发艺术探索》

内存泄漏

  1. Android内存泄漏

LeakCanary

  1. LeakCanary使用教程

适配

  1. Android 适配归纳总结
  2. Android适配大全

推送

  1. 推送方案

权限

  1. Android 6.0 动态权限

RxJava

  1. RxJava基础入门
  2. RxJava 2.x使用详解
  3. RxJava 2.x实战场景

十五、控件

  1. Android群英传 第三章1-控件架构

进阶控件

列表

  1. RecyclerView和ListView原理
  2. RecyclerView和ListView基本使用

RecyclerView

  1. RecyclerView原理解析
  2. java.lang.IndexOutOfBoundsException: Inconsistency detected. RecyclerView报错闪退
  3. RecyclerView 高度 wrap_content 失效的问题

ListView

  1. Listview的自定义
  2. ListView详解
  3. ListView的适配器Adapter
  4. Listview取消点击效果

WebView

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

SurfaceView

  1. SurfaceView介绍和通用模板

基础控件

TextView

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

ImageView

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

Toast

  1. Toast大全-包括自定义等

EditText

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

NumberPicker

  1. NumberPicker的使用、关闭可编辑模式

Notification

  1. Notification的多种用法

Radiogroup、Radiobutton

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

弹窗

PopupWindow

  1. PopupWindow

Dialog

  1. AlertDialog使用和自定义
  2. Dialog在Fragment中居中显示

Spinner

  1. spinner下拉框和dialog

HorizontalScrollView

  1. 侧滑菜单-自定义HorizaontalScrollView

ProgressBar

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

ExpandableListView

  1. ExpandableListView

GridView

  1. GridView详解
  2. GridView的onItemClick无效
  3. GridView实现照片墙

Material Design

Rectange Button

  1. Rectange Button的使用

Palette

  1. Palette详解

Cardview

  1. cardview

下拉刷新

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

ViewPager

  1. ViewPager的使用

SpannableString

  1. SpannableString

DrawerLayout、NavigationView

  1. DrawerLayout简单使用教程
  2. NavigationView简单使用教程

SlidingPaneLayout

  1. SlidingPaneLayout简单使用教程

ImageSwitcher

  1. ImageSwitcher和HorizontalScrollView实现相册

ViewFlipper

  1. ViewFlipper左右滑屏切换页面

十六、杂项

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

复用池

  1. Activity五种数据传递方式

  2. activity、intent知识和总结

  3. activity和四个基本控件

  4. 常用控件-单选框,toast,checkbox,progressbar,listview

  5. Android animation

Java

  1. 文件IO java
  2. Java基础(下)
  3. 转java NIO与IO
  4. java IO

你可能感兴趣的:(Android)