0%

android权威编程指南(书)

2017年7月18日 上午8:32

对java这门语言的熟悉程度会影响android的学习吗?有多少?

1. 其实,这个问题可以扩展到“**所有语言本身与框架之间**”
2. 我们学习android其实**学的是android的开发者框架,并不是android系统本身**
3. Android的内容包含以下几个部分
    1. 通过设计模式,以**生活化使用为目的**的封装 ,是android对于java的最大的不同
        1. 就好比,java是**钻木取火**,而android直接就有**打火机**了,还是Zippo的!
    2. 针对**环境android studio**同样也是加强版的,有很多的优化功能
    3. 还有一部分是区别于java,android独有的
        1. 生命周期
        2. Xml界面布置
        3. source资源 资源id
        4. 一些手机硬件的控制(eg:传感器)
        5. **关于这部分我说不清楚个一二三,一定和android操作系统本身相关!**

在今后的学习android过程中,要注意的是

  1. Android整套体系都是按照一定的设计模式来设计
    1. 但是对于使用者来说,你不用去管他咋设计出来的,对你来说就是一个黑盒
    2. 你用管的是
      1. 某个功能对应的黑盒系统,他的使用规范是啥
      2. 这个黑盒的设计者是如何设计他的使用方式?
      3. 一般来说,这黑盒的使用方式都偏向于生活化,方便使用者理解并快速使用
        1. 最好的🌰就是对异步线程的理解
        2. 数据库的操作中,对数据的读就是一个完全的生活化理解就可以解决
        3. 这些都有一个共同的特定,就是一步步的
      4. 但是也要一些封装的就没有那么生活化,让人很难理解
        1. adapter相关的知识
        2. 它具体是如何运作的,怎样找到数据的对应关系的,这我都不知道
        3. 我从例子中看到,“哦,这样能行,我换换数据就算了”
  2. 对于android学习的一些高要求
    1. 别人都给你封装好了,没有看源码的前提下,你只是一个代码的搬运工
    2. 因为:别人封装的太好了,在别人封装完成之后,其实使用方式已经定了80%
    3. 剩下的20%,很多都是各种各样的数据
    4. 好处:对于发明者,框架就是为了让使用的人方便,越好入门越好。
    5. 坏处:对于使用者,你除了会使用别人的工具解决了你的问题外,其实没有实质的能力提升
    6. 只有去看他的源码才能了解的一些知识
      1. 比如说去看recycleView adapter等等
      2. 然后你就可以将你从中学到的设计方法用到自己平时的编程中
      3. 就像我的那个权限系统一样

随着我能力的提升,现在看我做的运动app,真的简单的很多
原因有一下几点

  1. 认识到看源码的第一步一定是了解他的业务流
  2. Java语言的基本功有明显的提升
  3. 刚刚把书本复习的一遍,记忆还比较清晰