Android 知识整理

作者 : 开心源码 本文共5624个字,预计阅读时间需要15分钟 发布时间: 2022-05-12 共158人阅读

Android 的点太多了,大的、小的,新的、旧的,总是目不暇接,总结整理下也好自己查好。话说自己写的文章过百了,也不怎样好找了,哈哈,尽管写的不咋地,没人看……

里面有不少半成品,开了好多坑都没天上,大家见谅……

常用占坑:

  • 个人常用开源库

java 基础


  • 杂七杂八的:

    • java 的 import static
    • Lambda表达式以及AS 对其的支持
    • 常用的转义字符
    • 学习中使用泛型的少量体会
  • 设计模式:

    • 设计模式资料积累
  • 多线程:

    • android 多线程 — 综述
    • android 多线程 — java 内存模型
    • android 多线程 — Thread
    • android 多线程 — 同步
    • android 多线程 — reentrantLock 重入锁
    • android 多线程 — 并发集合 CopyOnWriteArrayList、ConcurrentHashMap
    • android 多线程 — handle 学习
    • android 多线程 — HandlerThread
    • android 多线程 — IntentService
    • android 多线程 — AsyncTask 使用
    • android 多线程 — AsyncTask 源码简单分析
    • android 多线程 — 线程的面试题和答案

Kotlin


Kotlin 我不准备自己写,很多优秀的教材我呈现给大家足以

  1. 首先先来理解一下 kotlin 相对于 java 的变化,再来学习 Kotlin 会顺很多

    • 写给Android开发者的Kotlin入门
      文章很长,耐心看完,里面包含少量概念性的内容在里面
  2. AS 3.0 自动增加了 kotlin 的支持,我们可以直接选择 kotlin 构建工程,AS 3.0 之前的版本增加 kotlin 的支持请看官方指南:

    • Android 与 Kotlin 入门
  3. 关于 Kotlin 的详细学习资料主推当然是官方文档了,官方的中文写的很棒,但是说实话有的地方不很了解

    • kotlin_官方文档
  4. 耐心看完官方文档后,还有疑难的地方不妨看看大伙的智慧,一般简书上朋友们写的 kotlin 文章就很好懂了

    • 从Java到Kotlin(一)为什么使用Kotlin
    • 从Java到Kotlin(二)基本语法
    • 从Java到Kotlin(三)类和接口
    • 从Java到Kotlin(四)对象与泛型
    • 从Java到Kotlin(五)函数与Lambda表达式
    • 从Java到Kotlin(六)扩展与委托
    • 从Java到Kotlin(七)反射和注解
    • 从Java到Kotlin(八)Kotlin的其余技术
  5. Sequences 序列
    Sequences 序列是 kotlin 提供的一个对 list 集合的优化,支持犹如 rxjava 一样的链式连续变换操作

    • [译]Kotlin中是应该使用序列(Sequences)还是集合(Lists)?
  1. kotlin 的 list 支持很多操作符,操作符大全看下面:

    • kotlin集合(List)使用方法整理
  2. 我平常记录少量 kotlin 的优秀经典代码片段,感兴趣额的看这里

    • kotlin 经典代码片段整理
  3. 其余的资源

    • Kotlin学习资料汇总(持续升级…)
    • 一份关于 Java、Kotlin 与 Android 的学习笔记
    • 香沙小熊_Kotlin 进阶之路 目录

Android 疑难杂症解决


android 开发中总是会碰到少量很难处理的疑难杂症,很顽强,很难根治,大多数时候迪欧不知道为什么。

  • android static 变量丢失的解决
  • android 怪异异常汇总
  • android 中的疑难杂症
  • 记录android开发中琐碎的点
  • android 几种杀进程的方式

Android 扫盲篇


Android 的小块的知识点是太多,太复杂了,平常必需多加记录,整理才能玩的转 Android ,要不有时你会不自然的萌逼一下的,哇哈哈哈….我就长长这样,狗屎吃过了,自然知道改了。

  • Android 扫盲 – 常用abd命令
  • Android 扫盲 – MAC 上的各种配置
  • Android 扫盲 – 多语言适配
  • Android 扫盲 – android设施 id
  • Android 扫盲 – 软键盘交互
  • Android 扫盲 – android 字符串技巧
  • Android 扫盲 – action
  • Android 扫盲 – shape
  • Android 扫盲 – LayoutInflater
  • Android 扫盲 – Theme 主题

