1、提供应用程序框架(Framework)

开发者可以遵照这些框架搭建应用程序读者可以结合J2SE平台的Applet框架或J2ME平台的移动信息设备套件框架来理解Android平台的应用程序框架。

每个开发者估计都纠结过平台和框架的概念,特别是对新手而言,平台和框架似乎总是前辈们口头上惯用的、玄而又玄的名词。实际上,读者可以把平台理解为舞台,其强调了事物的支持特性,有如舞台具有支撑舞者在其上进行表演的特性。同样,Android平台具有支持Android应用程序运行的特性,具体表现在运行时(Runtime)环境和接口,API常见的平台还有Windows平台、Linux平台等。框架可以理解为骨架,其强调了事物的可重用性。众所周知,人类无论高矮胖瘦、美丑强弱,其骨架都是相似的。反之,使用一个人类的骨架模型,可以塑造出不同的人体模型。

同样,在软件开发过程中,使用框架可以开发出界面各异的、某一类应用程序。例如,使用微软公司的MFC框架可以快速地开发出一套运行于Win32平台的应用程序。框架的具体表现为一组协同工作的类,如界面组件类、事件处理类、网络通信类等。比较流行的框架有.Net、Qt、MFC、VCL等,借助这些框架,开发者可以高效地开发出应用程序。简而言之,框架帮助android应用程序的开发,平台支持应用程序的运行,框架建立在平台之上。

2、定制的Dalvik虚拟机

读者可以结合J2SE平台的Java虚拟机(Java Virtual Machine,ⅣM)和J2ME平台的千字节虚拟机(Kilo—bytes Vh-tual Machine,KVM)来理解Dalvik虚拟机。其所遵照的技术规范可能与一般意义上的Java虚拟机不同。Dalvik虚拟机所支持的字节码(Byte Code)是“dex”文件(Dalvik Executable),也就是说Dalvik不支持通常的Java类文件(class文件)字节码。

3、集成了基于Webkit开源项目的浏览器

Webkit是一个开源项目,其主要由K桌面环境(K DesktopEnvironment,Ⅺ)E)的KHTML修改而来,并且包含了一些来自苹果公司的一些组件。传统上,WebKit包含一个网页引擎WebCore和一个脚本引擎JavaCore,它们分别对应的是KDE的KHTML和KJS。不过,随着Java引擎的独立性越来越强,现在WebKit和WebCore已经基本上混用不分。GooSe公司开发的网页浏览器产品Google Chrome就是基于WebKit开源代码,并自行开发出称为“V8”的高性能Java引擎。读者可以将Android平台的浏览器视为C11rome的移动设备版本。

4、2D和3D图形引擎

2D图形引擎基于SGL,3D图形引擎基于OpenGL ES 1.0规范。Skia图形库是一套用于绘制文本、几何图形和图片的完整的2D图形库。OpenGL ES 1.0是基于OpenGL 1.3规范来定义的,同时增强了软件渲染和基本的硬件加速功能。

Android开发教程:开发框架基本原理的更多相关文章

  1. Android开发教程大全介绍

    Android是由谷歌在2007年推出的一个开放系统平台,主要针对移动设备市场,目前版本为Android 4.0.Android基于Linux,开发者可以使用Java或C/C++开发Android应用 ...

  2. ArcGIS Runtime for Android开发教程V2.0(4)基础篇---MapView

    原文地址: ArcGIS Runtime for Android开发教程V2.0(4)基础篇---MapView - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http:/ ...

  3. ArcGIS Runtime for Android开发教程V2.0(3)基础篇---Hello World Map

    原文地址: ArcGIS Runtime for Android开发教程V2.0(3)基础篇---Hello World Map - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NE ...

  4. ArcGIS Runtime for Android开发教程V2.0(2)开发环境配置

    原文地址: ArcGIS Runtime for Android开发教程V2.0(2)开发环境配置 - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http://blog.c ...

  5. ArcGIS Runtime for Android开发教程V2.0(1)基本概念

    原文地址: ArcGIS Runtime for Android开发教程V2.0(1)基本概念 - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http://blog.csd ...

  6. 【Android 开发教程】动态添加Fragments

    本章节翻译自<Beginning-Android-4-Application-Development>,如有翻译不当的地方,敬请指出. 原书购买地址http://www.amazon.co ...

  7. 收集整理Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范,免费的设计素材等。

    AndroidDevTools Android Dev Tools官网地址:www.androiddevtools.cn 收集整理Android开发所需的Android SDK.开发中用到的工具.An ...

  8. [Android开发教程]Android官网developer training中文版教程 - 1.1.1 创建一个Android项目

    本系列持续更新中.转载请注明来源. 前言:近期打算系统学习一下Android开发,发现Android官网上的developer training也是个非常好的学习资料,于是想到一边学习一边写一个中文版 ...

  9. Android开发教程AnimationDrawable逐帧播放动画

    下面我们一起来看篇Android开发AnimationDrawable控制逐帧播放动画实现过程,希望文章对各位朋友带不一些帮助. 当我们点击按钮时,该图片会不停的旋转,当再次点击按钮时,会停止在当前的 ...

  10. Android开发教程之【环境搭建及HelloWorld】(转载)

    引言 本系列适合0基础的人员,因为我就是从0开始的,此系列记录我步入Android开发的一些经验分享,望与君共勉!作为Android队伍中的一个新人的我,如果有什么不对的地方,还望不吝赐教. 在开始A ...

随机推荐

  1. SpringBoot操作ES进行各种高级查询

    SpringBoot整合ES 创建SpringBoot项目,导入 ES 6.2.1 的 RestClient 依赖和 ES 依赖.在项目中直接引用 es-starter 的话会报容器初始化异常错误,导 ...

  2. Spring 2017 Assignments3

    一.作业要求 原版:http://cs231n.github.io/assignments2017/assignment3/ 翻译:http://www.mooc.ai/course/268/lear ...

  3. (二十)c#Winform自定义控件-有后退的窗体

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...

  4. 集成Ribbon的客户端调用工具——Feign

    什么是Feign? 客户端调用工具 Ribbon+RestTemplate Feign Feign特性: Feign本身包含Ribbon Fegin是一个采用基于接口的注解的声明式客户端调用工具,更加 ...

  5. egret项目发布为微信小程序

    1.更改游戏的缩放模式 因为微信小游戏不支持showAll,如果你使用了showAll模式.可以改成fixedWidth或fixedHeight.在index.html里修改,如下图 但这个又涉及到了 ...

  6. 解决mysql乱码

    总结的几个乱码问题 希望我们全体学员也能够学会总结 java web 很是希望大家能够学好.并且也希望大家能够在学习过程中不段的积累相关的知识点 1.在response中写<meta  http ...

  7. CTPN

    1. https://zhuanlan.zhihu.com/p/34757009  (原理) 2. https://www.jianshu.com/p/471bdbd0170d (bi-LSTM)

  8. [系列] go-gin-api 规划目录和参数验证(二)

    目录 概述 规划目录结构 模型绑定和验证 自定义验证器 制定 API 返回结构 源码地址 go-gin-api 系列文章 概述 首先同步下项目概况: 上篇文章分享了,使用 go modules 初始化 ...

  9. runnable和thread实现多线程的区别

    下面以典型的买票程序(基本都是以这个为例子)为例,来说明二者的区别. 首先通过继承Thread类实现,代码如下: class MyThread extends Thread{ private int ...

  10. Win10下安装python3.x+pycharm+autopep8

    一.安装Python3.X 1.Pythong官方网站:http://python.org/getit/   下载windows的安装包.有以下几个选项: 这里选择windows x86-64 exc ...