前言

Android常用知识体系是什么鬼?所谓常用知识体系,就是指对项目中重复使用率较高的功能点进行梳理。注意哦,不是Android知识体系。

古语道:学而不思则罔,思而不学则殆。如果将做项目类比为“学”,那么整理就可以类比为“思”。

在做项目过程中总是会遇到使用相同的功能,比如toast、对话框、刷新加载列表、网络框架、数据库等等,一个简单的方法就是从之前的项目中复制粘贴到新项目中,然后做一些个性化修改,好了,这就“大功告成”了。当另外一个新项目用到了,再次复制粘贴。这样是不是很low。但是当项目一个接一个的时候,这个方法是一个简单快速的方法。

那么当几乎没有项目可做的时候或者当周末有时间的时候,我们是不是应该对功能点进行一下思考呢。那么思考什么呢?

  1. 思考这个功能点经过多个项目的“考验”,是不是“成年”了,可以“独立”出来了;
  2. 思考这个功能点是不是属于常用功能,值得“独立”出来;如果是的话,为什么不把这个功能点从项目中“独立”出来呢。有人会说,我记忆好,能知道所有项目中用到的功能点,我可以随时找到。是吗?我当下很怀疑啊。

功能点如何独立?

一个Demo

将功能点从项目中摘出来,做成一个Demo。数据可以采用假数据,涉及到网络数据的,可以使用mockAPI。
注意:一个Demo只有一个主功能点,其他辅助的功能点可以简化。不能简化的话就在博客中标注出来。

两个平台

一个是博客平台(博客园、CSDN、简书等),一个是github。
为什么要写博客呢?因为这样才能记录这个功能的集成步骤,以及对这个功能的理解。当然了,不写博客也可以写到github的READMEN.md中。主要目的就是通过写文章加深自己对功能的理解,至于精细到什么程度,在于个人的想法。
一个小建议,刚开始写博客没有头绪,可以先制作一个模板(word就行):罗列出来目录,像什么概述、前言、项目结构图、集成步骤、使用方法、参考资料等目录名称。比如我的博客文章,基本上是同一个模板。
github就不多说了,托管自己的代码,记录版本迭代信息,比存储在本地强多了。

为什么要进行体系化?

所谓体系化,其实就是对自己的知识进行梳理。这样才能清楚自己具备哪些能力,欠缺哪些能力。并且可以快速复用知识点,节省重复功能的开发时间。
有人会说,整理常用知识体系,只是停留在使用的层面,无法达到进阶的作用。是的,这个常用知识体系可以帮助我们快速复用功能,节省时间,同时也可以加深我们对功能的表面理解,那么节省出来的时间以及对功能的表面理解是我们对功能的实现原理进阶的基础。由表入里也是一种方法。

我们不仅仅要拓宽知识的纬度,更要加深知识的经度。所以阅读源码、理解原理是我们的目标。

体系如何打造?

整理!先整理细碎的功能点,最后使用思维导图的形式展现出来。
如果觉得别人整理的很好,那么可以直接链接到别人的博客地址,不需要自己重复造车轮子的。

Android常用知识体系思维导图(例子)

《Android常用知识体系-V1.1.html》思维导图下载地址【请下载html文件预览,每一项知识点都有对应的链接地址】:

链接:https://pan.baidu.com/s/1fQOXzlTNj7qdPAe4IMgwrg 提取码:ff8c

个人想法,仅供参考。

