安卓app开发框架哪些csdn(安卓开发框架有哪些)

安卓app开发框架哪些csdn(安卓开发框架有哪些),第1张

android应用开发框架是ApplicationFramework其系统架构由5部分组成,分别是:LinuxKernel、AndroidRuntime、Libraries、ApplicationFramework、。第二部分将详细介绍这5个部分。下面自底向上分析各层。

Android架构

1、LinuxKernel

Android基于Linux26提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。LinuxKernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。如果你学过计算机网络知道OSI/RM,就会知道分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。也就是说各层各尽其职,各层提供固定的SAP(ServiceAessPoint),专业点可以说是高内聚、低耦合。如果你只是做应用开发,就不需要深入了解LinuxKernel层。

2、AndroidRuntime

Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。两种架构各有优劣,一般而言,基于栈的机器需要更多指令,而基于寄存器的机器指令更大。dx是一套工具,可以将Javaclass转换成dex格式。一个dex文件通常会有多个class。由于dex有时必须进行最佳化,会使文件大小增加1-4倍,以ODEX结尾。Dalvik虚拟机依赖于Linux内核提供基本功能,如线程和底层内存管理。

3、Libraries

Android包含一个C/C库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(applicationframework)暴露给开发者。下面列出一些核心库:系统C库--标准C系统库(libc)的BSD衍生,调整为基于嵌入式Linux设备媒体库--基于PacketVideo的OpenCORE。这些库支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4、H264、MP3、AAC、AMR、JPG、PNG界面管理--管理访问显示子系统和无缝组合多个应用程序的二维和三维图形层LibWebCore--新式的Web浏览器引擎,驱动Android浏览器和内嵌的web视图SGL--基本的2D图形引擎3D库--基于OpenGLES10APIs的实现。库使用硬件3D加速或包含高度优化的3D软件光栅FreeType--位图和矢量字体渲染SQLite--所有应用程序都可以使用的强大而轻量级的关系数据库引擎

4、ApplicationFramework

通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。开发者可以完全使用核心应用程序所使用的框架APIs。应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。这一机制允许用户替换组件。所有的应用程序其实是一组服务和系统,包括:视图(View)--丰富的、可扩展的视图集合,可用于构建一个应用程序。包括包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器内容提供者(ContentProviders)--使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据资源管理器(ResourceManager)--提供访问非代码资源,如本地化字符串、图形和布局文件通知管理器(Manager)--使所有的应用程序能够在状态栏显示自定义警告活动管理器(ActivityManager)--管理应用程序生命周期,提供通用的导航回退功能

5、

Android装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。更加丰富的应用程序有待我们去开发!从上面我们知道Android的架构是分层的,非常清晰,分工很明确。Android本身是一套软件堆迭(SoftwareStack),或称为「软件迭层架构」,迭层主要分成三层: *** 作系统、中间件、应用程序。从上面我们也看到了开源的力量,一个个熟悉的开源软件在这里贡献了自己的一份力量。

Android平台采用了整合的策略思想,包括底层Linux *** 作系统、中间层的中间件和上层的Java应用程序。下面我把Android的特性及其架构体系结构总结一下。

一、Android的平台特性

Android平台有如下特性:

1 应用程序框架支持组件的重用与替换。

这样我们可以把系统中不喜欢的应用程序删除,安装我们喜欢的应用程序。

2 Dalvik虚拟机专门为移动设备进行了优化。

Android应用程序将由Java编写、编译的类文件通过DX工具转换成一种后缀名为dex的文件来执行。Dalvik虚拟机是基于寄存器的,相对于Java虚拟机速度要快很多。

3 内部集成浏览器基于开源的WebKit引擎。

有了内置的浏览器,这将意味着WAP应用的时代即将结束,真正的移动互联网时代已经来临,手机就是一台“小电脑”,可以在网上随意遨游。

4 优化的图形库包括2D和3D图形库,3D图形库基于OpenGL ES 10。

强大的图形库给游戏开发带来福音。在3G最为重要的的应用莫过于手机上网和手机游戏。

5 SQLite用作结构化的数据存储。

6 多媒体支持包括常见的音频、视频和静态印象文件格式

如MPEG4、H264、MP3、AAC、AMR、JGP、PNG、GIF。

7 GSM电话(依赖于硬件)。

8 蓝牙(Bluetooth)、EDGE、3G、WiFi(依赖于硬件)。

9 照相机、GPS、指南针和加速度计(依赖于硬件)。

10 丰富的开发环境包括设备模拟器、调试工具、内存及性能分析图表和Eclipse集成的开发环境插件。

Google提供了Android开发包SDK,其中包含了大量的类库和开发工具,并且针对Eclipse的可视化开发插件ADT。

