Android Studio 入门(四)对Android的介绍

1,880 阅读5分钟

一、初步了解Android

1.Android系统架构

Android的系统架构大致可分为4层架构,分别为:

linux内核层

Android系统是基于linux内核的,这一层为Android设备的各种硬件提供了底层的驱动,如:显示驱动、音频驱动、照相机驱动、widi驱动、电源管理等。

系统运行层

这一层通过C/C++库为Android系统提供了主要的特性支持,如SQLite库提供了数据库的支持,OpenGL|ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。

在这一层还有Android运行时库,它主要提供了一些核心库,允许开发者使用java语言来编写Android应用。另外,Android运行时库中还包含了Dalvik虚拟机(5.0系统之后改为ART运行环境),它使得每一个Android应用都能运行在独立的进程中,并且拥有一个自己的虚拟机实例。相较于Java虚拟机,Dalvik和ART都是专门为移动设备定制的,它针对手机内存、CPU性能有限等情况做了优化处理。

应用框架层

这一层主要是提供了构建应用时可能会遇到的各种API,Android自带的一些核心应用就是使用这些API完成的,开发者可以使用这些API来构建自己的应用程序。

应用层

所有安装在手机上的应用程序都是属于这一层的,比如系统自带的联系人、短信等程序, 或者是你从Google Play上下载的小游戏,当然还包括你自己开发的程序。

关于Android系统架构的图如下

系统架构.jpg (图片来源:维基百科) 关于这个图的解释可以看这一篇: juejin.cn/post/703959…

2.Android已发布的版本(历史)

2008年9月,Google正式发布了Android 1.0系统,这也是Android系统最早的版本。随后的几年,Google以惊人的速度不断地更新Android系统,2.1、2.2、2.3系统的推出使Android占据了大量的市场。

2011年2月,Google发布了Android 3.0系统,这个系统版本是专门为平板计算机(简称“平板”)设计的,但也是Android为数不多的比较失败的版本,推出之后一直不见什么起色,市场份额也少得可怜。

不过很快,在同年的10月,Google又发布了Android 4.0系统,这个版本不再对手机和平板进行差异化区分,既可以应用在手机上,也可以应用在平板上。

2014年Google推出了号称史上版本改动最大的Android 5.0系统,使用ART运行环境替代了Dalvik虚拟机,大大提升了应用的运行速度,还提出了Material Design的概念来优化应用的界面设计。除此之外,还推出了Android Wear、Android Auto、Android TV系统,从而进军可穿戴设备、汽车、电视等全新领域。

之后Android的更新速度更加迅速,每年都会发布一个新版本,到2019年Android已经发布到10.0系统了

在今年的10月Android12也正式发布了,不过个人感觉目前手机的功能已经达到暂时性的饱和了,12的发布更多的也是提供了一些新的接口,还有根据市场来兼容一些新的屏幕了(当然只是一些个人意见)

目前主要的Android版本及其详细信息可以在其官网查看 developer.android.google.cn/

3.Android应用开发特色

刚才也说了通过Android的系统运行库层为我们开发提供了大部分的特性支持,我们作为Android开发者,在学习实操开发之前先要了解一下Android系统提供了哪些东西来供我们直接使用的:

1.四大组件

Android系统四大组件分别是Activity(大多和界面显示有关)、Service(后台的计算,提供一些潜在的服务)、BroadcastReceiver(广播机制,通知已开机或时间变化等等)和ContentProvider(内容提供者)。

其中Activity是所有Android应用程序的门面,凡是在应用中你看得到的东西,都是放在Activity中的。而Service就比较低调了,你无法看到它,但它会在后台默默地运行,即使用户退出了应用,Service仍然是可以继续运行的。BroadcastReceiver允许你的应用接收来自各处的广播消息,比如电话、短信等,当然,你的应用也可以向外发出广播消息。ContentProvider则为应用程序之间共享数据提供了可能,比如你想要读取系统通讯录中的联系人,就需要通过ContentProvider来实现。

2.丰富的系统控件

Android系统为开发者提供了丰富的系统控件(butten、textview等等),使得我们可以很轻松地编写出漂亮的界面。当然如果你品位比较高,不满足于系统自带的控件效果,完全可以定制属于自己的控件。

3.SQLite数据库

Android系统还自带了这种轻量级、运算速度极快的嵌入式关系型数据库。它不仅支持标准的SQL语法,还可以通过Android封装好的API进行操作,让存储和读取数据变得非常方便。

4.强大的多媒体

Android系统还提供了丰富的多媒体服务,如音乐、视频、录音、拍照等,这一切你都可以 在程序中通过代码进行控制,让你的应用变得更加丰富多彩。

###########################