打造自己的Android常用知识体系的更多相关文章

  1. Android 开发知识体系

    知识体系 1.Unix/Linux平台技术:基本命令,Linux下的开发环境 2.企业级数据库技术:SQL语言.SQL语句调优.Oracle数据库技术 3.Java 语言核心技术:Java语言基础.J ...

  2. Android常用知识笔记

    1. 安卓图片自适应 android从1.6和更高,Google为了方便开发者对于各种分辨率机型的移植而增加了自动适配的功能  <supports-screens  android:largeS ...

  3. Android开发知识体系总结

  4. android项目架构 -----Android 知识体系与常用第三方框架

    好东西值得分享 ,这是网络上总结的一些开源的东西直接就拿过来了  .... Android通用流行框架大全 先把这张图放在这 ,先来谈一谈项目结构 .我喜欢将东西按模块来划分: 都知道module . ...

  5. android知识体系

    1.Android架构分为4层*应用程序层 Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等.所有的应用程序都是 ...

  6. 终于有人把Android技术面试知识体系整理出来了,这些学习手册让你的面试稳如泰山

    前言 年年寒冬,年年也挡不住一个安卓程序员追求大厂的决心.想要进入大厂,我们需要掌握哪些知识点呢?这里,我为大家梳理了一个整体的知识架构.整体包括Java.Android.算法.计算机基础等等,相应的 ...

  7. 关于Android App开发知识体系的一个小总结

     前言 本文从热更新.异步并发.性能优化.网络请求等多个方面对Android App开发的知识体系进行了一个分类总结.欢迎大家沟通交流. 热更新 [原]热更新开源项目Tinker源码解析之Dex热更新 ...

  8. github上最全的资源教程-前端涉及的所有知识体系

    前面分享了前端入门资源汇总,今天分享下前端所有的知识体系. 个人站长对个人综合素质要求还是比较高的,要想打造多拉斯自媒体网站,不花点心血是很难成功的,学习前端是必不可少的一个环节, 当然你不一定要成为 ...

  9. Android 基础知识图谱

    四大组件 Activity Service BroadcastReceiver ContentProvider Application 常用组件 Fragment RecyclerView WebVi ...

随机推荐

  1. 谈谈Javascript异步代码优化

    关于 微信公众号:前端呼啦圈(Love-FED) 我的博客:劳卜的博客 知乎专栏:前端呼啦圈 前言 在实际编码中,我们经常会遇到Javascript代码异步执行的场景,比如ajax的调用.定时器的使用 ...

  2. hive------ Group by、join、distinct等实现原理

    1. Hive 的 distribute by Order by 能够预期产生完全排序的结果,但是它是通过只用一个reduce来做到这点的.所以对于大规模的数据集它的效率非常低.在很多情况下,并不需要 ...

  3. javase---string类介绍01

    一.String类简介 java.lang.String类用于描述一个字符序列.String类是不可变对象的类.其对象一旦被创建,永远无法改变.但是对象的引用可以重新赋值.而且String类被fina ...

  4. 微信小程序的初窥实践

    最近,小程序正式上线,各企业都纷纷开发,本博主看下其中奥秘, 首先得去微信公众平台(https://mp.weixin.qq.com/)注册一个小程序账号(以前注册过公众号的账号不可使用) 备注:注册 ...

  5. 19.QT-事件发送函数sendEvent()、postEvent()

    Qt发送事件分为两种 -阻塞型事件发送 需要重写接收对象的event()事件处理函数 当事件发送后,将会立即进入event()事件处理函数进行事件处理 通过sendEvent()静态函数实现阻塞发送: ...

  6. 使用DOS命令关闭tomcat端口(其他服务也是可以的)

    废话不多说,直接上步骤: WIN+R 打开DOS窗口 输入netstat -ano|findstr 8080(其中8080是我自己tomcat的端口号) 之后可以看到端口号的最后会有数字,这个数字是端 ...

  7. CDN及CDN加速原理

    本想自己写这个主题的文章,但网上已经有人写了一篇非常好的文章,觉得难以望其项背.就没有必要再写,直接转载如下: 在不同地域的用户访问网站的响应速度存在差异,为了提高用户访问的响应速度.优化现有Inte ...

  8. 盒子模型、IFC、BFC和Collapsing margins

    前言 盒子模型作为CSS基础中的基础,曾一度以为掌握了IE和W3C标准下的块级盒子模型即可,但近日在学习行级盒子模型时发现原来当初是如此幼稚可笑.本文尝试全面叙述块级.行级盒子模型的特性.作为近日学习 ...

  9. ARM-Linux中断系统

    1.前言 了解Linux中断子系统,同时也需要了解ARM体系结构中断处理流程:在熟悉整个软硬件架构和流程基础上,才能对流程进行细化,然后找出问题的瓶颈.<2. 梳理中断处理子系统> 但是所 ...

  10. python 零基础学习之路 02-python入门

    不知不觉学习python已经两个月了,从一开始不知道如何对print的格式化,到现在可以手撸orm,这期间真的是 一个神奇的过程.为了巩固自己的基础知识,为后面的拓展埋下更好的伏笔,此文当以导师的博客 ...