二、Android平台架构

 从上图我们可以看出,Android *** 作系统的体系结构可分为4层,由上到下依次是应用程序、应用程序框架、核心类库和Linux内核,其中第三层还包括Android运行时的环境。下面分别来讲解各个部分。

1 程序应用

Android

连同一个核心应用程序包一起发布,该应用程序包包括E-mail客户端、SMS短消息程序、日历、地图、浏览器、联系人管理程序等。所有的应用程序都是用Java编写的。

2 应用程序框架

开发者完全可以访问核心应用程序所使用的API框架。该应用程序框架架构用来简化组件软件的重用,任何一个应用程序都可以发布它的功能块并且任何其他的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。该应用程序重用机制使得组件可以被用户替换。

以下所有的应用程序都由一系列的服务和系统组成,包括:

1)一个可扩展的视图(Views)可以用来创建应用程序,包括列表(lists)、网络(grids)、文本框(text

boxes)、按钮(buttons),甚至是一个可嵌入的Web浏览器。

2)内容管理器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。

3)一个资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串、图形和分层文件(layout files)。

4)一个通知管理器(Notification Manager)使得应用程序可以在状态栏中显示客户通知信息。

5)一个活动类管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。

3 Android程序库

Android包括一个被Android系统中各种不同组件所使用的C/C++集库。该库通过Android应用程序框架为开发者提供服务。

以下是一些主要的核心库:

1)系统C库:一个从BSD继承来的标准C系统函数库(libc),专门为基于Embedded Linux的设备定制。

2)媒体库:基于PacketVideo

OpenCORE;该库支持录放,并且可以录制许多流行的音频视频格式,还有静态映像文件包括MPEG4、H264、MP3、AAC、JPG、PNG。

3)Surface Manager:对显示子系统的管理,并且为多个应用程序提供2D和3D图层的无缝融合。

4)LibWebCore:一个最新的Web浏览器引擎,用来支持Android浏览器和一个可嵌入的Web视图。

5)SGL:一个内置的2D图形引擎。

6)3D libraries:基于OpenGL ES 10 APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。

7)FreeType:位图(bitmap)和向量(vector)字体显示。

8)SQLite:一个对于所以应用程序可用、功能强劲的轻型关系型数据库引擎。

4 Android运行库

Android包括了一个核心库,该核心库提供了Java编程语言核心库的大多数功能。

每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik是针对同时高效地运行多个VMs实现的。Dalvik虚拟机执行dex的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。该虚拟机是基于寄存器的,所有的类都是经由Java汇编器编译,然后通过SDK中的DX工具转化成dex格式由虚拟机执行。

Dalvik虚拟机依赖于Linux的一些功能,比如线程机制和底层内存管理机制。

5 Linux内核

Android的核心系统服务依赖于Linux内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的硬件抽象层。

JDK18开发平台架构不包含JRE模块。JRE是一个用于运行应用程序的软件映像,它包含了Java虚拟机(JVM)和Java库,但不包含用于创建新应用程序或者应用程序扩展的开发工具。

大数据管理数据处理过程图

大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察力。大数据处理的主要流程包括数据收集、数据存储、数据处理、数据应用等主要环节。随着业务的增长,大量和流程、规则相关的非结构化数据也爆发式增长。

平台数据架构流程图

标准大数据平台架构,标准大数据平台架构,大数据平台架构,数据仓库,数据集市,大数据平台层级结构,数据挖掘,举报,包含该模版的分享。数据架构设计(数据架构组) 概述 总体描述 相对于业务架构和应用架构,数据架构在总体架构中处于基础和核心地位。

产品体验结构流程图

产品的功能结构图,产品功能结构图,产品主要流程图,产品的核心流程,我们继续围绕着得到app的核心流程探究。还原产品,产品结构、核心流程体验、核心页面体验的情况,而不仅仅是界面表层;从产品视角、用户视角来分析,而不是自我感觉,撰写报告,推出报告。产品体验从产品现状、目标用户及场景、关键功能体验

程序流程图

程序流程图又称程序框图,是用统一规定的标准符号描述程序运行具体步骤的图形表示。程序框图的设计是在处理流程图的基础上,通过对输入输出数据和处理过程的详细分析,将计算机的主要运行步骤和内容标识出来。

软件开发周期

软件生命周期(Software Life Cycle,SLC)是软件的产生直到报废或停止使用的生命周期。软件生命周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段

软件测试流程鱼骨图

软件测试流程: 需求分析,制订测试计划,设计测试用例与编写,实施测试,提交缺陷报告,生成测试总结和报告。软件测试按照研发阶段一般分为5个部分:单元测试、集成测试、确认测试、系统测试、验收测试。根据设计用例的方法不同,黑盒测试包括等价划分法、边界值分析法、错误推测法、因果图法等。