Android 进阶篇


  • 屏幕适配

    • android 适配笔记
  • 自己设置 view

    • 自己设置 view – 开篇
    • 自己设置 view – 前置知识点
    • 自己设置 view – 数学公式
    • 自己设置 view – 自己设置属性
    • 自己设置 view – 布局 onLayout
    • 自己设置 view – 测量 onMeasure
    • 自己设置 view – 3大核心方法补充
    • 自己设置 view – canvas
    • 自己设置 view – paint
    • 自己设置 view – 绘制文字
    • 自己设置 view 练手 1- 自己设置可换行的 textview
    • 自己设置 view 练手 2- 自己设置 flexbox-layout
    • 自己设置 view 练手 3- 自己设置 ratingBar
  • 事件分发,滑动冲突

    • android 事件分发原理
    • android 滑动冲突
    • android 滑动拓展使用
  • 权限

    • android 6.0动态权限
    • AndPermission 集成使用
    • RxPermission 集成使用
    • 简单对权限开源库进行功能性封装
  • server 、ALDL

    • AIDL 入门
    • service服务知识点总结
  • 广播

    • 使用代码动态注册广播接收器
  • 其余

    • 简述一下Android系统的架构
    • android 进程相关

我的开源库


在组件化,平台化的今天,我们被要求同一个功能可以在多个 app 项目中复用,这就要求我们必需对功能进行框架级别的封装,也就是把 app 中的一个个包 变成一个活多个 module 组件。这立马就要求开发人员要有至少水平线的代码封装,框架封装能力,封装封装,这真不是说说的,真的是一下子对 android 开发的功底要求就高了起来了,没有相关经验基础的同学真的会无所适从啊,我是深有体会啊,这里分享下自己封装的少量简单的功能组件,算是给大家提供一个思路吧,由于我知道我自己也是个半拉子水平

随着时间的推移,我找到了少量管理如何开发第三方库的指导,都是别人思虑很久后形成的文字,很值得大家没事去看看

  • 开发指导
    • 开发第三方库最佳实践
    • Android 多状态加载布局的开发 Tips
  • applicappation 组件

    • 简单的 applicappation 通用组件
  • 权限组件

    • 简单对权限开源库进行功能性封装
  • RxBus 库

    • 我学 rxjava 2(5)- RxBus

UI


Android 的 UI 可不仅仅是狭隘的控件,布局,更是涉及到产品设计的思想,app 开发人员为啥不能去理解产品设计,UI 设计,这些理解了才能优雅,恰当的和 UI 猫,产品汪去沟通,鄙视这些小动物,要不你都不知道怎去喷………..看我的怨念……

  • UI 设计方向

    • 从 Android 开发看 UI 设计
      原子设计模式,这基本可是 UI 界的通行标准了,但是在 app 界还是太多的 UI 设计不懂了,我们理解之后才好去和 UI 喷。
  • 图片

    • android图片系列 (2) – 静态 SVG 图片
    • android图片系列 (3) – imageview的尺寸与图片内存占用的关系
    • android图片系列 (4) – SVG动画(动态SVG 图片)
    • android图片系列 (5) – SVG 补充资料
    • android图片系列 (6) – 使用png图片内存变化讨论
    • android图片系列 (7) – png 转webp及 Anazyle APK分析工具使用
  • 动画

    • android 动画系列 – 目录
    • android 动画系列 (1) – tween 动画(view动画)
    • android 动画系列 (2) – interpolator 插值器
    • android 动画系列 (3) – layoutAnimation 视图动画
    • android 动画系列 (4) – PropertyAnimation 属性动画
    • android 动画系列 (5) – ripple 波纹动画
    • android 动画系列 (6) – 转场动画
    • android微动效
  • Behavior

    • android ui 学习系列 – 安卓自带Behavior的使用
    • android ui 学习系列 -自己设置Behavior (1) – 相关原理
    • android ui 学习系列 -自己设置Behavior (2) – 仿知乎页面
    • android ui 学习系列 -自己设置Behavior (3) – 仿开眼页面
  • layout 布局

    • Android 布局优化理论
    • Android 布局小技巧汇总
    • android ui 学习系列 – 初识 CoordinatorLayout
    • android ui 学习系列 – ConstraintLayout 束缚布局
    • android高级页面效果集锦
  • ViewPager

    • ViewPager学习(1) – transformer 页面切换
  • recycleView

    • 我的recycleView技术大全
  • Textview
    textview 我们尽管用起来很简单,有很多有太多变种应用了,这里正确逐个列举出来,里面涉及到大量的自己设置 view,canvas 绘制,动画内容,但是每个部分难度不是太大,特别适合入门学习
    • 特别推荐一个库:SuperTextView
      对 textview 封非常好的一个库,尤其是其包含 shape 功能,可以让我们省下定义大量 shape xml 文件的苦楚,大家看一个图片就知这个库有多厉害了,非常值得去看的
      image
    • textview – drawableXXX 设置大小
    • textview – SpannableString 文本的花式玩法
    • textview – SpannableString 小工具
    • textview – 翻转动画
    • textview – 点击阴影缩放动画

