‘壹’ android 五大应用开发框架是什么
android应用开发框架是 Application Framework,其系统架构由5部分组成,分别是:linux Kernel、Android Runtime、Libraries、Application Framework、Applications。
1、Linux Kernel (Linux内核)
Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络 堆栈、驱动模型。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),或称为“软件迭层架构”,迭层主要分成三层:操作系统、中间件、应用程序。
(1)android开发中间件扩展阅读
开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。
隐藏在每个应用后面的是一系列的服务和系统,其中包括;
丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(textBoxes),按钮(buttons),甚至可嵌入的web浏览器。
内容提供器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据
资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles)。
通知管理器(NotificationManager)使得应用程序可以在状态栏中显示自定义的提示信息。
活动管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。
‘贰’ android中间件开发是指什么请尽量用通俗的语言,不要复制网上的
android系统大体上分为四层构架。
1 底层linux系统内核
2 android运行库,例如opengl sqlite之类的库,c运行库和dalvik虚拟机等。
3 应用程序框架,如位置管理、视图管理、活动管理
4 各种应用程序,游戏、播放器等。
中间件其实就是屏蔽硬件系统差异,并提供统一接口给各种应用程序,可供二次开发的一些组件,类库。 一般都是应用和系统之间的软件层,在android上就是类似应用程序框架之上应用程序之间的那种链接部分,由于是手机这样的嵌入式系统,硬件比较特殊,可能也涉及底层的驱动及库的支持,提供驱动+库支持+系统软件框架之上支持应用程序运行的软件开发。
操作系统、中间件、应用程序,构成了Android.
‘叁’ Android系统开发平台需要了解哪些
Android希望能够建立标准化、开放式的软件平台和操作系统,平台由操作系统、中间件、用户界面和应用程序组成,已经衍生出一条由手机和其他终端制造商、移动运营商、半导体公司、软件公司等组成的、完整的产业链和生态环境。此举必将推进更好、更快的创新,为移动用户提供更多功能强大的应用和服务。
Android开发不只局限于Android应用的开发,而是涵盖整个Android产业链的所有环节,从系统的定制,到电子设备的研制,甚至可以包含适用于Android平台的各种半导体部件。由于终端和应用最受关注,并且也是最容易被直接接触到的,因此本文会更多地面向设备制造商以及应用开发商。
Android系统在逐渐稳定和成熟则乱散,但版本变化还是相对比较快,开发人员需要适应快速变化的版本;同时,Android用户与传统平台的用户群不同,其消费行为也必然不同,要求厂商对目标客户群陪竖的消费行为作出良好判断;另外,Android平台上应用孙氏开发的盈利模式不够明确,给产业链带来未知因素。
‘肆’ 开发安卓手机app需要的技术有哪些
开发不同类型的App需要用到哪些技术?WebApp:iOS/Android的内置浏览器是基于webkit内核的,所以在开发webApp时,多数使用html或html5、CSS3、JavaScript技术做UI布局,使其在网站页面上实现传统的C/S架构软件功能,服务端技术用java、php、ASP。现在也有很多一键生成webApp的平台,如网络siteApp/移动开发平台APICloud,APICloud平台提供基于腾讯x5浏览器引擎生成webApp,因为移动端的超级流量入口微信/手机qq等用的也是腾讯x5内置浏览器,所以用腾讯x5浏览器生成的App在移动页面展示时适配于微信的浏览体验,这样可悔卜以帮助webApp引流。NativeApp:开发NativeApp需要根据运行的手机系统采用不同的开发语言,开发AndroidApp需要的开发语言是java,还需要熟悉Android环境和机制。主要知识点如下:
1.开发环境,AndroidStudio、eclipse.如何搭建Android开发环境可以去网络。
2.数据结构,App的某些功能涉及到做算法,所以要有一定的数学基础
3.AndroidSDK,会API接口开发,包括自行开发API的能力和调用第三发API的经验。
4.熟悉tcp、IP,socket等网络协议
5.如果涉及到服务器,你还需要了解webservice相关知识和相应的开发语言,常用有PHP、JSP、ASP.Net.
6.除了这些功能基础,App开发还涉及到UI设计、框架、性能优化、调试适配等。Objective-C是开发iOS系统App的主流编程语言,开发者一般用苹果公司的iOSSDK搭建开发环境,iOSSDK是开发iOS应用程序中不可少的软件开发包,提供了从创建程序,到编译、调试、运行、测试等多种开发过程中需要等工具。学习iOS开发可以去看苹果官方文档,这是最权威的ios教程。HybridApp:混合开发中主流的是以web为主体型的开发,即以网页语言编写,穿插Native功能的hybridApp开发类型,网页语言主要有html5、CSS3、JavaScript。Web主体型的App用户体验好坏,取决于底层中间桥祥件的交互与跨平台的能力。国内外有很多优秀的开发工具,如国外的AppmAkr、Appmobi,国内的APICloud,APICloud的底层引擎用DeepEngine,使用半翻译式原理,将运行中的web翻译成NativeAPI,并且支持扩展API,开发时可调用用原生语言开发的功能模块,碧消穗以此达到媲美原生App的用户体验,同时节省开发时间。对企业来说,可以根据自己的需求选择不同的开发类型和开发工具,目前来看,HybridApp已经成为移动开发趋势,一方面HybridApp开发时不采用或者大部分不采用原生语言,却能拥有原生应用的特性,一方面随着web技术的发展,HybridApp技术已经成熟,很多大型App淘宝、微信、携程都属于这种开发模式,HybridApp给企业移动应用的开发、维护、更新都带来了极高的便捷性,从成本投入用户体验考虑,HybridApp都是首选。