在小练习之前的了解过程中,请勿深入某个技术细节,切记!切记!!切记!!!
语言
java
官方文档地址(不需要看)
开发环境
Android Studio
略
基础组件
官方文档中针对组件有的描述很详细,有的大概介绍主要内容,此处尽量选取中文版、大概介绍的官方文档。
Activity
官方文档(中文,概述、仅有一页,如果感觉太多,仅看一级标题内容)
一级标题如图所示:
Fragment
官方文档(中文,概述,仅有一页,如果感觉太多,仅看一级标题内容)
Service
官方文档(英文、相比于前两个内容较多,建议仅看图片所述内容)
Broadcast Receiver
官方文档(英文、概述、仅有一页,如果感觉太多,仅看一级标题内容)
Content Provider
官方文档(中文、概述、内有四个超链接(中文,也可以只看超链接内的一级标题)、可以选择看与不看)
UI相关
掌握基本布局⽅式的使⽤
LinearLayout
官方文档(中文,特别简短的概述,建议过一遍)
RelativeLayout
官方文档(英文,特别简短的概述,建议过一遍)
ConstraintLayout
官方文档(英文,类似于教程,建议只看图片内容)
掌握基本组件的使⽤
RecyclerView
官方文档(英文,概述,可以仅看一级标题)
ScrollView
官方文档(英文,API文档,仅看summary之前的内容即可)
TextView
官方文档(同上)
EditText
官方文档(同上)
ImageView
官方文档(同上)
…….
上述一级标题包含所有组件的API文档,了解时仅需了解Summary之前的内容,具体使用时查看相关接口
了解⾃定义控件的相关知识
⾃定义控件开发流程
csdn博客(中文,主要描述流程,并且有一个实例,可以选择学习)
View绘制原理 & View事件传递机制
官方文档(英文,主要描述view相关流程,在学习时要自己总结一下,绘制流程和事件传递,仅需看Summary即可)
利⽤Fresco等开源库实现⽹络图⽚加载
官方文档(中文,facebook在github的开源库,仅需看快速开始部分即可)
⽹络和数据
⽹络
使⽤开源框架Retrofit发⽹络请求
官方文档(英文、非常简短的文档,建议浏览一遍)
利⽤Gson解析JSON,序列化为model
官方文档(英文、通过前4个小节了解其概念,第5小节使用教程可以有选择的浏览,例如序列化)
数据存储
SharePreference使⽤,了解原理
官方文档(中文,关于android存储的概述,仅了解SharePreference相关即可)
关于“了解原理”部分,可以参考csdn博客(简单阐述原理)、简书(详细阐述原理),内容有点多,在了解阶段不建议了解其实现。
并发相关(比较难,可以先选择略过)
掌握使⽤handler
官方文档(英文,API文档,仅看Summary之前的部分即可,在真正做项目才需要了解Summary之后的API,掌握其使用)
了解Handler/Looper/MessageQueue的原理
这种了解原理的内容,暂略,很耗时,在熟悉使用后,抽空去研究原理
掌握基于RxJava的响应式编程
官方文档(英文,getting-started中的内容较多,仅了解基础内容即可,或者先简单浏览一下就行)
了解Thread和线程池的使⽤
java中的相关知识,略(可以参考java面试宝典中的多线程创建方法)
了解java中各类锁的使⽤
同上(java面试宝典中的锁部分)
常用工具
Charles⼯具的使⽤
官方文档(在初期,先了解 getting-started内容,其余内容在使用时有针对的进行查找)
git的基本使⽤
我认为一个简单易懂的总结
⼩练习
参考今⽇头条客⼾端,写⼀个Demo,包含:
- 启动后有两个tab,“⾸⻚”和“我的”
- 我的tab
- 对⻬头条客⼾端tab的UI
- 点击条⽬跳到⼆级⻚(头条wap站主⻚https://www.toutiao.com)
- ⾸⻚tab
- ⽀持⼀个推荐或者任意⼀个频道(不需要⽀持频道切换)
- 调⽤推荐接⼝,拉去feed数据,⽤列表展⽰
- ⽀持拉刷新和加载更多(可选)
备注:可以使⽤开源组件
寄语
个人认为在通过上述内容的简单了解(上述主要内容都是概述),明确了各个模块的内容是什么,然后进行小练习。
在进行小练习时,在实现某个功能时,思考能否用到上述每个模块,在真正使用时,有目的性的去研究官方文档中的API或者使用方法,这种实践(小练习)与理论(官方文档)结合的方式,会让你快速掌握一个技术的基本使用。