第一篇:SDK总结
SDK总结
Android SoftWare development kit.永远只用最新的SDK版本,这是Google官方强烈建议的。你的app能运行的Android版本不是由SDK决定的,是由每一个项目的minSDK决定的,通过minSDK确定app应用能安装运行在目标设备的最低SDK版本。
SDK都是向下兼容的。SDK在不断改进中,新的SDK会提供更强大开发工具,而且用4.0的SDK编译的2.1的apk的执行效率会比用2.1的SDK编译的更高。至于每个app应该用什么 minSDK,应该根据应用具体的API来,如果app没有用到1.6以上SDK新提供的API,那么用1.6会在提供相同体验下反而会比2.1兼容更多机型。
开发在最新版本(target),测试在最低版本(min)。
SDK目录
add-ons
这里面保存着附加库,第三方公司为Android平台开发的附加功能系统。比如GoogleMaps,当然你如果安装了OphoneSDK,这里也会有一些类库在里面。
docs
这里面是Android SDKAPI参考文档,所有的API都可以在这里查到。
extras
该文件夹下存放了Android support v4,v7,v13,v17包; 还有google提供额USB驱动、Intel提供的硬件加速等附加工具包,和market_licensing作为AndroidMarket版权保护组件,一般发布付费应用到电子市场可以用它来反盗版。
platforms
是每个平台的SDK真正的文件,存放了不同版本的android系统。里面会根据APILevel划分的SDK版本,这里就以Android2.2来说,进入后有 一个android-8的文件夹,android-8进入后是Android2.2SDK的主要文件,其中ant为ant编译脚本,data保存着一些系 统资源,images是模拟器映像文件,skins则是Android模拟器的皮肤,templates是工程创建的默认模板,android.jar则 是该版本的主要framework文件,tools目录里面包含了重要的编译工具,比如aapt、aidl、逆向调试工具dexdump和编译脚本dx。
samples
是Android SDK自带的默认示例工程,里面的apidemos强烈推荐初学者运行学习,对于SQLite数据库操作可以查看NotePad这个例子,对于游戏开发Snake、LunarLander都是不错的例子,对于Android主 题开发Home则是androidm5时代的主题设计原理。
platform-tools
保存着一些Android平台相关通用工具,比如adb和aapt、aidl、dx等文件,这里和platforms目录中tools文件夹有些重复,主要是从android2.3开始这些工具被划分为通用了。Fastboot 刷机工具。
tools
作为SDK根目录下的tools文件夹,这里包含了android 开发和调试的工具,比如ddms用于启动Android调试工具,比如logcat、屏幕截图和文件管理器,而draw9patch则是绘制android平台的可缩放png图片的工具,sqlite3可以在PC上操作SQLite数据库,而monkeyrunner则是一个不错的压力测试应用,模拟用户随机按键,mksdcard则是模拟器SD映像的创建工具,emulator是 Android SDK模拟器主程序,不过从android 1.5开始,需要输入合适的参数才能启动模拟器,traceview作为android平台上重要的调试工具。
build-tools
保存着一些Android平台相关通用工具,比如adb、和aapt、aidl、dx等文件。
aapt即Android Asset Packaging Tool , 在SDK的build-tools目录下.该工具可以查看, 创建, 更新ZIP格式的文档附件(zip, jar, apk).也可将资源文件编译成二进制文件.Adb 即android debug bridge 管理模拟器和真机的万能工具,ddms 调试环境
AIDL 即 Android Interface definition language 它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口Emulator即android 的模拟器。
dx:转化.class中间代码为dvlik中间代码,所有经过java编译的生成.class文件都需要此工具进行转换,最后打包进apk文件中.Dexdump 即Android Emulator中可以找到一个名为dexdump的程序,通过dexdump可以查看出apk文件中的dex执行情况,粗略分析出原始java代码是什么样的和Dot Net中的Reflector很像。
注意:这里会涉及到一个问题,就是build-tools后边会有不同的api版本号!
①buildeToolVersion是你SDK构建工具的版本,这个版本号一般是API-LEVEL.0.0。例如I/O2014大会上发布了API20对应的build-tool的版本就是20.0.0,在这之间可能有小版本,例如20.0.1等等。
②在ecplise的project.properties中可以设置sdk.buildtools=20.0.0。也可以不设置,不设置的话就是指定最新版本。而在android studio中是必须在build.gradle中设置。
③Android都是向下兼容的,你可以用高版本的build-tool去构建一个低版本的sdk工程,例如build-tool的版本为20,去构建一个sdk版本为18的工程!
min、compile、target版本的区别
compileSdkVersion, minSdkVersion 和 targetSdkVersion 的作用:他们分别控制可以使用哪些 API,要求的 API 级别是什么,以及应用的兼容模式。
compileSdkVersion
compileSdkVersion 告诉 Gradle 用哪个 Android SDK 版本编译你的应用。使用任何新添加的 API 就需要使用对应等级的 Android SDK。需要强调的是修改
compileSdkVersion 不会改变运行时的行为。当你修改了 compileSdkVersion 的时候,可能会出现新的编译警告、编译错误,但新的 compileSdkVersion 不会被包含到 APK 中:它纯粹只是在编译的时候使用,不通知安装Android操作系统。
因此我们强烈推荐你总是使用最新的 SDK 进行编译。在现有代码上使用新的编译检查可以获得很多好处,避免新弃用的 API,并且为使用新的 API 做好准备。
注意,如果使用 Support Library,那么使用最新发布的 Support Library 就需要使用最新的 SDK 编译。例如,要使用 23.1.1 版本的 Support Library,compileSdkVersion 就必需至少是 23(大版本号要一致!)。通常,新版的 Support Library 随着新的系统版本而发布,它为系统新增加的 API 和新特性提供兼容性支持。
minSdkVersion 如果 compileSdkVersion 设置为可用的最新 API,那么 minSdkVersion 则是应用可以运行的最低SDK版本要求。
minSdkVersion 是 Google Play 商店用来判断用户设备是否可以安装某个应用的标志之一。
在开发时 minSdkVersion 也起到一个重要角色:lint 默认会在项目中运行,它在你使用了高于 minSdkVersion 的 API 时会警告你,帮你避免调用不存在的 API 的运行时问题。如果只在较高版本的系统上才使用某些 API,通常使用“运行时检查系统版本”的方式解决。
请记住,你所使用的库,如 Support Library 或 Google Play services,可能有他们自己的 minSdkVersion。你的应用设置的 minSdkVersion 必须大于等于这些库的 minSdkVersion。例如有三个库,它们的 minSdkVersion 分别是 4, 7 和 9,那么你的 minSdkVersion 必需至少是 9 才能使用它们。在少数情况下,你仍然想用一个比你应用的 minSdkVersion 还高的库(处理所有的边缘情况,确保它只在较新的平台上使用),你可以使用 tools:overrideLibrary 标记,但请做彻底的测试!
targetSdkVersion
targetSdkVersion 是 Android 提供向前兼容的主要依据,在应用的
targetSdkVersion 没有更新之前系统不会应用最新的行为变化。这允许你在适应新的行为变化之前就可以使用新的 API。
确定APP应用编译运行使用的SDK版本。
targetSdkVersion 所暗示的许多行为变化都记录在 VERSION_CODES 文档中了,但是所有恐怖的细节也都列在每次发布的平台亮点中了,在这个 API Level 表中可以方便地找到相应的链接。
Gradle 和 SDK 版本
在你的模块的 build.gradle 文件中(也可以在 Android Studio 的项目结构选项中)设置:
android {
compileSdkVersion 2buildToolsVersion “23.0.1”
defaultConfig {
applicationId “com.example.checkyourtargetsdk”
minSdkVersion 7
targetSdkVersion 23
versionCode 1
versionName “1.0”
}
} 编译时用到的 compileSdkVersion 是和构建工具版本一起设置的 Android 设置之一。其他两个稍有不同,他们在构建变体(build variant)的那里声明。defaultConfig 是所有构建变体的基础,也是设置这些默认值的地方。你可以想象在一个更复杂的系统中,应用的某些版本可能会有不同的 minSdkVersion。
如果你查看生成的 AndroidManifest.xml 文件,你会看到类似下面这样的标签:
如果你在 manifest 文件中手工设置,你会发现 Gradle 在构建时会忽略它们(尽管其它构建系统可能会明确依赖它们)。
这三个值的关系是:minSdkVersion <= targetSdkVersion <= compileSdkVersion;这种直觉是合理的,如果 compileSdkVersion 是你的最大值,minSdkVersion 是最小值,那么最大值必需至少和最小值一样大且 target 必需在二者之间。
理想上,在稳定状态下三者的关系应该更像这样:
minSdkVersion(lowest possible)<= targetSdkVersion == compileSdkVersion(latest SDK)用较低的 minSdkVersion 来覆盖最大的人群,用最新的 SDK 设置 target 和 compile 来获得最好的外观和行为。
build.gradle
buildeToolVersion //本地SDK工具的版本;其中包括了打包工具aapt、dx等等。这个工具的目录位于..your_sdk_path/build-tools/XX.XX.XX
build.gradle
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'// gradle 插件版本 }
setting.gradle include ':app' //设置构建模块
distributionUrl=https://services.gradle.org/distributions/gradle-2.14.1-all.zip //下载gradle的路径
第二篇:连锁超市短信 SDK应用案例
连锁超市短信 SDK应用案例
北京XXX集团股份有限公司前身是国有商业企业。本着“立足北京、拓展华北、辐射全国”的发展战略,通过新建、联合、租赁、合资、加盟和托管等多种形式发展;截止至2008年,北京XXX集团股份有限公司已从建设初期的7家店铺发展到243家,营业面积超过33万平方米,门店遍及北京市18个区县及河北廊坊地区。目前,公司依托品牌优势不断创新,已经基本形成了以区域购物中心、大卖场、综合超市、便利店四种经营业态统筹发展的态势,销售范围覆盖北京及华北地区的主要零售商、分销商及贸易公司等。
承“便民、利民、为民”的经营宗旨,在“借助网络信息技术和现代物流技术为手段,不断提升企业核心竞争力” 的思想引导下,北京XXX集团股份有限公司于2006年引入了超市管理系统。该系统的应用,不仅全面改善了超市在采购管理、销售管理、资金管理、库存管理、帐务管理、分店管理等方面业务能力,更进一步提升了人员的管理水平、综合服务能力和工作效率。
随着XXX集团业务的迅速发展,市场环境的变化对现有的超市管理系统提出了新的要求。连锁分店一般分布在不同的区域中,而且大部分还是传统管理的模式,经营管理者无法及时掌握到即时营业数据,并很有效地引导和控制采购进货、库存配货等等问题。资金的占用和合理的采购进货需要营业销售数据作为论证和支持,更有效的管理手段将资源整合利用和分配,才能更好地获取营业管理和销售收入的最大利润。利用移动通信技术改进现有业务体系,实现信息共享,实时或限时的数据传输,提升企业服务手段和服务能力成为XXX集团“升级”现有管理系统的新方向。
后续公司通过优讯通的DB SDK 短信应用引擎,将XXX集团超市管理系统的各个环节进行串联;使内部管理、进销存管理、会员管理等环节形成了一个全新的信息交叉、闭环的工作流程。
项目需求分析
一、库存及采购管理系统需求
XXX集团现有的系统中,库存管理模块的在执行库存预警功能时,在特定情况下会出现“信息盲点”的状况。即:被进行预警的商品信息会因为一些特殊情况(如:采购员不在超市、正在执行其它公务等情况下),使采购人员无法在第一时间获悉被预警的商品信息,及时进行订货和补货。
“信息盲点”出现后,带来的最直接后果是:由于无法即时获知最新的库存状况,XXX集团的分店或下级经销商会按照产品正常的库存数量在超市管理系统中下达订单,进而直接导致畅销商品的意外断货和残次商品无法及时更换等问题出现。
二、销售管理系统需求
对于连锁超市企业而言,分店对分店的调拔是一种比较灵活的销售方式。通过分店之间的互相调拔,不仅可以使店面间的商品库存数据平衡帐务处理,也可以加速商品的流通销售以及资金的回收。因此,对于XXX集团而言,如何更及时、准确的在第一时间获悉下属所有分店当天或每班次所发生的销售、调拔、赠送、坏损、过期的数据明细以及汇总帐情况对企业而言至关重要。
三、会员管理系统需求
在会员管理和日常业务宣传方面,XXX集团仍旧延续传统的电话、报纸、发送海报、宣传彩页、电视媒体等方式进行。这样的做法,不仅企业自身的宣传成本会长期居高不下,同时也很难让企业的产品和服务在激烈的市场竞争中脱颖而出。
四、内部管理系统需求
由于店面和人员分布范围较为分散,连锁超市行业通用的工资发送方式都是每月发放工资条。这样既不利于即时让员工获悉工资发放的时间,同时更不利于维护员工收入的保密性。
优讯通DB SDK 解决方案
库存及采购管理
利用超市管理系统中的进销存数据报警功能,用DB SDK 短信应用引擎把数据读取到发送库表中,利用短信及时通知相关的工作人员,及时对库存、退换货等情况进行处理。
销售管理
通过部署DB SDK 短信应用引擎,可以定期通过各门店短信回复的销售情况和库存情况进行及时统计和整理。同时,可以通过DB SDK 短信应用引擎对各产品的销售状况设定时时汇总,及时调整销售策略。
会员管理
在DB SDK 短信应用引擎中预设后,企业可以通过短信的方式,直接把相关的促销和打折信息通知到会员,并收集会员的反馈信息。不仅降低了企业的运营成本,同时可以直接的与会员进行双向互动,了解会员的详细需求。
内部管理
在DB SDK 短信应用引擎中预设后,企业的职能管理部门可以通过短信的方式对各项数据时时了解,及时部署和调整工作。应用DB SDK 短信应用引擎后,还可以及时、保密的通过短信将工资发放情况和明细告知各个门店的员工,并利用短信向员工发送生日祝福、节日问候、天气提醒等提示,进一步增强员工对企业的归属感和责任感。
其他需求
DB SDK 短信应用引擎可以设定短信发送的有效时间。通过人工控制短信服务的开启和停止;可对短信发送和接收记录进行归档处理。同时,DB SDK 短信应用引擎还提供了发送预警功能,当出现连接错误或网络故障时,可通过声音报警。通过搭建优讯通系统平台,企业的管理人员可以对短信发送对象和状态进行时时监控,保障销售数据和会员资料的安全。
项目实施效果评估
通过全面部署优讯通B SDK 短信应用引擎,短短三个月的时间北京XXX集团股份有限公司在进、销、存、企业宣传、会员满意度等方面取得了全面的提升,从而进一步拉动了集团销售业务的良性增长。
第三篇:基于VMware vSphere SDK的虚拟化客户应用程序实现
服务器虚拟化技术可以大大提高对服务器的整合和管理效率,便于快速部署各种应用。该文首先简要介绍了VMware vSphere平台的组成结构,然后详细描述了如何利用VMware vSphere SDK开发灵活、简洁并具有友好界面的VMware vSphere客户应用程序的流程步骤和实现方法。
关键词:VMware vSphere SDK;C#;虚拟化技术;客户应用程序;Manager Of Reference(MOR)Completion of the Virtualization Client Applications Based on VMware vSphere SDK
CHEN Bo1,2, TANG Ling-li1, ZHOU Zhong-hai1, YUAN Zhi-ping1
(1.Jiangnan Computing Technology Institute, Wuxi 214083, China;2.95846 PLA Troops, Fuzhou 350000, China)
Abstract: Server virtualization technology can improve the efficiency of server integration and management greatly, and it also can be convenient to deploy all kinds of application.At first, this paper introduces the architecture of VMware vSphere platform simply, and then describes how to use the VMware vShpere SDK to develop the flexible, compact VMware vShpere client application with friendly interface in detail.Key words: VMware vSphere SDK;C#;virtualization technology;client applications;manager of reference(MOR)
近年来,随着计算机技术、网络技术的发展,许多企事业单位配备了越来越多的应用系统,相应地,服务器的数量也越来越多。但是这些服务器通常只能承载单一的应用服务,过高的服务器硬件配置将使得服务器的优越性能难以得到充分利用,从而造成资源浪费;而过低的硬件配置又怕不能满足后续的用户需求;此外,服务器数量的逐年增加也使得管理变得日益复杂。而虚拟化技术的引入能够提高服务器的利用率、加快应用部署的速度,从而提供高可靠性、高可用的应用服务。
虚拟化技术是当前大型数字化中心进行硬件资源整合和提高能效的重要技术之一,主要有完全虚拟化、部分虚拟化和操作系统层虚拟化三种方式。虚拟化是一个抽象层,它打破了物理硬件与操作系统的物理连接。服务器虚拟化系统就是通过虚拟化技术从服务器中虚拟出多个客户机进行统一的整合管理,而这些客户机可以相互独立运行安装不同的操作系统和应用程序。作为一个面向用户的系统,如何能够设计一个具有简洁友好界面的虚拟化客户应用程序,以便更好地满足用户灵活有效地管理服务器虚拟化系统,是一个有待解决的问题。VMware vSphere SDK工作原理
1.1 组成结构图
VMware vSphere是VMware公司开发的构建云计算架构的最佳平台,使用VMware vSphere来构建云计算基础架构,可以减少运行的服务器数量,降低资金成本和运营成本。VMware vSphere虚拟化多个系统间的基础物理硬件资源,同时为数据中心提供大量虚拟资源。作为云操作系统,VMware vSphere可作为无缝和动态操作环境管理大型基础架构(例如CPU、存储器和网络),同时还管理复杂的数据中心。VMware vSphere主要由以下基本组件构成:ESX主机(主服务器)、vCenter Server(虚拟中心服务器)、vSphere SDK、vSphere Web Access或vSphere Client等,组成结构图如图1所示。
VMware vSphere SDK是一种为VMware和第三方解决方案提供标准界面以访问VMware vSphere功能的开发包。VMware vSphere Web Services SDK 4.0是VMware提供的最新软件开发包,包含了VMware vSphere API实现的所有必需组件,其中包括WSDL文件、各种库文件、帮助文档和例程,是一个服务器虚拟化系统的二次开发平台。我们可以利用这个平台开发灵活方便的客户应用程序来管理、监控和维护VMware vSphere组件。
1.2 接口函数
主要接口函数如下:
Login(ManagedObjectReference _this,string userName,string password,string locale);
//建立一个服务器连接,ManagedObjectReference(受管对象引用)类型是一个指向对象的指针,其中_this参数指定一个特定的SessionManager受管对象引用,userName参数指定连接的服务器的用户名,password参数指定该用户名所对应的密码,locale参数指定所在区域,缺省为服务器的所在区域。
CreateVM_Task(ManagedObjectReference _this, VirtualMachineConfigSpec config, ManagedObjectReference pool, ManagedObjectReference host);
//在指定目录下创建一个新的虚拟机,其中_this参数指定一个特定的Folder受管对象引用,config参数指定新建虚拟机的相关配置,pool参数指定该虚拟机所在的资源池,host参数指定该虚拟机所在的目标主机。
RetrieveProperties(ManagedObjectReference _this,PropertyFilterSpec[] { specSet });
//取回相关实体的属性,包含与虚拟机相关的信息,实现对虚拟机的监控,其中_this参数指定一个特定PropertyCollector受管对象引用,specSet参数指定需要获得属性的清单。
ReconfigVM_Task(ManagedObjectReference _this, VirtualMachineConfigSpec spec);
//对虚拟机进行重新配置,实现对虚拟机的管理,其中_this参数指定需要重新配置的虚拟机,spec参数指定需要重新配置的相关值。客户应用程序功能模块
该客户应用程序系统是创建、管理、操作虚拟机的主界面,并可以访问虚拟机控制台。包括:虚拟机创建模块、虚拟机操作模块、虚拟机管理配置模块、虚拟机监控模块,功能模块图如图2所示。各功能模块完成的功能如下:
虚拟机创建模块:完成虚拟机的创建工作,包括虚拟机硬件资源的分配、操作系统的选择等;
虚拟机操作模块:完成对已建虚拟机的各项操作,包括对虚拟机的电源操作、快照操作、克隆迁移操作等;
虚拟机监控模块:监控主机的CPU、内存、存储器、网络等资源的使用情况;
虚拟机管理配置模块:查看并动态分配主机服务器的CPU、内存、电源、存储器、网络等资源给各个虚拟机。客户应用程序开发步骤和实现方法
3.1 开发环境
搭建vSphere系统环境。首先在各主服务器上安装VMware ESX 4.0,然后在虚拟中心服务器中安装Windows 2003操作系统,并在上面安装VMware vCenter Server。安装完成之后进行网络配置。
3.2 开发工具
VMware推荐使用Java或者C#作为开发语言。本实例中我们选择C#作为开发语言,Microsoft Visual Studio 2005作为开发环境。另外,开发客户应用程序所需要的工具包括Microsoft.NET Framework 2.0和vSphere Web Services SDK 4.0,所需的动态链接库包括AppUtil.dll,Vim25Service2005.dll,VimService2005.dll,Vim25Service2005.XmlSerializers.dll, VimService2005.XmlSerializers.dll,VMware.Security.CredentialStore.dll等。这些动态链接库可通过正确设置环境变量,并运行vSphere Web Services SDK 4.0工具包中的Build2005产生。
3.3 开发方法
客户应用程序的开发既可采用浏览器/服务器(B/S)模式(如vSphere Web Access),也可采用客户端/服务器(C/S)模式(如vSphere Client),本文选择客户端/服务器(C/S)模式实现开发。在Microsoft Visual Studio 2005中新建一个项目,并添加上述动态链接库以及Web引用,之后就可以进行客户应用程序的功能开发。下面简要说明整个客户应用程序的开发过程。
3.3.1 连接服务器的实现
用SDK创建客户应用程序首先应该连接到服务器。
SimpleClient可以实现连接到服务器、与服务器的通信,并可获得该服务器下相关实体的一些信息。步骤如下:
Step1 //创建一个特定于服务器MOR
_svcRef = new ManagedObjectReference();
_svcRef.type = “ServiceInstance”;
其中MOR(managed object reference),即受管对象引用,受管对象具有特定于服务器的MOR。MOR是指向对象的指针。
Step2 //VMA代理实例化
_service = new VimService();
Step3 //获得ServiceContent对象
_sic = _service.RetrieveServiceContent(_svcRef);
Step4 //调用Login方法实现与服务器的连接
if(_sic.sessionManager!= null){
_service.Login(_sic.sessionManager, username, password, null);}
Step5 //获取服务器相关信息
_sic.getAbout().getFullName();
_sic.getAbout().getApiType();
_sic.getAbout().getApiVersion()等。
3.3.2 创建虚拟机的实现
连接到服务器之后,可以在主服务器上创建新的虚拟机。主要步骤如下:
Step1 //VMA代理实例化
_service = cb.getConnection()._service;
Step2 //创建相关MOR数据对象
ManagedObjectReference dcmor
= cb.getServiceUtil().GetDecendentMoRef(null,“Datacenter”,dcName);ManagedObjectReference hfmor
= cb.getServiceUtil().GetMoRefProp(dcmor, “hostFolder”);
Step3 //创建VirtualMachineConfigSpec数据对象
VirtualMachineConfigSpec vmConfigSpec
=vmUtils.createVmConfigSpec(vmname,datastorename,int.Parse(disksize),crmor, hostmor);
Step4 //调用CreateVM_Task方法实现虚拟机的创建
ManagedObjectReference taskmor
= _service.CreateVM_Task(vmFolderMor, vmConfigSpec, resourcePool, hostmor);
3.3.3 虚拟机监控的实现
可以对已经创建的虚拟机实现监控。步骤如下:
Step1 //初始化
private static AppUtil.AppUtil cb = null;
static VimService _service = cb.getConnection()._service;
static ServiceContent _sic = cb.getConnection()._sic;
Step2// 对PropertyFilterSpec进行实例化
PropertySpec pSpec = new PropertySpec();
ObjectSpec oSpec = new ObjectSpec();
PropertyFilterSpec pfSpec = new PropertyFilterSpec();
pfSpec.propSet = new PropertySpec[] { pSpec };
pfSpec.objectSet = new ObjectSpec[] { oSpec };
Step3 //调用RetrieveProperties方法获得虚拟机的相关信息,以实现对虚拟机的监控
ObjectContent[] ocs = new ObjectContent[20];ocs=_service.RetrieveProperties(_sic.propertyCollector,new PropertyFilterSpec[] { pfSpec });3.3.4 虚拟机管理配置的实现
对已经创建的虚拟机进行管理配置,步骤如下:
Step1//初始化
private static AppUtil.AppUtil cb = null;
private ManagedObjectReference _virtualMachine = null;
Step2//实例化
_virtualMachine=cb.getServiceUtil().GetDecendentMoRef(null, “VirtualMachine”, vmName);
VirtualMachineConfigSpec vmConfigSpec = new VirtualMachineConfigSpec();
Step3 //调用ReconfigVM_Task方法实现虚拟机的重新配置
ManagedObjectReference tmor
= cb.getConnection()._service.ReconfigVM_Task(_virtualMachine, vmConfigSpec);程序演示 略… 结束语
目前企事业单位的服务器虚拟化整合是数字化应用部署的一个趋势,不仅可以有效地利用有限的设备经费,还能够满足企事业单位应用服务种类的不断增加、数据库资源数量不断增长的需求。而自己开发的客户应用程序可以为用户提供一个方便简洁灵活的操作界面,实现与主服务端和虚拟中心服务器之间的交互,以达到从客户需求的角度有效管理和使用整个计算机系统的目标。
参考文献:
[1] vSphere Web Services SDK Programming Guide(vSphere Web Services SDK 4.0)[EB/OL].http://.[2] Developer’s Setup Guide(VMware vSphere Web Services SDK 4.0)[EB/OL].http://.[3] VMware vSphere简介[EB/OL].http://.[4] 王石.精通Visual C#2005-语言基础、数据库系统开发、Web开发[M].北京:人民邮电出版社,2007.[5] 金海,廖小飞.面向计算系统的虚拟化技术[J].中国基础科学,2008(6):12-18.[6] 金海等.计算系统虚拟化——原理与应用[M].北京:清华大学出版社,2008.
第四篇:安卓平台碎片化严重 谷歌修改SDK协议
安卓平台碎片化严重 谷歌修改SDK协议
由整理腾讯数码译(小言)11月18日消息,有消息称,谷歌安卓平台碎片化问题日趋严重,同一时间多种版本的存在给用户以及开发者带来了不小的麻烦,意识到这一点的谷歌现已采取相应措施,通过修改SDK协议来遏制安卓平台碎片化的趋势。目前谷歌公司已修改相关协议条款,对研发人员在开发相应安卓应用程序而导致其安卓平台继续碎片化的行为进行了明令禁止,反碎片化条款也被谷歌写入安卓SDK协议,这意味研发人员只有接受反碎片化条款后,才能构建安卓应用。在周二谷歌发布的新条款第3.4章节中明确表示,“你本人同意不会采取导致或可能导致安卓系统碎片化的行为,包含但不局限于,发布,参与建立或者以任何方式进行以SDK为标准的软件改进。”
上述条款是自2009协议以来进行的首次重大更新,更新之前的协议并未有关于平台破碎化的相关条款。CNET目前已与谷歌就此事取得了联系,相关报告随后发布。
平台破碎化问题最近吸引了不少关注,该问题的存在可能导致应用程序无法在相关安卓设备上运行。破碎化问题导致谷歌安卓平台的复杂化以及其研发成本的大幅提升,对谷歌及其手机制造商以及无线运营商在内的相关企业带来不小的损失。对于手机制造商来讲,保持其设备操作系统版本的更新是其应尽的责任,但是事实并非如此,在众多安卓设备中仍有许多仍应用两年前的平台版本,根据谷歌自己的数据显示,超过54%的安卓设备仍采用的是两年前的安卓2.3版本
第五篇:淘宝SDK高级智能 中英文双语导航(鼠标经过切换)
淘宝SDK高级智能模板 中英文双语导航(鼠标经过切换)
2Home首 页