第一天(20160131)
第1章 Android应用与开发环境
一、本章知识点概述:
1、搭建和使用Android应用开发环境,包括安装Android SDK、Android开发工具;也包括如何使用Android提供的ADB、DDMS、AAPT、DX等工具。
二、Android平台架构及特性
Android系统的底层建立在Linux系统之上,该平台由操作系统、中间件、用户界面和应用软件4层组成,它采用一种被称为软件叠层(Software Stack)的方式进行构建。这种软件叠层结构使得层与层之间相互分离,明确各层的分工。这种分工保证了层与层之间的低耦合,当下层的层内或层下发生改变时,上层应用无须任何改变。
图1.1显示了Android系统的体系结构。
从图中可以看出,Android系统主要有5部分组成,下面分别对这5部分进行简单介绍。
1、应用程序层
Android系统将会包含一系列的核心应用程序(也就是Android系统自带的一些程序),包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人等。这些应用程序都是用Java编写的。Android应用程序开发也主要是开发这些应用程序。
2、应用程序框架
当我们开发Android应用程序时,就是面向应用程序框架进行的。Android系统上的应用程序都是完全平等的,不管是Android系统自带的应用程序,还是普通开发者开发的程序,都可以访问Android体统的API框架。
Android应用程序框架提供了大量API供开发者使用。
应用程序框架除可作为应用程序开发的基础之外,也是软件复用的重要手段,任何一个应用程序都可发布它的功能模块—只要发布时遵守了框架的约定,那么其他应用程序也可以使用这个功能模块。
隐藏在每个应用后面的是一系列的服务和系统, 其中包括;
* 丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons),甚至可嵌入的web浏览器。
* 内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据
* 资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件( layout files )。
* 通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。
* 活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。
3、函数库和Android运行时
1)、函数库
Android包含一套被不同组件所使用的C/C++库的集合。一般来说,Android应用开发者不能直接调用这套C/C++库集,但可以通过它上面的应用程序框架来调用这些库。
以下是一些核心库:
* 系统 C 库 - 一个从 BSD 继承来的标准 C 系统函数库( libc ),它是专门为基于 embedded linux 的设备定制的。
* 媒体库 - 基于 PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。
* Surface Manager - 对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。
* LibWebCore - 一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。
* SGL - 底层的2D图形引擎
* 3D libraries - 基于OpenGL ES 1.0 APIs实现;该库可以使用硬件 3D加速(如果可用)或者使用高度优化的3D软加速。
* FreeType -位图(bitmap)和矢量(vector)字体显示。
* SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
2)、Android运行时
Android运行时由两部分组成:Android核心库集和Dalvik虚拟机。核心库集提供了Java语言核心库所能使用绝大部分功能,而虚拟机则负责运行Android应用程序。
每个Android运用程序都运行在单独的Dalvik虚拟机内(即没个 Android应用程序对应一个Dalvik进程),Dalvik专门针对同时高效地运行多个虚拟机进行了优化,因此Android系统可方便的实现对应用程序进行隔离。(每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。 Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中的 "dx" 工具转化成.dex格式由虚拟机执行。
)
由于Android应用程序的编程语言是Java,因此有些人会把Dalvik虚拟机和JVM搞混,但实际上二者存在区别:Dalvik并未完全遵守JVM规范.两者也不兼容。实际上JVM虚拟机运行的是Java字节码(通常就是.class文件),但Dalvik运行的是其专有的dex(Dalvik Executable)文件。JVM直接从.class文件或JAR包中加载字节码然后运行;而Dalvik则无法直接从.class文件或JAR包中加载字节码,它需要通过DX工具将应用程序的所有.class文件编译成.dex文件,Dalvik则运行该.dex文件。
Dalvik虚拟机非常适合在移动终端上使用,相对于在Pc或服务器上运行的虚拟机而言,
Dalvik虚拟机不需要很快的CPU计算速度和大量的内存空间。它主要有如下两个特点。
Ø 运行专有的.dex文件。专有的dex文件减少了.class文件中的冗余信息,而且会把所有.class文件整合到一个文件中,从而提高运行性能;而且DX工具还会对.dex文件进行一些性能的优化。
Ø 基于寄存器实现。大多数虚拟机(包括JVM)都是基于栈的,而Dalvik虚拟机则是基于寄存器的。一般来说,基于寄存器的虚拟机具有更好的性能表现,但在硬件通用性上略差。
Dalvik虚拟机依赖于Linux内核提供的核心功能,如线程和底层内存管理。
4、Linux内核
Android系统建立在Linux 2.6之上。Linux内核提供了安全性、内存管理、进程管理、
网络协议栈和驱动模型等核心系统服务。除此之外,Linux内核也是系统硬件和软件叠层之
问的抽象层。
相关推荐
1、Android简介 2、Android体系结构 3、Android应用程序框架 4、开发环境安装与配置 5、第一个Android应用 6、Android应用程序结构分析 7、AS常用配置
Android 应用开发环境搭建是 Android 开发者的必备知识之一,本文将指导读者从零开始搭建 Android 应用开发环境,包括安装 JDK、Eclipse、ADT 插件和 Android SDK,并创建第一个 Android 应用程序 HelloWorld。...
Android 开发环境的搭建是 Android 移动应用开发的第一步。 Android 开发环境包括 JDK、Android SDK、Eclipse 和 ADT 等组件。为了搭建 Android 开发环境,需要按照以下步骤进行: 首先,需要下载并安装 JDK,然后...
第1篇为基础篇,涵盖Android背景及开发环境和Android常用工程组件。第2篇为应用开发篇,通过实例介绍了Android UI布局、Android人机界面、手机硬件设备的使用、Android本地存储系统、Android中的数据库、多线程设计...
创建第一个Android项目 - 打开Android Studio,创建一个新的Android项目。 - 选择合适的模板,设置应用名称、包名等基本信息。 - 编写简单的代码测试应用是否正常运行。 #### 三、Android应用程序架构 Android...
第1章 Android应用与开发环境 1.1 Android的发展和历史 1.1.1 Android的发展和简介 1.1.2 Android平台架构及特性 1.2 搭建Android开发环境 1.2.1 下载和安装Android SDK 1.2.2 安装Eclipse和ADT插件 1.3 ...
### 第一章 设计概述 1.1 设计目的及要求 此应用的主要目的是提供一个方便用户管理个人联系信息的平台。设计要求包括: - 用户友好的界面,使得添加、删除和编辑联系人操作简单直观。 - 快速浏览联系人列表,支持按...
第3章《第一个Android程序》:这一章通常会介绍Android开发环境的搭建,包括安装Android Studio、配置SDK以及创建第一个Hello World应用。它会讲解AndroidManifest.xml的重要性,以及如何在MainActivity.java中编写...
第一章android应用与开发环境 第二章android应用的界面编程 第三章事件处理 第四章深入理解activity 第五章使用intent和intentFilter进行通信 第六章android应用的资源 第七章图形与图像处理 第八章android的数据...
第一章android应用与开发环境 第二章android应用的界面编程 第三章事件处理 第四章深入理解activity 第五章使用intent和intentFilter进行通信 第六章android应用的资源 第七章图形与图像处理 第八章android的数据...
第一章android应用与开发环境 第二章android应用的界面编程 第三章事件处理 第四章深入理解activity 第五章使用intent和intentFilter进行通信 第六章android应用的资源 第七章图形与图像处理 第八章android的数据...
第1章 Android应用与开发环境 第2章 Android应用的界面编程 第3章 Android的事件处理 第4章 深入理解Activity与Fragment 第5章 使用Intent和IntentFilter进行通信 第6章 Android应用的资源 第7章 图形与图像...
第1章 Android应用与开发环境 第2章 Android应用的界面编程 第3章 Android的事件处理 第4章 深入理解Activity与Fragment 第5章 使用Intent和IntentFilter进行通信 第6章 Android应用的资源 第7章 图形与图像...
第一部分 准备篇 第1章 Android开发简介 第2章 Android开发环境搭建 第二部分 基础篇 第3章 Android程序设计基础 第4章 用户界面开发 第5章 Android游戏开发 第6章 Android数据存储 第7章 多媒体开发 第8章 网络与...
《Android应用程序开发(第三版)》是由王向辉、张国印、沈洁三位专家编著的教材,这本书深入浅出地介绍了Android平台上的应用开发技术。课件源程序是学习此书的重要辅助资料,提供了丰富的实例和练习,帮助读者更好...
第1章 Android简介 1.1 手机操作系统 1.2 Android起源 1.3 Android特征 1.4 Android体系结构 1.4.1 应用层 1.4.2 应用框架层 1.4.3 系统库层 1.4.4 内核层 1.5 小结 练习 第2章 Android开发环境 2.1 ...
SDK提供了Android应用开发所需的各种库和工具,包括API文档、模拟器和调试工具等。访问Android官方网站下载SDK,解压后运行SDK Manager.exe,选择需要的Android版本进行安装。安装完成后,同样需要配置环境变量,将...
移动操作系统原理与实践——基于Java语言的Android应用开发 目录 基础篇 第1章移动操作系统概论 1.1操作系统的原理与概念 1.1.1隐藏硬件细节 1.1.2资源管理 1.1.3操作系统的历史 1.2操作系统的分类 1.2.1...