文档章节

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
628
0
[安卓教学] 添加操作栏(Action Bar) - 第一课 - 设置操作栏

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

夜游长空
2014/03/26
719
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

没有更多内容

加载失败,请刷新页面

加载更多

jquery底层函数-jQuery.ajaxSetup()

jQuery.ajaxSetup( options )返回: 描述: 为以后要用到的Ajax请求设置默认的值 添加的版本: 1.1jQuery.ajaxSetup( options ) options 类型: PlainObject 一个用来配置Ajax请求的"{键:值}"对,......

前端老手
26分钟前
5
0
Qt编写自定义控件56-波浪曲线

一、前言 波浪曲线控件,其实是之前一个水波进度条控件的一个核心,其实就是利用正弦曲线来生成对应的坐标进行绘制,把这个功能单独提取出来,是为了更详细的研究各种正弦余弦等拓展效果,当...

飞扬青云
32分钟前
5
0
深入理解计算机系统cp1:存储单位与编码

摘要: 理解计算机是如何存储数据的。 原文:深入理解计算机系统cp1:存储单位与编码 作者:Chor Fundebug经授权转载,版权归原作者所有。 1. 存储单位 位:即 bit,表示二进制位,要么是 0 ...

Fundebug
35分钟前
5
0
Python查询比特币实时价格

在本文中我们将学习如何使用使用coinmarketcap提供的比特币行情API,编写Python程序来获取像比特币、莱特币或以太币之类的区块链数字货币的实时行情/实时价格。 1、比特币行情API调用代码 我...

汇智网教程
今天
8
0
爬虫平台Crawlab核心原理--自动提取字段算法

⚠注意: 可配置爬虫现在仅在Python版本(v0.2.1-v0.2.4)可用,在最新版本Golang版本(v0.3.0)还暂时不可用,后续会加上,请关注近期更新 背景 实际的大型爬虫开发项目中,爬虫工程师会被要...

tikazyq
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部