仔仔大人的实习准备

小猪猪莫要猖狂

Posted by Jinliang on July 4, 2019

在小练习之前的了解过程中,请勿深入某个技术细节,切记!切记!!切记!!!

语言

java

官方文档地址(不需要看)

开发环境

Android Studio

基础组件

官方文档中针对组件有的描述很详细,有的大概介绍主要内容,此处尽量选取中文版、大概介绍的官方文档。

Activity

官方文档(中文,概述、仅有一页,如果感觉太多,仅看一级标题内容)

一级标题如图所示:

image-20190703231837947

Fragment

官方文档(中文,概述,仅有一页,如果感觉太多,仅看一级标题内容)

Service

官方文档(英文、相比于前两个内容较多,建议仅看图片所述内容)

image-20190703231732087

Broadcast Receiver

官方文档(英文、概述、仅有一页,如果感觉太多,仅看一级标题内容)

Content Provider

官方文档(中文、概述、内有四个超链接(中文,也可以只看超链接内的一级标题)、可以选择看与不看)

UI相关

掌握基本布局⽅式的使⽤

LinearLayout

官方文档(中文,特别简短的概述,建议过一遍)

RelativeLayout

官方文档(英文,特别简短的概述,建议过一遍)

ConstraintLayout

官方文档(英文,类似于教程,建议只看图片内容)

image-20190703232710757

掌握基本组件的使⽤

RecyclerView

官方文档(英文,概述,可以仅看一级标题)

ScrollView

官方文档(英文,API文档,仅看summary之前的内容即可)

TextView

官方文档(同上)

EditText

官方文档(同上)

ImageView

官方文档(同上)

…….

image-20190703233637218

上述一级标题包含所有组件的API文档,了解时仅需了解Summary之前的内容,具体使用时查看相关接口

了解⾃定义控件的相关知识

⾃定义控件开发流程

csdn博客(中文,主要描述流程,并且有一个实例,可以选择学习)

View绘制原理 & View事件传递机制

官方文档(英文,主要描述view相关流程,在学习时要自己总结一下,绘制流程和事件传递,仅需看Summary即可)

利⽤Fresco等开源库实现⽹络图⽚加载

官方文档(中文,facebook在github的开源库,仅需看快速开始部分即可)

image-20190704000458873

⽹络和数据

⽹络

使⽤开源框架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或者使用方法,这种实践(小练习)与理论(官方文档)结合的方式,会让你快速掌握一个技术的基本使用。