开源库


  • 图片加载库

    • android 图片加载库(1)- 各开源库比照
    • android 图片加载库(2)- Glide
    • android 图片加载库(3)- Glide 加载圆形图片
    • android 图片加载库(4)- Fresco
    • android 图片加载库(5)- 图片加载库如何封装
  • Rxjava

    • 我学 rxjava – 目录
    • 我学 rxjava 2(1)- 简单上手
    • 我学 rxjava 2(2)- 操作符
    • 我学 rxjava 2(3)- 热发射
    • 我学 rxjava 2(4)- subscribeOn/observeOn 切换的是谁的线程
    • 我学 rxjava 2(5)- RxBus
  • 网络,异步相关库
    • RestFul Api 定义流程规范

    • rxjava + retrofit 封装

    • retrofit 学习笔记

  • 音视频开发

    • 视频开发 (1)- 饺子播放器
    • AudioRecord 录制详解
      这篇文章非常详细的讲解了音频录制和播放的内容,非常值得学习
  • DataBinding 的简单使用

app 架构


Android 架构内容包括:代码结构的,如 MVP,MVVM;代码封装的,如 base 基类封装,功能,类库封装;也包括设计模式这类基础知识的学习。

  • app 架构

    • Android Architecture Components 开发架构
      基于数据流的响应式架构
  • 从 MVP学习代码封装系列

    • 从 MVP学习代码封装 (1) – 综述
    • 从 MVP学习代码封装 (2) – 搭建 MVP 最基础框架
    • 从 MVP学习代码封装 (3) – 笼统 V 层生命周期模板
    • 从 MVP学习代码封装 (4) – 给 MVP 增加 stateView状态页功能
  • android 开发规范系列

    • android 开发规范
    • android 开发规范 (1) – 工程 / 项目
    • android 开发规范 (2) – 类
    • android 开发规范 (3) – 属性
    • android 开发规范 (4) – 方法
    • android 开发规范 (5) – android 资源
    • android 开发规范 (6) – 其余及附录

优化


Android 的优化的点很多的,UI,架构,框架性能,持续集成能力,平台化能力,能否易于修改,能否易于扩展….所以做好 Android 的优化,我们首先要理解很多偏底层的知识点,这些知识点也是很零碎的

  • 须知知识点

    • Android 内存知识点,优化,bitmap 缓存
  • 性能分析工具

    • android性能跟踪分析工具系列 – 目录
    • android性能跟踪分析工具系列 – 各种理论简介
    • android性能跟踪分析工具系列 – GPU 呈现模式分析
    • android性能跟踪分析工具系列 – Hierarchy Viewer
    • android性能跟踪分析工具系列 – systrace
    • android性能跟踪分析工具系列 – TraceView
    • android性能跟踪分析工具系列 – Memory monitor – jump java heap
    • android性能跟踪分析工具系列 – LeakCanary
    • android性能跟踪分析工具系列 – StallBuster

持续集成 、 组件化,平台化


  • 组件化

    • 谈谈我的了解-组件化/板块化
    • android的组件化和插件化开发
    • 关于组件化开发使用 gradle统一配置版本,依赖
  • 构建工具

    • 开发小工具合集
    • 熟习,使用 Android Studio 工具
    • gradle 系列 – 目录
    • gradle 系列 (1) – 基础知识
    • 修改 gradle 文件卡慢
    • 关于AS 自动升级 gradle 文件出现问题
    • 使用AS – Live Template 增加代码模板
    • 使用AS – File Template 增加class模板

通用技术和开发工具支持


  • Markdown常用语法
  • git命令
  • UML工具
  • UML类图学习
  • Android gif 制作

资源


  • Google IO 2018 小计
  • 2017北京GDG观后感 – 附视频资源
  • android练手项目集锦
  • 设计资源
  • android大神们的博客,网站还有各种优质资源
  • 大厂的 android app 进化之路及各种优化,瘦身

感悟


Android 学习,工作的过程中总是有很多感受,感悟,甚至是恍然大悟,这些瞬间的感觉总是一闪而逝,保存不久,无法记忆,所以我希望用文字尽量多的保留那份感悟,以待之后可以常悟常新。还有很多别人的感悟,经验,这些放在一起。

  • android 学习之我思

  • 自省警句

  • 属于程序员的人生思考/励志

  • 这里有你需要的各种老鸟经验和心声,更有鸡汤

  • android开发新人心态不要有

  • 周盘:

    • 周盘必读 – 北上广的你,远离诗和远方
  • 涨 IQ :

    • IQ 硬伤如何学

面试


  • 面试资料准备
  • 新智认为面试
  • 为跳槽的你献计献策(Android)
    简历模板不错
  • qing的世界的面试算法,有4篇,讲的比较深了
  • Android(2017-2018)BAT面试题整理(java篇,含答案)

第三方集成经验


  • 招行一网通集成
  • android推送选型和混合设计
  • 记一个小米推送的坑
  • 记录我第一次网站备案

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Android 知识整理

发表回复