重拾Android(1)----关于手机的认识

在工作中最重要的是对基础知识的掌握,不论是对现在工作能力还是对以后跳槽都是有好处的,所以作为程序员需要不断的去巩固一些细节的基础知识.

从今天起,我会持续更新博客把所有涉及Android的基础知识全部重拾,持之以恒.


手机系统


        众所周知Android其实就是一个手机系统,但是手机系统又是什么呢?

        我们潜意识不想用计算机的方式来思考问题,我们有自己的思维方式,越是接近我们思维描述方式就越是容易让人理解和使用,各种计算机 ,建模工具,不外乎就是建立一个更接近人的思维方式的概念空间,再使用工具从该概念空间向另外一个概念空间的映射,我们称之为人性思维空间向序列描述空间的一个映射,实现方面来看,其实系统就是一个翻译器,将机器性更加人性化的机制,大学计算机经典课“ 计算机体系结构”有下图十分浅显易懂:



这个就是概念空间最本质的原型体现:作为观察者看到了什么?设计者给了观察者什么?给出的答案就是外部特性。

我们在学习新系统时,首先映入眼帘的就是新概念,新名词。就如现在我们面临的Android大量的新词,在程序员的世界都是从代码实践开始的,是从写应用开始去涉及的,然后需要确立自己的目标才去学习。所以没有目的的学习是很痛苦的,学了就忘了,一定要树立自己的目标再去学习,就如我此刻重学Android是因为在项目实践中觉得自己基础功不扎实于是反过头来巩固基础,从中我们可以思考一个问题,为何要产生Android这门语言,设计者要给开发者提供什么,设计者想给最终用户提供什么?


Android


Android的实质还是一套管理手机硬件系统的软件,这个话讲起来没多大实际意义,其实操作系统本质都是如此。Android是Google云计算的一部分,于是我们修正成,Android其实是Google为了云接入移动智能终端而建立的,而作为云计算的一部分内容,我们可以以云计算的概念入手去研究Android。

 

我们说分析一个人需要从内而外的去分析一个人,同样分析软件系统也是一样,Android也要从内而外,内部特性空间其实简单起来就是Android与VM交互然后VM与LINUX相互交互的一个过程,而外部特性空间就是呈现在你眼前能用的,比如聊QQ发微博都是外部特性空间内容。

再然后作为一名程序员“自顶而下”(从整体到局部)去理解思考问题是最好不过的思维方式了,所以我的基本学习思路是:

1.从全局入手,宏观的了解Android平台架构

2.了解基于Android平台的应用程序的运行原理

3.了解环境的搭建,为后面结合实践来学习细节做准备

4.根据平台架构,从上层到下层,一层一层的了解其相关的具体内容,并通过实践来强化学习

  首先我们来了解一下官方给出的Android平台架构



如图所知:

(1)最上层是“应用层”:包含一些核心应用程序,我们开发的应用程序也属于这一层,开发语言为Java。(Android应用开发主要是在这一层)

(2)然后是“应用程序框架层”:根据我自己的理解,应用程序框架层主要是将开发需要调用的功能封装并模块化,这样便于复用以及便于开发者对其进行替换。说白了,应用程序框架其实就是封装的各个现成的类。(Android系统开发主要是在这一层,修改Bug,深度定制)

(3)接下来是“运行库层”:该层包含C/C++开发的库、Java开发的核心库和Dalvik虚拟机

(4)最下面一层是“linux内核层”:Android基于的linux内核版本是v2.6,linux内核层也作为硬件和软件之间的抽象层,硬件驱动程序包含其中,开发语言是C语言。(Android驱动开发在这一层)

了解了上面的内容,关于Android平台的开发其实已经有了很明确的概念,即Android开发主要包含:应用开发、系统开发和驱动开发;应用开发和系统开发主要使用Java语言,并且需要对应用程序框架及运行原理有很清楚的认识;而驱动开发则需要了解Linux内核,并需要具备C语言开发能力。

在了解了Android平台架构后还需要掌握其动态原理,动态原理包含两部分一部分是编译原理,一部分是运行原理。这两部分在后续章节中会有介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值