一个Android开发者的知识体系
2018-01-11 09:59
218 查看
开始写博客啦!!!
从事Android开发两年多以来,一直在忙着业务上的问题,很多知识慢慢淡出了我的视野。但是偶尔在和其他项目参与者进行沟通的时候,还是能感觉到自己在很多方面的不足。所以我希望给自己列一个知识结构,或者说是一些需要学习到或者需要了解到的内容。一方面可以让自己随时翻阅,回顾,同时也可以给需要的朋友们一点参考。
作为一个安卓开发者,我在工作中接触的大多都是Android的知识,又因为项目中可能使用了大量的第三方框架,导致我对基础知识掌握的不够深入。比如我使用retrofit+okhttp进行项目中网络请求的操作,确实很方便,后果也是很明显的,网络五层结构,Http,Socket,TCP/IP,这些内容我都知道,但是你要让我深入,要我直接使用socket进行通讯,对不起我真的不会。这就会大大限制我的可能性,我不想只是做一个API Player。
下面的知识是都需要的,重要性会有点区别,还是要立身于本。
计算机网络
了解大概的OSI七层结构。
熟悉TCP/IP的四层结构,了解每一层的工作原理。
熟悉HTTP协议,了解TCP协议的基本内容,以及TCP连接的建立和释放过程,知道原因。
会使用Android提供的URLConnection进行常规的网络请求,如GET,POST(包括文件的上传)请求等。
了解Socket通讯,知道如何使用Socket进行通讯,如使用socket进行HTTP通讯。
数据结构与算法
数据库
设计模式
java基础
Android基础:下面的每一块儿都包含有深层次的知识,可以根据需要和自己的能力步步为营,深入学习
了解四大组件,如Activity的生命周期、状态的保存、启动模式等等。Activity基础
了解常用布局,常用控件的使用。
了解网络基础,了解图片加载技术。
能进行简单的自定义View。
了解drawable,可以进行常用drawable的开发。
了解消息机制。
了解Android中的线程和线程池。
了解Android中的动画,能进行简单动画的开发。
了解数据存储,文件,SharedPreference,SQLite以及基本的数据库知识。
简单常用的性能优化知识
熟练使用第三方SDK进行开发,如Retrofit+okHttp,Glide,GreenDao,Gson,EventBus,RX系列,分享,支付,地图等等的使用
其他开发常用的可能比较零碎的知识或者特定领域的知识,如相机开发,传感器开发,手势控制等等。
Android进阶
四大组件的细节知识
IPC机制
View的原理,动画的原理
WIndow,WindowManager,WindowManagerService等等
JNI,NDK开发
Android性能优化
学习源码,等等等等
从事Android开发两年多以来,一直在忙着业务上的问题,很多知识慢慢淡出了我的视野。但是偶尔在和其他项目参与者进行沟通的时候,还是能感觉到自己在很多方面的不足。所以我希望给自己列一个知识结构,或者说是一些需要学习到或者需要了解到的内容。一方面可以让自己随时翻阅,回顾,同时也可以给需要的朋友们一点参考。
作为一个安卓开发者,我在工作中接触的大多都是Android的知识,又因为项目中可能使用了大量的第三方框架,导致我对基础知识掌握的不够深入。比如我使用retrofit+okhttp进行项目中网络请求的操作,确实很方便,后果也是很明显的,网络五层结构,Http,Socket,TCP/IP,这些内容我都知道,但是你要让我深入,要我直接使用socket进行通讯,对不起我真的不会。这就会大大限制我的可能性,我不想只是做一个API Player。
下面的知识是都需要的,重要性会有点区别,还是要立身于本。
重建自身知识体系:
操作系统计算机网络
了解大概的OSI七层结构。
熟悉TCP/IP的四层结构,了解每一层的工作原理。
熟悉HTTP协议,了解TCP协议的基本内容,以及TCP连接的建立和释放过程,知道原因。
会使用Android提供的URLConnection进行常规的网络请求,如GET,POST(包括文件的上传)请求等。
了解Socket通讯,知道如何使用Socket进行通讯,如使用socket进行HTTP通讯。
数据结构与算法
数据库
设计模式
java基础
Android基础:下面的每一块儿都包含有深层次的知识,可以根据需要和自己的能力步步为营,深入学习
了解四大组件,如Activity的生命周期、状态的保存、启动模式等等。Activity基础
了解常用布局,常用控件的使用。
了解网络基础,了解图片加载技术。
能进行简单的自定义View。
了解drawable,可以进行常用drawable的开发。
了解消息机制。
了解Android中的线程和线程池。
了解Android中的动画,能进行简单动画的开发。
了解数据存储,文件,SharedPreference,SQLite以及基本的数据库知识。
简单常用的性能优化知识
熟练使用第三方SDK进行开发,如Retrofit+okHttp,Glide,GreenDao,Gson,EventBus,RX系列,分享,支付,地图等等的使用
其他开发常用的可能比较零碎的知识或者特定领域的知识,如相机开发,传感器开发,手势控制等等。
Android进阶
四大组件的细节知识
IPC机制
View的原理,动画的原理
WIndow,WindowManager,WindowManagerService等等
JNI,NDK开发
Android性能优化
学习源码,等等等等
相关文章推荐
- 关于Android App开发知识体系的一个小总结
- 《Android开发者必备知识体系 》写作计划
- 1244-作为一个java开发者的知识储备
- 作为一个iOS开发者,想知道作为一个Android开发者是一种怎样的体验
- 一个 2 年 Android 开发者的 18 条忠告
- 转载 前端基础知识体系 一个新手的学习之路
- Google Android开发者文档系列-创建有内容分享特性的应用之添加一个简单的共享action
- Android 开发者必知必会的权限管理知识
- 一个Android开发者的React Native之路
- Android知识体系梳理笔记五:Kotlin学习笔记一:类和继承以及Anko(全)的基本使用
- 每一位Android开发者应该知道的Android体系架构和开发库
- Android开发者必知的Java知识(一):Java反射机制
- android知识回顾------如何搭建一个app
- 知识要建立一个体系
- Android开发者必知的Java知识(四):Java并发编程
- 一个android个人开发者的总结
- 一个 2 年 Android 开发者的 18 条忠告
- Android开发者必知的Java知识(三) 结合注解分析ActiveAndroid的实现
- Android 5.0 开发者官网知识结构疏理