`
changhongbao
  • 浏览: 116863 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

第1章 Android应用与开发环境

阅读更多

第一天(20160131

1 Android应用与开发环境

一、本章知识点概述:

1、搭建和使用Android应用开发环境,包括安装Android SDKAndroid开发工具;也包括如何使用Android提供的ADBDDMSAAPTDX等工具。

 

二、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 - 对显示子系统的管理,并且为多个应用程序提供了2D3D图层的无缝融合。

 

  * 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 26之上。Linux内核提供了安全性、内存管理、进程管理、

网络协议栈和驱动模型等核心系统服务。除此之外,Linux内核也是系统硬件和软件叠层之

问的抽象层。


 

  • 大小: 105.8 KB
分享到:
评论

相关推荐

    第一章 Android应用与开发环境

    1、Android简介 2、Android体系结构 3、Android应用程序框架 4、开发环境安装与配置 5、第一个Android应用 6、Android应用程序结构分析 7、AS常用配置

    android应用开发范例精解

    第1篇为基础篇,涵盖Android背景及开发环境和Android常用工程组件。第2篇为应用开发篇,通过实例介绍了Android UI布局、Android人机界面、手机硬件设备的使用、Android本地存储系统、Android中的数据库、多线程设计...

    疯狂Android讲义源代码2

    第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 ...

    疯狂android讲义源代码.7z.001(共三卷)

    第一章android应用与开发环境 第二章android应用的界面编程 第三章事件处理 第四章深入理解activity 第五章使用intent和intentFilter进行通信 第六章android应用的资源 第七章图形与图像处理 第八章android的数据...

    疯狂android讲义源代码.7z.003(共三卷)

    第一章android应用与开发环境 第二章android应用的界面编程 第三章事件处理 第四章深入理解activity 第五章使用intent和intentFilter进行通信 第六章android应用的资源 第七章图形与图像处理 第八章android的数据...

    疯狂android讲义源代码.7z.002(共三卷)

    第一章android应用与开发环境 第二章android应用的界面编程 第三章事件处理 第四章深入理解activity 第五章使用intent和intentFilter进行通信 第六章android应用的资源 第七章图形与图像处理 第八章android的数据...

    疯狂Android讲义(第2版)完整清晰版.part1

    第1章 Android应用与开发环境 第2章 Android应用的界面编程 第3章 Android的事件处理 第4章 深入理解Activity与Fragment 第5章 使用Intent和IntentFilter进行通信 第6章 Android应用的资源 第7章 图形与图像...

    疯狂Android讲义(第2版)完整清晰版.part2

    第1章 Android应用与开发环境 第2章 Android应用的界面编程 第3章 Android的事件处理 第4章 深入理解Activity与Fragment 第5章 使用Intent和IntentFilter进行通信 第6章 Android应用的资源 第7章 图形与图像...

    Android应用开发揭秘.rar

    第一部分 准备篇 第1章 Android开发简介 第2章 Android开发环境搭建 第二部分 基础篇 第3章 Android程序设计基础 第4章 用户界面开发 第5章 Android游戏开发 第6章 Android数据存储 第7章 多媒体开发 第8章 网络与...

    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 ...

    《Android应用开发详解》源码

    《Android应用开发详解》源码,完整版,值得看一看。 《Android核心技术和开发详解》各章案例的全部源代码,第一章将要介绍的是Android开发起步的相关知识,首先对Android平台进行简单的介绍,其中包括Android的背景...

    Android应用开发详解

    Android开发基础,讲述了Android开发环境的搭建、Android常用工具的使用和第一个Android应用程序的开发 第二篇 技术篇 第3章 Android中的资源访问 Android 中的资源访问,讲述了如何定义和访问Android中的外部...

    移动操作系统原理与实践——基于Java语言的Android应用开发.zip

    移动操作系统原理与实践——基于Java语言的Android应用开发 目录 基础篇 第1章移动操作系统概论 1.1操作系统的原理与概念 1.1.1隐藏硬件细节 1.1.2资源管理 1.1.3操作系统的历史 1.2操作系统的分类 1.2.1...

    《Android应用开发揭秘》附带光盘代码.

    《Android应用开发揭秘》全部实例源代码,配合《Android应用开发揭秘》使用 前言  第一部分 准备篇  第1章 Android开发简介  1.1 Android基本概念  1.1.1 Android简介  1.1.2 Android的系统构架  1.1.3 ...

    Delphi XE8 iOS与Android移动应用开发(APP开发)[完整中文版]

    Delphi XE8 iOS与Android移动应用开发(APP开发)[完整中文版],这是一本不可多得的介绍使用delphi xe8开发iOS与Android移动应用的电子书,实用的技术开发教程与技术开发手册。 Delphi XE8跨平台开发让你使用一套...

    《Android应用开发揭秘》源码

     第10章 Android应用开发实例  10.1 情境模式  10.2 文件管理器  10.3 通讯录  10.4 音乐播放器  10.5 天气预报  10.6 个人地图  10.7 Widget日历  10.8 小结  第11 章Android游戏开发实例  11.1 手机...

    Google Android 2_X应用开发实战1

    第1章 Android应用开发基础/2 1.1 Android的系统构架/2 1.2 Android开发环境搭建/3 1.2.1 安装JDK和配置Java开发环境/3 1.2.2 安装AndroidSDK/4 1.2.3 安装Eclipse插件ADT/6 1.3 Android应用程序中的资源/7 1.4 ...

    《Android应用开发》开放实验项目总结报告-模板.doc

    淮海工学院计算机工程学院 开放实验... " ----------------------- 《Android应用开发》开放实验项目总结报告-模板全文共2页,当前为第1页。 《Android应用开发》开放实验项目总结报告-模板全文共2页,当前为第2页。

    Android应用程序开发all-in-one

    从第一章到第十一章,每一章的ppt都有,真正做到all-in-one,有木有!!每一章都是精华,有木有!!再也不用一章一章的下载了,有木有!!再也不用花每章2金币的价格啦,有木有!!绝对的物美价量,原价2*11=22金币...

    Android应用开发详解pdf.pdf

     第2章 Android开发基础Android开发基础,讲述了Android开发环境的搭建、Android常用工具的使用和第一个Android应用程序的开发  第二篇 技术篇第3章 Android中的资源访问Android 中的资源访问,讲述了如何定义和...

Global site tag (gtag.js) - Google Analytics