云平台整体架构图

云计算的体系结构由5部分组成,分别为应用层,平台层,资源层,用户访问层和管理层,云计算的本质是通过网络提供服务,所以其体系结构以服务为核心。公认的云架构是划分为基础设施层、平台层和软件服务层三个层次的。

项目管理九大体系

项目管理思维导图包括项目采购管理、项目成本核算、时间管理等关于项目管理的九大体系。项目管理十大领域:进度、成本、质量、范围等4个核心领域,风险、沟通、采购、人力资源、干系人等5个辅助领域,1个整体领域。

产品经理项目管理思维导图

思维导图可以帮助产品经理梳理多而乱的产品思路,也可以帮助产品经理进行需求管理、产品分析等。产品经理会使用思维导图来对产品的思路进行一个有效的分析,梳理产品逻辑,然后再画原型图。一个优秀的产品经理,不仅仅是会画原型,写需求文档,更重要的是做出用户满意的产品。

项目规划时间轴流程图

项目规划时间轴流程图,对一个项目从开始到竣工的整个过程进行总结归纳。时间线图,又叫时间轴图,能以历史进程为载体,将过往的重要事项或者里程碑,标注在轴线上,并加以说明。它的作用是能够可视化内容,以图文的形式呈现出来。时间轴是一种表达事物发展进程的可视化图示,被许多商业管理人士所使用。

b/s架构与c/s架构区别为:网络不同、安全性不同、便捷性不同。

一、网络不同

1、b/s架构:b/s架构主要用于外网,可通过广域网进行访问。

2、c/s架构:c/s架构主要用于内网,建立在专用的网络上,小范围里访问。

二、安全性不同

1、b/s架构:b/s架构的安全性较低,容易受到他人的网络入侵。

2、c/s架构:c/s架构的安全性较高,封闭式网络不容易容易受到他人的网络入侵。

三、便捷性不同

1、b/s架构:b/s架构的便捷性较高,不需要安装特定的客户端,通过网址访问。

2、c/s架构:c/s架构的便捷性较低,需要安装特定的客户端访问。

OpenbizCubiPHP开发框架

这显然是一个高耦合性的框架的代表,有点让开发人员“拎包入住”快捷酒店一样的的感觉。OpenbizCubi是一个应用平台式的开发框架。虽然与众多更加耳熟能详的框架相比OpenbizCubi仍然是一匹黑马,但是还是一个十分值得推荐的框架。它自身基于ZendFramework构建,但是拥有自己独特的基于元数据的MVC和ORM逻辑,并采用Smarty和PHP模板作为主要UI的模板引擎,所以如果你是Zend框架的玩家,别担心,OpenbizCubi的代码也会同样让你很容易上手。

它不同于其他传统意义上的PHP框架,它具有一个类似JAVA的元数据引擎,可以通过XML的方式来“描述”大多数对象,甚至通过XML的描述就可以实现数据的CRUD(增删读改)这些 *** 作。如果你的业务需求仅仅是要实现一些简单的数据CRUD *** 作,你甚至不需要去写什么PHP代码,XML就可以全部搞定。而你的PHP功夫可以通过他的Plugin-Service方式用于集中在实现某些特殊的业务逻辑上。

OpenbizCubi目前还有一个叫做OpenbizAppbuilder的超级好用的代码生成工具,对于还不熟Openbiz的XML元数据的开发人员来说,Appbuilder绝对是一个可以帮助你快速上手的利器,他通过图形界面的生成向导来帮你自动创建数据对象、表单对象、嵌入式服务,甚至整个应用程序的雏形。按Openbiz的官方介绍来说,你只需要思考清楚你的应用程序的业务逻辑,剩下的代码工作就交给OpenbizAppbuilder来帮你搞定吧。

CakePHP开发框架

如果你仍然需要编写面向PHP4兼容的代码,CakePHP将是一个非常不错的选择,在PHP4&5的MVC式框架列表里面,CakePHP都曾经是最流行的。它还提供了很多种途径的技术支持(讨论组、留言板、IRC等)还有优秀的教程。CackePHP是个很容易上手的框架,但是你并不容易在短短几周的时间就完全掌握它。

ZendFramework框架

ZendFramework是面对一些较有经验的开发者和从底层构建一些企业级应用程序而设计的。(例如:宣称面向企业应用而设计的OpenbizCubi就是基于ZendFramework框架之上而构建的。)该框架是高度模块化的。这意味着你可以按你的实际需要来引用Zend的代码。有些函数库甚至可以很容的被提取出来单独使用(例如Zend_Gdata,这也是个低耦合性的特点)使用Zend框架,你不必非要遵从它的MVC架构,(虽然你最好能这么做),并且它还提供了许多内建的高级功能用于完成与现有的web服务整合,多语言化和实现单元测试这些任务。

