Welcome to Android!
一、什么是Android
Android 平台可以说是为移动设备提供的整体软件解决方案,它包括一个操作系统,中间件和应用程序。开发者可以通过Android SDK,用JAVA为Android开发应用程序,应用程序运行在Dalvik上。Dalvik是一个基于Linux内核的虚拟机,专门为嵌入式应用而设计。
二、Android特性
- Application framework enabling reuse and replacement of components
- Dalvik virtual machine optimized for mobile devices
- Integrated browser based on the open source WebKit engine
- Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)
- SQLite for structured data storage
- Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
- GSM Telephony (hardware dependent)
- Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
- Camera, GPS, compass, and accelerometer (hardware dependent)
- Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE 直接复制了Android文档,因为比较简单,我就不翻译了。
三、Android体系构架
四、应用程序
Android自带一组核心应用程序,比如邮件客户端、SMS、日历、地图、浏览器、名片夹等。我们也可以自己开发,开发语言为JAVA。
五、应用程序框架
框架被设计为可以简便的重用组件。比如说,A程序的功能可以被B程序使用,反之亦然。同样道理,程序组件也能够被用户替换为其他组件。 从根本来说,所有的程序都是一套服务和系统组成,包括:
- 一系列完整的和可扩展的 Views,用于程序开发;有列表,栅格,文本框,按钮和可潜入的web浏览器;
- Content Providers 让程序访问其他程序(名片夹)的数据或者共享自己的数据;
- 一个 Resource Manager,用于访问本地资源,比如字符串,图片和版面布局文件;
- 一个 Notification Manager使程序可以在状态栏显示自定义的通知;
- 一个 Activity Manager用于管理程序的生命周期和提供一个通用的访问序列栈。
六、库
Android 包含一套 C/C++ 库,这里列出一些核心库:
- System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices
- Media Libraries - based on PacketVideo’s OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
- Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications
- LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view
- SGL - the underlying 2D graphics engine
- 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer
- FreeType - bitmap and vector font rendering
- SQLite - a powerful and lightweight relational database engine available to all applications
直接复制了Android文档,因为比较简单,我就不翻译了。
七、Android Runtime
每个Android程序都有自己的进程,运行在自己的一个Dalvik 虚拟机实例上。Dalvik VM 可执行文件的格式是Dalvik Executable (.dex)。通过“dx”工具将编译后的java classes转换为.dex格式。
八、Linux Kernel
Android 使用Linux 2.6作为核心的系统服务,比如安全,内存管理,进程管理,网络堆栈,驱动模块等。Linux 2.6也作为一个硬件和软件之间的抽象层。

