关闭

《爱上android》之初识Android

标签: android
1128人阅读 评论(1) 收藏 举报
分类:

第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

0
0
查看评论

《爱上Android》作者说!

Welcome to MarkEditor 之前一直在百度阅读维护的书 《爱上Android》,已经由人民邮电出版社出版。起这个书名的主要原因是我非常喜爱从事开发Android程序的事业,也非常热爱分享技术。 心理专家研究过人心理周期的...
  • epubit17
  • epubit17
  • 2017-08-01 14:54
  • 2108

爱上Android

爱上Android [预售] ...
  • epubit17
  • epubit17
  • 2017-08-03 14:01
  • 1011

简书上写博客感觉更爽点

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

Android之Http通信——1.初识Http协议

Android之Http通信——1.初识Http协议 本文内容: >1. 介绍了下HTTP协议的一些概念、 >2. 简单的说了下HTTP 1.0 和HTTP 1.1的区别 >3. HTTP请求的流程,包括SYN和ACK的概念,TCP/IP三次握手,HTTP操作的流程,HTTP请求的...
  • zpj779878443
  • zpj779878443
  • 2015-06-02 17:16
  • 9275

Android OpenAtlas初识

http://blog.csdn.net/ilittleone/article/details/46480963
  • renshuang2788445011
  • renshuang2788445011
  • 2015-08-14 10:46
  • 638

【FastDev4Android框架开发】RecyclerView完全解析,让你从此爱上它(二十八)

(一).前言:            话说RecyclerView已经面市很久,也在很多应用中得到广泛的使用,在整个开发者圈子里面也拥有很不错的口碑,那说明RecyclerView拥有比ListVie...
  • jiangqq781931404
  • jiangqq781931404
  • 2015-11-19 14:59
  • 15800

Android Retrofit 2.0(一)初识介绍

前言:看到圈子里Retrofit 2.0,RxJava(Android), OkHttp3.3 ,加之支持Android和 iOS 的React Native 热更新技术, 火的不要不要的, 2016年新技术一大波来袭 ,看着自己项目还在用httpClient, asyncTask,handler等...
  • csdn_aiyang
  • csdn_aiyang
  • 2017-05-16 16:33
  • 345

Python3网络爬虫(十二):初识Scrapy之再续火影情缘

《火影忍者》不是已经完结了吗?《火影忍者》是完结了,但是鸣人儿子的故事才刚刚开始,《博人传之火影忍者新时代》正在热播中。因此,我又开始追动漫了,虽然现在不会像儿时那样激动到上蹿下跳,但是我依然喜欢看,现在感觉,继续看火影,更多的是一种情怀吧!
  • c406495762
  • c406495762
  • 2017-06-04 14:51
  • 9406

【Java二十周年】爱上Java无法自拔

不知不觉之中,java都已经20岁了。刚好是一个正值青春的少年,回想当初他出生时,笔者都还没上学,编程为何物都不知道。然而就是在1995年James Gosling和同事们共同研发了java,从那之后就慢慢成为了当今世界用的人数最多、最火的一门语言了。也是从那时起,C++和Java之间口水不断,你争...
  • Evankaka
  • Evankaka
  • 2015-04-16 10:16
  • 6584

集成算法系列之GBM

http://baijiahao.baidu.com/s?id=1570175598042474&wfr=spider&for=pc 一、GBM简介 GBM全称为Gradient Boosting Machine,是Boosting算法的一种。Boosting算法详见《集成算...
  • zhaoyuxia517
  • zhaoyuxia517
  • 2017-12-07 10:20
  • 234
    每周大咖书



    重磅推荐-火热预售中
    《Kotlin程序开发入门精要》
    基于新版Kotlin撰写的全视频教学Kotlin入门书
    70小时超长视频 涵盖Kotlin和Android开发 学习Kotlin一本就够
    活动预告
    CSDN专家问答-邀请嘉宾 《奔跑吧Linux内核》作者张天飞活动时间:8月21日-8月28日提问地址:http://ask.csdn.net/subjects/35
    个人资料
    • 访问:293884次
    • 积分:2670
    • 等级:
    • 排名:第16110名
    • 原创:85篇
    • 转载:6篇
    • 译文:0篇
    • 评论:575条
    最新评论