现在的位置: 首页 > 移动开发 > 正文

Android入门进阶教程(1)-android扫盲

2019年09月10日 移动开发 ⁄ 共 1942字 ⁄ 字号 评论关闭

首先Android是一个开放的移动设备平台,包括操作系统,中间件和关键应用软件堆栈。 基于Linux内核的软件平台和操作系统,是Google2007115日公布的手机系统平台,早期由Google开发,后由开放手机联盟(Open Handset Alliance)开发。它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。低层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发Java作为编写程序的一部分。之后Android提供了NDK以供开发者使用其他语言编写程序。另外,为了推广此技术,Google和其他几十个手机公司创建了开放手机联盟。Android在未公开之前常被传闻为Google电话或gPhone。大多传闻认为Google开发的是自己的手机电话产品,而不是一套软件平台。到了20101月,Google始发表自家品牌手机电话的Nexus One它有以下特点:

 

· 应用程序框架,使组件的重用和替换

· Dalvik虚拟机为移动设备优化

· 集成浏览器基于开源的WebKit引擎

· 优化的图形,通过自定义的2D图形库供电;基于3D图形的OpenGL ES 1.0规范(硬件加速可选)

· SQLite为结构化数据存储

· 媒体支持常见的音频,视频和静止图像格式(MPEG4H.264MP3AACAMRJPGPNGGIF 

· GSM电话(依赖于硬件)

· 蓝牙,EDGE3GWiFi(依赖于硬件)

· 摄像头,GPS,指南针,和加速度计(依赖于硬件)

· 丰富的开发环境,包括设备模拟器,调试,内存和性能分析工具,和一个用于Eclipse IDE插件

该系统被成功运用到了 手机,平板电脑,彩电,GPS导航,车载电视等设备上。

 

Android架构

 

 

应用

Android核心应用,包括电子邮件客户端,SMS程序,日历,地图,浏览器,联系人,和其他应用。所有应用程序都使用Java编程语言编写的。

 

应用框架

    通过提供一个开放的开发平台。开发者可以自由的开发丰富的应用程序,开发人员可以完全访问核心应用中使用相同的框架API。应用程序的架构设计简化了组件的重用,任何应用都可以发布它的功能并且能够使用任何其他应用程序功能。

应用库

Android包含一套C / C + + Android系统的各个组成部分所使用的库。这些功能通过Android应用程序框架暴露给开发者。下面列出了一些核心库:

· 系统C -一个标准C系统库,为嵌入式的基于Linux的设备

· 媒体库 -基于PacketVideoOpenCORE;支持许多流行的音频和视频格式的播放和录音,以及静态图像文件,包括MPEG4H.264,支持MP3AACAMRJPG, PNG

· 视图管理器 -管理多个应用程序,显示子系统和2D3D图形层的访问

· LibWebCore -一个现代的Web浏览器的引擎SGL -底层的2D图形引擎

· 3D -基于OpenGL ES 1.0 API的基础上实现;使用或者硬件3D加速(如果可用)或所包含的,高度优化的3D

· FreeType -位图和矢量字体渲染

· SQLite -所有的应用程序提供的一个强大的和轻量级的关系数据库引擎

 

Android的运行环境

    每个Android应用都运行在它自己的进程中,拥有自己的Dalvik虚拟机实例。Dalvik被设计可以有效地运行多个虚拟机。Dalvik虚拟机执行的Dalvik可执行文件(。DEX)格式,这是最小的内存占用优化文件。VM是基于寄存器的,并运行由Java语言的编译器,编译成.dex文件的编译类。Dalvik虚拟机依赖于Linux内核

 

Linux内核

       Android的核心系统服务,如安全,内存管理,进程管理,网络堆栈和驱动程序模型依赖在Linux 2.6版本。内核也作为硬件和软件堆栈的其余部分之间的抽象层。

 

---------------------------------------------------------------------------------------------

Android版本发行

Android系统基本上每半年一次的升级,分别定在每年的夏天和年终。每代Android系统都将以甜点命名.比如:

1.5版叫做Cupcake(纸杯蛋糕)

1.6版为Donut(甜甜圈)

2.1版的Eclair(闪电泡芙,一种法式奶油夹心甜点),此版本曾被叫做Flan“水果馅饼,之后是

2.2版的Froyo(冻酸奶)

2.3版的Gingerbread(姜饼).

CDEFG字头顺序排列.

 

 

 

抱歉!评论已关闭.