《爱上android》之初识Android

原创 2017年08月11日 15:27:36

第1章 初识Android

毫无疑问,你肯定急于开始学习Android应用程序开发。毕竟,编程对程序员来说吸引力也是很大的。然而,在开始实际编程前,需要先了解Android的系统。

1.1 Android是什么

Android,中文名为安卓,直接翻译是机器人的意思,它是Google公司推出的一款开源免费的智能操作系统,不仅限于手机,现在很多终端都在使用Android操作系统,如手表、电视、汽车、平板电脑、微波炉等,如图1-1和图1-2所示。一般而言,还是以手机开发为主,本书也是介绍如何进行手机软件开发。

▲图1-1 Android系统的微波炉

▲图1-2 Android智能电视

由于Android系统是免费的,所以推广得很快。目前Android手机市场占有率已经超过80%。

1.2 Android体系架构

为了更好地理解Android系统是如何工作的,接下来解剖一下Android系统,看看其内部是如何构建的,如图1-3所示。

▲图1-3 Android系统架构

Android大致可以分为4层架构、5块区域。图1-3从下到上依次为:

(1)Linux内核层;

(2)系统运行库层;

(3)应用框架层;

(4)应用层。

1.Linux内核层

如图1-4所示,Android系统是基于Linux 2.6内核的,这一层为Android的各种硬件提供了驱动程序,如显示驱动、照相机驱动、声音驱动、电池管理等。当手机开机的时候,这一层肯定先运行。

▲图1-4 Linux内核层

2.系统运行库层

如图1-5所示,这一层通过一些C或者C++库为Android系统提供了主要的特性支持。如Webkit提供了浏览器支持(保证手机能够正常使用浏览器),SQLite库提供了数据库的支持(可以用来存储一些数据),OpenGLES库提供了3D绘图的支持等。

这一层还有Android运行时库,它主要提供了一些核心库,能够允许开发者使用Java语言编写Android应用。另外,Android运行时库中还包含了Dalvik虚拟机(Android 5.0系统以后替换成了ART虚拟机),因为Java语言的特性决定它只能通过虚拟机去运行,这个有点像我们在电脑上玩小霸王的游戏需要装模拟器一样。

▲图1-5 系统运行库层

无论是Dalvik虚拟机还是ART虚拟机,都是专门为移动设备定制的,它针对手机内存、CPU性能有限等情况,ART虚拟机安装程序时间稍微长一点,但是运行程序快一点。Google工程师最终决定用ART虚拟机(这点毋容置疑,没人愿意天天装程序)。

不管是Dalvik虚拟机还是ART虚拟机,都要比Java语言官方本身的JVM虚拟机要好用。当然最主要的原因是版权问题,虽然Java语言本身是开源免费的,但是JVM虚拟机不是开源免费的,所以不能直接用JVM虚拟机。

3.应用框架层

如图1-6所示,这一层主要提供了构建应用程序时可能用到的各种API,Android自带的一些核心应用就是使用这些API完成的,开发者也可以通过这些API构建自己的应用程序。这层的使用频率要比上面介绍的两层使用频率高。

▲图1-6 应用框架层

#### 4.应用层 如图1-7所示,所有安装到手机上的应用都属于这一层,例如系统自带的联系人、短信等程序,或者是自己下载的一些应用、游戏,肯定也会包括自己写的程序。

▲图1-7 应用层

应用层和应用框架层大部分都是采用Java代码编写的,Linux内核层和系统运行库层大部分采用C或者C++编写。

计算机语言核心就是0和1,理论上用一个电闸都能编程,闭合就是1,打开就是0,一开一闭程序就运行了,估计干这行的肯定瞧不上做C开发的。编程语言不分好坏,只是功能划分不一样。千万不要和资深程序员争论哪门编程语言好,他们眼中只有0或者1,基本上他能说的让你高山仰止。

1.3 Android发展史

Android从2008年发布1.0至今已经发布了20多个版本了,目前最新版本是Android 8,每一个系统版本都对应一个开发的API版本号,如Android 5.1对应API版本号21。每一个Android版本还都有一个代号,包括甜甜圈、姜饼、三明治、果冻豆、棒棒糖等。

如图1-8所示,表中最右面一栏就是当前版本的市场份额,可以发现Android 4.4是当前最流行的版本,Android 5.0以上的会越来越多,而Android 4.1以下的手机基本上没有了,Android 7.0还不到百分之一。所以本书重点讲解Android 5.0~7.1的知识,兼容到Android 4.1。

数据来源Android官网

▲图1-8 Android各个版本市场占有率

好了,Android基本信息就介绍到这,接下进入真正的Android开发之旅。


京东购书:https://item.jd.com/12144527.html
试读地址:http://www.epubit.com.cn/book/details/4885

相关文章推荐

《爱上Android》作者说!

Welcome to MarkEditor 之前一直在百度阅读维护的书 《爱上Android》,已经由人民邮电出版社出版。起这个书名的主要原因是...

爱上Android

爱上Android [预售] ...

简书上写博客感觉更爽点

最近的博客都在简书上写了,大家阅读起来应该更加清新点 http://www.jianshu.com/users/b4a1269b45f9/latest_articles...

励志一下

某大学2006年毕业本科生名单及分配去向       (三)、2006年毕业本科生名单及分配去向 专业名称 学 号 姓...
  • aicon
  • aicon
  • 2012年12月01日 17:22
  • 1568

activiti 快速入门--一个比较不错的操作工具类

驳回流程、取回流程、清空指定活动节点流向 、提交流程/流程转向、中止流程(特权人直接审批通过等)、挂起等核心操作...

Android进阶——Preference详解之初识Preference及Preference系(一)

Preference作为该家族的终极基类,直接继承Object,其他子类Preference直接或者间接继承于Preference。他们的作用就是定义要显示的UI(其实作用类似于普通的Layout布局...

Android基础夯实--重温动画(三)之初识Property Animation

每个人都有一定的理想,这种理想决定着他的努力和判断的方向。就在这个意义上,我从来不把安逸和快乐看作生活目的的本身——这种伦理基础,我叫它猪栏的理想。——爱因斯坦一、摘要Property Animati...

Android进阶——ViewPager详解之初识ViewPager(一)

一、ViewPager  1、概述 ViewPager继承自ViewGroup,是左右两个屏幕平滑地切换的一个容器,容器里呈现的视图由对应的Adapter决定,和其他标准的AdapterV...

Android基础之初识Broadcast Receiver

Android基础之初识Broadcast Receiver
  • HA1580
  • HA1580
  • 2017年03月19日 14:34
  • 169

Android开发之初识Camera图像采集

Android开发之初识Camera图像采集 /*  *  Android开发之初识camera图像采集  *  北京Android俱乐部群:167839253  *  Created on:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《爱上android》之初识Android
举报原因:
原因补充:

(最多只允许输入30个字)