Android官网学习笔记001:Android简介
2012-02-12 13:00
417 查看
################### 声明部分 #####################
主要内容与来源:Google官网www.android.com
本人博客地址:http://blog.csdn.net/riverzhu
声明:由于本文档为阅读Google官网www.android.com的Dev. Guide内容,并结合个人理解与总结所形成的。因此,很多内容均受个人能力与水平限制,难免存在着各种不足与错误,希望各位朋友多多指出。同时,欢迎各位朋友在转载时保留“声明部分”。此外,英文中很多词汇直接译成中文将会引起误解,如Started Service、Bound Service等,均直接引用,而不作翻译。
联系方式:dr.river.zhu@gmail.com
################################################
达尔维克虚拟机(Dalvik virtual machine):针对移动设备进行了优化
集成浏览器:基于开源WebKit引擎。
优化图形:由定制的2D图形库和基于OpenGL ES 1.0规范(硬件加速可选)的3D图形库驱动
SQLite:用于结构化数据存储
支持媒体:普通的音视频及静态图像格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)。
GSM电话(依赖硬件)
蓝牙、EDGE、3G与WiFi(依赖硬件)
摄像头、GPS、罗盘(compass)及加速度计(accelerometer)(依赖硬件)
丰富的开发环境(Rich development environment):包括一个设备模拟器、调试工具、内存与性能分析、和Eclipse开发环境插件。
开发者对框架API(framework API)具有与核心应用(Core Application)完全相同的访问权限。应用程序的架构被设计成易于组件重用的形式,任何应用程序均可以发布(publish)其功能(capabilities),同时其他应用程序可以重用这些被发布的功能(但仍在整个框架施加的安全约束之内)。这种机制也使得用户可以替换不同组件。
所有的应用程序基础是一组服务及体系(或意译为“系统组件”),包括:
一组丰富的和可扩展的Views(视图):可以用于创建应用程序,包括列表、网格、文本框、按钮,甚至是可嵌入的网页浏览器。
Content Providers(内容提供器):允许应用程序从其他应用程序(如通讯录)访问数据,或共享其所持有的数据。
一个Resource Manager(资源管理器):用于提供非代码(Non-Code)资源的访问,如本地化字符串(Localized Strings)、图形、布局文件(Layout files)等。
一个Notification Manager(通知管理器):允许所有应用程序在状态栏中显示自定义通知。
一个Activity Manager(活动管理器):管理应用程序的生命周期,同时提供一个通用巡航回溯栈(back stack)。
更多应用程序的信息及逐步解说请参阅“文本编辑器教程”。
System C library(系统C库):一个源于BSD实现并针对基于Linux的嵌入式设备改进的标准C系统库(libc)
Media Libraries(媒体库):基于PacketVideo的OpenCORE,该库支持播放和录制各种流行音视频格式,及静态图像文件,包括MPEG4、H.264、MP3、AAC、AMR、JPG和PNG
Surface Manager(外观管理器):管理对显示子系统的访问,并无缝地合成来自多个应用的2D、3D图形
LibWebCore:一个现代Web浏览器引擎,支持Android浏览器及可嵌入的Web视图(Web View)
SGL:2D图形引擎的基础
3D Libraries(3D库):基于OpenGL ES 1.0 API的实现,该库或使用硬件3D加速(当可用时),或使用内置的高度优化过的3D软光栅器(点阵化)
FreeType:图位及矢量字体渲染
SQLite:一个可用于所有应用程序的强大、轻量级的关系数据库引擎
每个Android应用程序均在其自己的Dalvik虚拟机实例内部运行于其自身的进程(Process)中。Dalvik被设计成可在一个设备内高率运行多实例的虚拟机。Dalvik虚拟机执行Dvalvik可执行格式(.dex)文件。该格式对内存占用进行最优化处理。虚拟机采用基于注册的机制,运行经过JAVA语言编译器编译过的类文件。这些类文件被自带的“dx工具”转换为.dex格式。
Dalvik虚拟机的诸如线程和低内存管理等基础功能依赖于Linux内核。
主要内容与来源:Google官网www.android.com
本人博客地址:http://blog.csdn.net/riverzhu
声明:由于本文档为阅读Google官网www.android.com的Dev. Guide内容,并结合个人理解与总结所形成的。因此,很多内容均受个人能力与水平限制,难免存在着各种不足与错误,希望各位朋友多多指出。同时,欢迎各位朋友在转载时保留“声明部分”。此外,英文中很多词汇直接译成中文将会引起误解,如Started Service、Bound Service等,均直接引用,而不作翻译。
联系方式:dr.river.zhu@gmail.com
################################################
Android简介
Android是一个软件栈(Software Stack),其包括操作系统、中间件及关键应用。Android SDK(Software Development Kit 软件开发工具包)提供了在Android平台上开发应用程序所需的工具与API。特性
应用程序框架(Application framework):使得重用与替换不同的组件成为可能达尔维克虚拟机(Dalvik virtual machine):针对移动设备进行了优化
集成浏览器:基于开源WebKit引擎。
优化图形:由定制的2D图形库和基于OpenGL ES 1.0规范(硬件加速可选)的3D图形库驱动
SQLite:用于结构化数据存储
支持媒体:普通的音视频及静态图像格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)。
GSM电话(依赖硬件)
蓝牙、EDGE、3G与WiFi(依赖硬件)
摄像头、GPS、罗盘(compass)及加速度计(accelerometer)(依赖硬件)
丰富的开发环境(Rich development environment):包括一个设备模拟器、调试工具、内存与性能分析、和Eclipse开发环境插件。
Android体系架构
下图给出了Android操作系统中的主要组件,各组件详细描述如下:应用程序(Applications)
Android含有一组核心应用,包括电子邮件客户端、SMS程序、日历、地图、浏览器、通讯录等。所有应用均使用JAVA编程语言开发。应用程序框架
通过提供一个开放开发平台,Android使得开发者可以创建极其丰富和新颖的应用程序。开发者可自由地利用设备硬件、访问地理位置信息、在后台运行服务、设置闹钟、添加通知(notifications)到状态栏,及更多事情。开发者对框架API(framework API)具有与核心应用(Core Application)完全相同的访问权限。应用程序的架构被设计成易于组件重用的形式,任何应用程序均可以发布(publish)其功能(capabilities),同时其他应用程序可以重用这些被发布的功能(但仍在整个框架施加的安全约束之内)。这种机制也使得用户可以替换不同组件。
所有的应用程序基础是一组服务及体系(或意译为“系统组件”),包括:
一组丰富的和可扩展的Views(视图):可以用于创建应用程序,包括列表、网格、文本框、按钮,甚至是可嵌入的网页浏览器。
Content Providers(内容提供器):允许应用程序从其他应用程序(如通讯录)访问数据,或共享其所持有的数据。
一个Resource Manager(资源管理器):用于提供非代码(Non-Code)资源的访问,如本地化字符串(Localized Strings)、图形、布局文件(Layout files)等。
一个Notification Manager(通知管理器):允许所有应用程序在状态栏中显示自定义通知。
一个Activity Manager(活动管理器):管理应用程序的生命周期,同时提供一个通用巡航回溯栈(back stack)。
更多应用程序的信息及逐步解说请参阅“文本编辑器教程”。
库
Android包含一组用于Android系统各种组件的C/C++库。开发者通过通过Android应用程序框架来访问这些库所提供的功能。一些核心库如下所列:System C library(系统C库):一个源于BSD实现并针对基于Linux的嵌入式设备改进的标准C系统库(libc)
Media Libraries(媒体库):基于PacketVideo的OpenCORE,该库支持播放和录制各种流行音视频格式,及静态图像文件,包括MPEG4、H.264、MP3、AAC、AMR、JPG和PNG
Surface Manager(外观管理器):管理对显示子系统的访问,并无缝地合成来自多个应用的2D、3D图形
LibWebCore:一个现代Web浏览器引擎,支持Android浏览器及可嵌入的Web视图(Web View)
SGL:2D图形引擎的基础
3D Libraries(3D库):基于OpenGL ES 1.0 API的实现,该库或使用硬件3D加速(当可用时),或使用内置的高度优化过的3D软光栅器(点阵化)
FreeType:图位及矢量字体渲染
SQLite:一个可用于所有应用程序的强大、轻量级的关系数据库引擎
Android运行时
Android包括一组核心库,主要用于提供JAVA编程语言核心库所提供的大部分功能。每个Android应用程序均在其自己的Dalvik虚拟机实例内部运行于其自身的进程(Process)中。Dalvik被设计成可在一个设备内高率运行多实例的虚拟机。Dalvik虚拟机执行Dvalvik可执行格式(.dex)文件。该格式对内存占用进行最优化处理。虚拟机采用基于注册的机制,运行经过JAVA语言编译器编译过的类文件。这些类文件被自带的“dx工具”转换为.dex格式。
Dalvik虚拟机的诸如线程和低内存管理等基础功能依赖于Linux内核。
相关文章推荐
- Android网络学习笔记--------框架及简介
- 学习笔记001之[Android开发视频教学].01_06_Android当中的常见控件
- Android开发学习笔记2---HelloWord安卓程序结构简介
- 功能安全学习笔记001-功能安全简介
- Android开发学习笔记:Intent的简介以及属性的详解【转】
- 第一行代码学习笔记1——Android简介
- Android(java)学习笔记126:Android Studio中build.gradle简介
- Android开发学习笔记:Service的简介和启动方式
- android开发学习笔记(5)DalVik虚拟机简介
- Android(java)学习笔记115:Android InputMethodManager输入法简介
- 第一行代码学习笔记-第一章 开始启程-1.android简介
- Android开发学习笔记:Intent的简介以及属性的详解
- android官网文档学习笔记
- Android开发学习笔记:Intent的简介以及属性的详解
- Android游戏开发大全 学习笔记 第一章 Android平台简介
- 【Python】|廖雪峰官网学习笔记-HTTP简介
- Android 初学入门代码注释 学习笔记001 16.03.18
- Android开发学习笔记:Intent的简介以及属性的详解
- 如何学习android(看stay4it的笔记)+android stdio简单实用简介
- Android(OPhone) 学习笔记 - HelloWorld工程简介