这一网上比较火的一张android知识体系框架图,可以说掌握上图中的知识点和深层原理,就可称为android大神
我们一步步来看看知识点
一、基础知识点
1、java 基础知识
1)基本数据类型(byte/short/int/long/float/double/boolean/char)
定义:在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上
2)引用类型(类/接口类型/数组类型/枚举类型/注解类型)
定义:在被创建时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在堆内存上,然后由栈上面的引用指向堆中对象的地址
3)集合
集合类型主要有3种:set(集)、list(列表)和map(映射)
集合接口分为:Collection和Map,list、set实现了Collection接口
2、数据结构
定义:相互之间存在一种或多种特定关系的数据元素的集合
坦白说数据结构我也无法说明白,我的理解就是数据元素之间的关系集合,更便于我们处理业务逻辑,但是对于数据结构的定义是我们在开发中必须修炼的技能,好的数据结构会给你开发带来很多的便利。
3、面向对象
面试过程中面试官可能都会问到这个问题:面向对象是什么?你怎么理解面向对象?
对象我们可以理解为研究的一切,它有属性,行为。既然有了属性和行为,我们就可以使用它去描述和做一件事。(封装)
当我们把一类共同属性和行为的对象放在一起的时候,我们会发现它们有很多不同的属性值和行为方式(多态)。
另外我们还会发现有一部分对象,它们是在原来的基础上多了一些属性和行为,这种我们成为(继承),直白一点就是子女继承了父母有的一些特征和行为,ta同时还有一些父母没有的特征和行为。
总结上述面向对象就是,我们定义一些特定属性和行为的对象,使ta能体现和描述一些问题,同时对象还支持扩展属性和行为。(个人见解,欢迎交流)。
4、设计模式
Java 中一般认为有 23 种设计模式,我们不需要所有的都会,但是其中常用的几种设计模式应该去掌握。下面列出了所有的设计模式。需要掌 握的设计模式我单独列出来了,当然能掌握的越多越好。
总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
这些设计模式我真的不懂,但是如果你去面试,你还是要说出一些门道来,起码基本含义和使用场景你可以描述清楚
比如观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发送改变时,所有依赖于它的对象都能得到通知并被自动更新.
在android中,比较常见的就是eventBus 框架
eventBus 三个元素
1)Event 事件
2)Subscriber 订阅者
3)Publisher 发布者
1. 自定义一个事件类 2.在需要订阅事件的地方注册事件 3.发送事件 4.处理事件 5.取消事件订阅
5、开发工具
现阶段我还是推荐大家使用Android Studio,毕竟这是google 官方推荐,其实我有Eclipse转AS 也是很不习惯,但是使用一段时间之后,发现开发还是很大优势,比如Gradle 自动化构建功能很强大,再比如Google官方推荐开发语言kotlin 也内置,还有很多插件和分析工具内置,强大到你需要很多时间去学习使用。
以上都是本人拙见,如有纰漏请指出,欢迎交流