原文链接:http://android.eoe.cn/topic/overview
* Android是什么?*
版本:Android 4.0 r1
原始页面:http://developer.android.com/guide/basics/what-is-android.html
Android是一个移动设备的程序集合,包括的操作系统、中间件和关键的应用程序。 Android SDK 提供了必要的工具和API,使用Java编程语言在Android平台开发应用程序。
* 特点*
- * 应用程序框架* 使组件可以被重用和替换
- * Dalvik虚拟机* 为移动设备优化
- * 集成的浏览器* 基于开源的WebKit引擎
- * 基于优化的图形* 由一个自定义的2D图形库支持;3D图形的OpenGL ES 1.0规范(可选硬件加速)
- * SQLite* 结构化的数据存储
- * 媒体支持* 常见的音频、视频和静止图像格式(MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF)
- * GSM电话* (依赖于硬件)
- * 蓝牙、EDGE、3G和WiFi* (依赖于硬件)
- * 摄像头、GPS、指南针、和加速度计* (依赖于硬件)
- * 丰富的开发环境* 包括设备模拟器、调试器、内存和性能分析工具,以及一个Eclipse IDE的插件 # * Android架构* 下图展示了Android操作系统的主要组成部分,每一部分在下面有更详细地描述。
文件:Android framework.png
* 应用程序*
Android会附带了一套核心应用,包括电子邮件客户端,短信程序,日历,地图,浏览器,联系人等。所有应用程序都使用Java编程语言编写。
* 应用框架*
Android通过一个开放的开发平台,给开发人员在创建极为丰富创新性的应用程序上提供了有力的支持。开发者可以自由设定设备的硬件场景、接入位置信息、运行后台服务、设置闹钟、添加状态栏通知和更多的在其他优势方面上。
开发者拥有使用相同的框架API访问核心应用程序的全部权利。应用程序架构旨在简化组件的重用,任何应用都可以发布它的功能,之后任何其他应用程序都能使用这些功能(受强制执行的安全框架约束)。该机制允许用户更换组件。
在所有应用程序的背后都是使用一套服务和系统,包括:
* 丰富的 视图和扩展,可以用来构建应用程序,包括列表、网格、文本框、按钮、甚至内嵌的网页浏览器
* 内容提供者(Content Providers),使应用程序能够访问其他应用程序的数据(如通讯录)或共享自己的数据
* 资源管理器(Resource Manager),提供非代码资源的访问,如本地化的字符串、图形、和布局文件
* 通知管理器(Notification Manager),使所有的应用程序都能在状态栏显示自定义警报信息
* 活动管理器(Activity Manager)管理应用程序的生命周期,并提供一个导航使用的共同的返回栈
对于更多的细节和应用程序的演示,请看记事本教程。
* 库*
Android包括一组由C / C + Android系统组成的各个部分所用的库。这些功能都通过Android应用程序框架提供给开发者。下面列出了一些核心库:
* * 系统C库* - BSD,一个为基于嵌入式Linux的设备调整的标准C系统库(libc)的派生实现
* * 媒体库* - 基于PacketVideo的OpenCORE库支持许多流行的音频和视频格式的播放和录音,以及静态图像文件,包括MPEG4,H.264标准,支持MP3,AAC,AMR,JPG和PNG格式
* * Surface Manager* - 管理访问显示子系统和从多个应用程序无缝合成2D和3D图形层
* * LibWebCore* - 一个为Android浏览器和可嵌入的网页视图提供支持的现代化的网页浏览器引擎
* * SGL* - 底层的2D图形引擎
* * 3D库* - 基于OpenGL ES 1.0 API的实施库,无论使用或是包含硬件3D加速(如果可用)和高度优化的3D软件光栅化
* * FreeType* - 位图和矢量字体渲染
* * SQLite* - 为所有的应用程序提供一个强大而且轻量级的关系数据库引擎
* Android运行时*
Android包括一套核心库,提供在Java编程语言的核心库中大部分可用的功能。
每一个Android应用程序与自己的Dalvik虚拟机运行在它自己的进程中。Dalvik被设计成设备可以有效地运行多个虚拟机。Dalvik虚拟机执行的Dalvik可执行格式(.dex)是最小的内存占用优化文件。虚拟机是基于寄存器的,运行已所包含的“dx”工具转化成.dex格式的Java语言的编译器编译的类。
Dalvik虚拟机依赖于Linux内核的基本功能,如:线程和低级别的内存管理。
* Linux内核*
Android依赖Linux 2.6版本的系统核心服务,如安全,内存管理,进程管理,网络堆栈,驱动模型。内核也作为硬件和软件堆栈的其余部分之间的抽象层。
相关推荐
- 掌握GUI编程、多线程编程、数据库访问、网络访问及设备访问API的基础知识。 - **能力方面**: - 能够独立分析并解决Android应用开发过程中的问题。 - 具备需求分析、算法设计、编程实现的一般能力。 - 培养较...
对于开发者来说,了解基础的C或C++、Java、面向对象编程以及Linux基础知识是必要的,尤其是因为Android支持原生开发(Native Development Kit, NDK),允许开发者使用C/C++编写部分性能敏感的代码。NDK是一组工具...
本教学大纲共包括 10 个实验项目,涵盖了 Android 应用开发的基础知识,包括 Activity 组件的生命周期、用户界面结构、资源管理、Intent、UI 组件、菜单和通知、Dialog、服务、Preferences 和文件操作等。...
- **安装JDK**:Java Development Kit是进行Android应用开发的基础。确保安装最新版本的JDK,并正确配置环境变量。 - **安装Android SDK**:Software Development Kit包含了创建、构建和调试Android应用程序所需的...
在Android学习过程中,掌握基础和核心...通过以上学习,你可以构建起一个完整的Android开发知识体系,为后续的深入学习和实践打下坚实的基础。记得实践是最好的老师,理论结合实际项目将有助于更好地掌握这些知识点。
7. **Android基础** - 安卓环境搭建:安装SDK,配置Android Studio。 - 布局设计:学习XML布局文件,理解控件和布局容器的使用。 - Activity和Intent:理解Android应用的生命周期,使用Intent进行页面跳转。 - ...
通过学习这门课程,学生不仅能够巩固之前学到的Java基础知识,还能够掌握Android开发的核心技术和应用实践。 ### 三、课程目标 #### 1、能力目标 - **总体目标**:学生能够搭建Android开发环境,熟练使用界面控件...
Andriod面试复习大纲,包含java、android基础、UI布局+控件、传感器+定位系统、常用数据格式+网络编程、NDK+游戏开发。可以参照上面的内容一一复习,巩固知识点,帮助您找到一份满意的工作。
课程分为多个部分,首先介绍了Android的基础知识,包括Android的历史背景和其在移动设备中的重要性。学生会通过模拟器亲身体验Android系统,了解Android开发社区,以便更好地融入开发者群体。 接着,课程指导学生...
### Android培训机构教程大纲知识点 #### 一、课程背景与市场前景 - **市场现状与人才需求**:随着3G技术的发展和普及,特别是在移动互联网领域,对于嵌入式开发人才、移动商务解决方案人才以及增值业务开发人才的...
这门课程不仅涵盖了Android的基础知识,还深入讲解了UI设计、数据存储、四大组件以及网络编程等关键领域。通过学习,学生将具备开发基本Android应用的能力,并为将来从事移动互联网软件开发奠定坚实基础。 教学内容...
1. **第一章 Android基础知识** - 本章主要介绍Android的基本概念,如Android的特点、优势,以及环境搭建和程序开发流程。教学重点在于搭建Android开发环境,难点在于理解程序开发步骤。教学建议包括简要介绍...
本课程旨在培养学生 Android 移动开发的基础知识和技能,通过学习 Android 基础知识、UI 界面、数据存储、SQLite 数据库、四大组件、网络编程、高级编程等方面的知识,学生能够掌握 Android 基础知识,学会编写简单...
1. **基础知识**:学员需要掌握Java编程语言,这是Android开发的基础。此外,了解操作系统原理和计算机网络知识也是必要的。 2. **Android SDK**:学习如何使用Android Software Development Kit(SDK),包括...
一、Android基础知识 这一部分旨在让学生理解和掌握Android开发的基本概念、特性和环境搭建。教学重点在于Android环境的搭建,难点在于理解程序开发的步骤。教学内容包括: 1. Android概述,解释其定义和背景。 2. ...
资源点1:Android 基础知识 Android 是什么? Android 是一个基于 Linux 内核的开源移动操作系统,它的架构主要包括 Linux 内核、系统 libraries、应用程序框架和应用程序四个层次。 Android 的发展历史、教学趋势和...