文档章节

Android 第一课——Android架构

learn_more
 learn_more
发布于 2014/12/28 21:24
字数 812
阅读 800
收藏 11

声明:本文是学习Android时从《Android 4编程入门经典》摘抄!仅仅是作为复习时查看的笔记!

1 Android是一个linux系统

Android 是一个基于 Linux 的开源的手机操作系统。它可以供任何打算使之在其自己设备上运行的用户使用  

2 Android 功能  

鉴于 Android 的开源以及制造商可对其自由定制的特点, 因此没有固定的软硬件配置。然而,Android 本身支持如下功能:

● 存储—使用 SQLite(轻量级的关系数据库)进行数据存储.

● 连接性—支持 GSM/EDGE、IDEN、CDMA、EV-DO、UMTS、Bluetooth(包括A2DP 和 AVRCP)、WiFi、LTE 和 WiMAX。第 8 章将详细讨论联网。

● 消息传递—支持 SMS 和 MMS,也在第 8 章进行详细探讨。

● Web 浏览器—基于开源的 WebKit,并集成 Chrome 的 V8 JavaScript 引擎。

● 媒体支持—支持以下媒体:H.263、H.264(在 3GP 或 MP4 容器中)、MPEG-4 SP、AMR、AMR-WB(在 3GP 容器中)、AAC、HE-AAC(在 MP4 或 3GP 容器中)、MP3、MIDI、OggVorbis、WAV、JPEG、PNG、GIF 和 BMP。

● 硬件支持—加速度传感器、摄像头、数字式罗盘、接近传感器和全球定位系统(GPS)。

● 多点触摸—支持多点触摸屏幕。

● 多任务—支持多任务应用。

● Flash 支持—Android 2.3 支持 Flash 10.1。

● tethering—支持作为有线/无线热点实现 Internet 连接共享。

3 Android的基本架构,操作系统的架构

Android 操作系统大致可以在 4 个主要层面上分为以下 5 个部分:

● Linux 内核—这是 Android 所基于的核心。这一层包括了一个 Android 设备的各种硬件组件的所有低层设备驱动程序。

● 库—包括了提供 Android 操作系统的主要功能的全部代码。例如,SQLite 库提供了支持应用程序进行数据存储的数据库。WebKit 库为浏览 Web 提供了众多功能。

● Android 运行时—它与库同处一层, 提供了一组核心库, 可以使开发人员使用 Java编程语言来写 Android 应用程序。Android 运行时还包括 Dalvik 虚拟机,这使得每个 Android 应用程序都在它自己的进程中运行, 都拥有一个自己的 Dalvik 虚拟机实例(Android 应用程序被编译成 Dalvik 可执行文件)。Dalvik 是特别为 Android 设计,并为内存和 CPU 受限的电池供电的移动设备进行过优化的专门的虚拟机。

● 应用程序框架—对应用程序开发人员公开了 Android 操作系统的各种功能,使他们可以在应用程序中使用这些功能。

● 应用程序—在这个最顶层中,可以找到 Android 设备自带的应用程序(例如电话、联系人、浏览器等),以及可以从 Android Market 应用程序商店下载和安装的应用程序。您所写的任何应用程序都处于这一层。



© 著作权归作者所有

learn_more
粉丝 93
博文 240
码字总数 210196
作品 0
深圳
程序员
私信 提问
[安卓教学] 创建你的第一个安卓应用 - 课程介绍

因为最近在写一个Android App,需要看Google的Android文档,发现他们并没有提供中文文档。感觉不是很重视中国的开发者。本着为了弘扬中国文化(不是非得英文好才能成为好开发)的态度,打算翻...

夜游长空
2014/03/18
627
0
[安卓教学] 添加操作栏(Action Bar) - 第一课 - 设置操作栏

在操作栏最基本的形式中,它显示当前activity的标题,同时在标题的左边显示应用的图标。即使是最基本的形式,操作栏也对于所有activity非常有用,它可以告知用户当前所在并且使你的应用保持一...

夜游长空
2014/03/26
718
0
Android系统简介(上、中、下):历史渊源

上个月,看到微信的一系列文章,讲到Linux的鼻祖-李纳斯的传记《Just for Fun》, 其人神乎其能, 其人生过程非常有趣,值得每个程序员细细品味。 而实际上,对我而已,虽然做软件开发很多年,...

润物互动技术团队博客
2014/08/19
1K
4
Flutter 即学即用系列博客——10 混淆

前言 之前的博客我们都是在 debug 的模式下进行开发的。 实际发布到市场或者给到用户的都是 release 包。 而对于 Android 来说,release 包一个重要的步骤就是混淆。 Android 如何混淆 如何你...

AndroidTraveler
03/29
0
0
Android 源码分析之旅1--系统架构与分析方法、工具

《Android 源码分析之旅》目录 apefwkall.png 《Android 源码分析之旅》的全部目录将作如下安排: 第1章节——本篇文章,将介绍一些基本的概念、方法、工具。 第2章节——着重介绍Binder IP...

猴亮屏
2017/10/19
42
0

没有更多内容

加载失败,请刷新页面

加载更多

CSS--列表

一、列表标识项 list-style-type none:去掉标识项 disc:默认实心圆 circle:空心圆 squire:矩形 二、列表项图片 list-style-img: 取值:url(路径) 三、列表项位置 list-style-position:...

wytao1995
今天
4
0
linux 命令-文本比较comm、diff、patch

本文原创首发于公众号:编程三分钟 今天学了三个文本比较的命令分享给大家。 comm comm 命令比较相同的文本 $ cat charabc$ cat chardiffadc 比如,我有两个文件char和chardiff如上,...

编程三分钟
今天
7
0
QML教程

https://blog.csdn.net/qq_40194498/article/category/7580030 https://blog.csdn.net/LaineGates/article/details/50887765...

shzwork
今天
5
0
HA Cluster之5

对于使用heartbeat v2版的CRM配置的集群信息都是保存在一个名为cib.xml的配置文件中,存放在/var/lib/heartbeat/crm/下。CIB:Cluster Information Base,由于xml文件配置不是那么方便,所以...

lhdzw
今天
6
0
玩转Redis-Redis基础数据结构及核心命令

  《玩转Redis》系列文章主要讲述Redis的基础及中高级应用,文章基于Redis5.0.4+。本文主要讲述Redis的数据结构String,《玩转Redis-Redis基础数据结构及核心命令》相关操作命令为方便对比...

zxiaofan666
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部