CodeIgniter

CodeIgniter是一个PHP52的MVC框架,它体积小巧切具有丰富的文档资源。通常被称为“初学者框架”,因为它相对容易试用和较短的学习曲线,此外CodeIgniter也是十分灵活和强大的。该框架拥有一个非常庞大的社区支持。并且在社区里面很容易找到大量的CI函数库,你可以大胆的梦想,也许你正需要做的事情在社区的某个交流,某个人已经把它实现了。

Symfony

Symfony是最古老的PHP框架之一(相信你从他的网站风格上也发现这一点了),他同样也是转为企业级Web应用程序而设计的。然而,对于他所能提供的所有动力和性能而言,它只拥有很小的体积并且非常容易配置在大多数php的主机环境中。由于他的年头最长久,你会很容易找到许多关于Symfony的教程、书记等资料,对于新手来说,这绝对是件好事儿。

Symfony使用命令行代码生成工具来为项目快速生成所需的代码,这种方式也许对于某些开发人员来说是前所未闻的(在那个年头,也许吧。)然后,他可以帮助你在很短的时间里完成代码并是他们可以运行。Symfony的网站上手机了大量的教程和范例代码,来帮助你熟悉掌握他们。

YiiFramework

Yii是一个高度模块化,高性能的PHP5框架,专门为了Web应用程序而开发。Yii采用了大量的命令行生成工具,让你可以快速的生成一些代码,因此,他最适合于喜欢在命令行的黑窗口上敲敲打打的人。所有这些代码生成工具意味着你需要记住更多的命令和参数,但是一点你做到了,你会发现,它们将大大减少你所要花费的时间来设置和配置你的应用程序。

这种开发方式非常类似于OpenbizAppbuilder所提供的向导式的代码生成方式,最大的不同点是Yii是基于命令行去生成代码,OpenbizAppbuilder是在图形界面上生成代码。

ThinkPHP

ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的Action思想和JSP的TagLib(标签库)、RoR的ORM映射和模式,封装了CURD和一些常用 *** 作,单一入口模式等,在模版引擎、缓存机制、认证机制和扩展性方面均有独特的表现。

YiiFramework

Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从MVC,DAO/,widgets,caching,等级式RBAC,Web服务,到主题化,I18N和L10N,Yii提供了今日Web20应用开发所需要的几乎一切功能。事实上,Yii是最有效率的PHP框架之一。

Yii是一个高性能的PHP5的web应用程序开发框架。通过一个简单的命令行工具yiic可以快速创建一个web应用程序的代码框架,开发者可以在生成的代码框架基础上添加业务逻辑,以快速完成应用程序的开发

phalcon

Phalcon是一套实现MVC架构的高性能PHP应用程序框架。初始版本发布于2012年11月,开放源代码并基于BSD授权条款。与其他大部分的PHP框架不同,Phalcon是以扩充的方式以C语言所编写,因此Phalcon的执行速度高过其他PHP框架,并且消耗更少的资源,根据官方的测试,Phalcon是目前世界上速度最快的PHP框架之一。[1]

android应用开发框架是 Application Framework,其系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。

1、Linux Kernel (Linux内核 )

Android基于Linux 26提供核心系统服务,例如:安全、内存管理、进程管理、网络 堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。

2、Android Runtime (运行库)

Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。

Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。 大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。

3、Libraries (程序库 )

Android包含一个C/C++库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(application framework)暴露给开发者。

4、Application Framework (应用框架层)

通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。 开发者可以完全使用核心应用程序所使用的框架APIs。

应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。这一机制允许用户替换组件。

5、Applications(应用层)

Android装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。Android本身是一套软件堆迭(Software Stack),或称为「软件迭层架构」,迭层主要分成三层: *** 作系统、中间件、应用程序。

扩展资料

开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。

隐藏在每个应用后面的是一系列的服务和系统,其中包括;

丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(textBoxes),按钮(buttons),甚至可嵌入的web浏览器。

内容提供器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据

资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles)。

通知管理器(NotificationManager)使得应用程序可以在状态栏中显示自定义的提示信息。

活动管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。

参考资料:

百度百科 - Android系统构架

以上就是关于安卓app开发框架哪些csdn(安卓开发框架有哪些)全部的内容,包括:安卓app开发框架哪些csdn(安卓开发框架有哪些)、什么是android系统,android的发展以及android的平台架构和特性、jdk1.8开发平台架构中,不包含哪个模块等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10074965.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存