




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Andro j d手机界面管理系统的设计与实现摘要随着科技的不断发展,计算机与软件的进步,新一代的移动终端用户针对应用软件的可操作性以及软件操作的舒适性等方面提出了更高的要求。除期望所用的软件拥有强大的功能外,更期望应用软件能尽可能的为他们提供一个轻松、愉快、感觉良好的操作环境。这表明友好的手机界面设计已经成为手机应用开发的一个重要组成部分。而手机界面在手机应用软件中占用了大量的开发时间,提高手机界面的开发效率,无疑是提高整个手机应用件开发效率非常有效的手段。本文研究了Google与开放手机联盟合作开发的Android手机平台的用户界面管理系统。通过该系统开发人员可以使用拖拽的方式生成自己需要的图形用户界面,并将生成的界面保存成)(ML格式的文件。系统还支持打开一个已完成的江L界面程序,读取界面信息并在PC机上显示界面。针对界面中的每一个组件,以图形界面的方式将组件的属性显示出来,以方便不熟悉Android界面语言的美工或设计师对界面进行修改完善。如果用户不满意在PC机端通过图片单纯模拟Android操作系统窗口组件的显示效果,可以将最终生成的L界面程序发送至Android手机或Amdroid模拟器端,通过An(hid应用程序对其进行解析,将界面显示出来。该系统分为界面在PC机上的开发和界面在Android模拟器端显示两个部分。界面在PC机上的开发部分是基于MVC设计模式的总体框架设计的,该模块基本上是由界面组件、界面控制、组件属性和界面显示四个部分组成。界面组件和界面控制相当于MVC中的Model;组件属性和界面显示相当于MVC中的View;系统中负责组件和界面显示之间各种监听相当于MVC中的Con仃ol。界面在Android模拟器端显示模块实现了Android应用程序中的L界面程序在Android模拟器上的显示。该模块将通过帆界面文件创建界面组件,通过解析L资源文件为适配器提供信息,然后通过Android框架结构预定好的调用机制,将适配器中的信息填充到界面组件中。本文通过Android手机界面管理系统的设计与实现的介绍,希望能为今后开发类似的功能更强大的界面管理系统提供有益的借鉴。关键字:用户界面,Android,XML解析,可视化操作11本文的研究背景和意义111研究背景随着科技的不断发展,手机的功能越来越强大,手机系统的相关软件应运而生,手机设计的人性化已不仅仅局限于硬件的外观,手机的软件系统已成为用户直接操作和应用的主体,它应该以美观实用、操作便捷为用户所青睐。因此,用户界面设计的规范性显得尤为重要。由于受传统观念的影响,很长一段时间里,手机界面的设计一直不为软件开发人员所重视,认为这纯粹是为了取悦用户而进行的低级活动没有任何实用价值,而评价一个应用软件质量高低的唯一标准,就是看它是否具有强大的功能,能否顺利的帮助用户完成他们的任务。近年来,随着嵌入式硬件技术的迅猛发展,手持设备的存储容量、运行速度和可靠性等技术性能指标有了显著的提高,手持设备硬件的生产成本却大幅度下跌,手持设备日益普及。新一代的移动终端用户,在应用软件的可操作性以及软件操作的舒适性等方面对应用软件提出了更高的要求,除期望所用的软件拥有强大的功能外,更期望应用软件能尽可能的为他们提供一个轻松、愉快、感觉良好的操作环境。这表明,手机界面的质量已成为一个重要问题,友好的手机界面设计已经成为手机应用开发的一个重要组成部分。112意义如上所述,手机界面对于手机应用软件有很重要的作用。而手机界面在手机应用软件中占用了大量的开发时间,提高手机界面的开发效率,无疑是提高整个手机应用软件开发效率非常有效的手段。因此需要通过专门的技术,为开发者提供可视化的手段来开发用户界面。随着人们对用户体验要求的不断提高,要设计出受用户喜爱的界面,仅靠开发人员是不够的,可能还会请专门的美工或设计师对界面做修改。而这些专门的美工或UI设计师可能对手机界面程序并不熟悉。这样,开发一个基于可视化的手机界面管理系统,使不熟悉界面语言的美工或Ul设计师也能对界面进行修改完善,可以减少他们与开发人员的沟通时间,减少开发人员开发界面的工作量。因此,开发一个基于可视化的手机界面管理系统势在必行。其系统总的设计思想是以组成界面的元素为对象,用构件的形式加以描述,组织并提供一个可视化的生成环境,使开发人员能快速的进行界面设计,使美工或UI设计师能方便的对界面进行修改完善。_21 Android手机操作系统21 Andr0Id简介1Android介绍锄droid一词的本义指“机器人,同时也是G00西e于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android包括操作系统、用户界面和应用程序移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。G00西e与开放手机联盟合作开发了龇id,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和T-M0bile在内的30多家技术和无线应用的领军企业组成。G00西e通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。Android作为谷歌企业战略的重要组成部分,将进一步推进“随时随地为每个人提供信息这一企业目标的实现。谷歌的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的,Android将补充而不会替代谷歌长期以来奉行的移动发展战略一通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动务,并推广这些产品。2Android的未来发展对于消费者来说,G00酉e手机将是一款通用的、功能强大的、设备完整的手机产品。与矾one相似,An如id采用W曲晒t浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部w曲应用的单一平台。但其最震撼人心之处在于Am(hDid手机系统的开放性和服务免费。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁。同时与Windows、M0bile、S)IInbi纽等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三成成本。Android项目目前正在从手机运营商、手机厂商、开发者和消费者那里获得大力支持。212 Android用户界面因为本文讲解的系统主要是对Android手机L界面程序文件的管理,所以下面简单介绍一下Android的用户界面【3】。1关键类在一个Android应用中,用户界面是由View和ew咖对象构建的。View与ewGr01印都有很多种类。View对象是Android平台中用户界面体现的基础单位。View类是它称为“widgetS(工具)的子类的基础,它们提供了诸如文本输入框和按钮之类的UI对象的完整实现。vicwGroup类同样为其被称为“Layouts(布局)的子类奠定了基础,它们提供了像流式布局、表格布局以及相对布局之类的布局架构。ew对象是一个数据体,它的属性存储了用于屏幕上一块矩形区域的布局参数及内容,并负责这个矩形区域之中的所有测量、布局、焦点转换、卷动以及按键触摸手势的处理。作为一个用户界面对象,ew同时也担任着用户交互关键点以及交互事件接受者的角色。2视图层次在Android平台上,你可以用图21所示的ew和ewGroup层次图来定义一个A血vity的UI。这个层次树可随你所愿的简单或者复杂化。为了把一个视图层次树展现到屏幕上,你的Acti啊锣必须调用setContentVieWO方法,并传给它一个根节点对象的引用。Android系统将接受此引用,并用来进行界面的废止、测量并绘制这棵树。层次的根结点会要求它的子节点进行自我绘制,而且,每个视图组节点也负责调用它的子视图进行自我绘制。子节点将向父节点申请绘制的位置以及大小,而其次树顶层开始)解析你布局中的元素,实例化View并将它们添加到它们的父节点中。因个绘制的元素将位于所有重叠元素之上显现。3布局定义并展现你的视图层次的最常用的方法是使用XML布局文件。如同H俐L一样,L为布局提供了一种可读的结构。XML中的每个元素是ew 或ew蛳对象(或者是它们的子类)。ew对象是树的叶节点,而ViewGroup对象是树的分支。XML元素的名称与它体现的Java类相对应。所以一个q溆tew元素将在你的UI中生成一个TeXtvi蹦,而则创建一个“nearLayout视图组。当你载入一个布局资源时,Android系统会根据布局中的元素初始化这些运行时对象。请注意:LinearLayout元素包含了Texfview和Button对象。你可以在其中另外安置一个LinearLayout(或其它类型的视图组),以延展这个视图层次,构建更复杂的布局。可以用Java代码来绘制view和ewGroup对象,并用addewmew)方法动态的插入新的View和Viewmup对象。有相当多的方法来对视图进行布局。使用大量不同种类的视图组,可以有近乎无穷的方式来构建子视图和视图组。Android提供了一些预定义的视图组,其中包括LiIlearLayoutRelatiVeLayoutAbsoluteLayout、TableLayout、G打dLayout等。每个都为定义子视图和布局结构提供了一套独特的布局参数。4组件组件是为用户交互界面提供服务的视图对象。缸droid提供了一套完整的组件实现,包括按钮、复选框、文本输入框等。Android还提供了一些更高级的组件,比如日期选择、时钟以及缩放控制。如果想创建一些定制动作元素,可以通过定义自己的视图对象或者扩展或合并现有的组件实现。5用户界面事件使用户界面中的视图和工具与用户交互,进而实现动作,如欲获得用户界面事件通知,有如下两种实现方式。第一种实现方式:定义一个事件侦听器并将其注册至视图。通常情况下,这是侦听事件的主要方式。view类包含了许多命名类似O一木奉“steller的接口,每个接口都有一个。矿奉宰事O的回调方法。比如:ViewOnClicl(LiSteller用于处理视图中ewOnTouchListeIler用于处理视图中的触屏事件、ewOr吐沁vListeIler用于处理视图中的设备按键事件等等。如果希望视图在被“点击”比如选择了一个按钮的时候获得通知,需要实现OnClick“steIler接口,定义其0nClick0回调方法并在其中进行相应处理,并将它secOnclickListenero方法注册到视图上。第二种实现方式:为视图覆写一个现有的回调方法。这种方法主要用于你自己实现了一个ew类,并想侦听其上发生的特定事件。比如说当屏幕被触摸onToucllEv锄tO,当轨迹球发生了移动onTrackbaJlEv印tO或者是设备上的按键被按下onKeyD伽mO。这种方式为定制的视图中发生的每个事件定义默认的行为,并决定是否需要将事件传递给其它的子视图。6菜单应用程序菜单是应用程序用户界面中另外一个重要的组成部分。菜单为展现应用程序功能和设置提供了一个可靠的界面。按下设备上的M咖键会调出最普通的应用程序菜单,也可以加入当用户长按一个项目时调出的上下文菜单。菜单也是用视图层次进行构架的,但不必自己定义这个架构。只要为Activ时定义onCreateolptionsMe姗O和0nCreatcContex廿订enuO回调方法,并声明想要包含在菜单中的项目即可。Android将为菜单自动创建视图层次,并在其中绘入菜单项。菜单会自行处理它们的事件,所以不必为菜单中的项目注册事件侦听器。当菜单中的一项被选定时,框架将自动调用onoptionsIt锄SelectedO或0nConteXtemSelectedO方法。如同应用程序布局一样,也可以在一个)刚L文件中定义菜单中的项目。7适配器(Adaptef)如果要用一些无法硬编码的信息来填充视图组,比如将源于外部的数据绑定到视图中。为达到这个目的,可以使用Adapterew作为视图组,并用通过Adapter传递的数据初始化每个子视图并填入其中。适配器(Adapter)类在Andmid框架中扮演转接器的角色,其主要用途是改变界面。界面相当于纯粹的抽象类别(PurcAbs仃act Cl弱s),适合在框架中定义。Adapter组件让框架里的抽象类别能诞生Adapter应用类别的组件,来实现定义框架的新界面。Android中提供了大量的适配器(Adapter),常见的有BascAdapter、SimpleCurSorAdapter、Cu瑙DrAdapter等等,其中包含CurSor可以自动和数据库关联。一般在Listvie中我们需要定义一些显示的内容,需要用到继承Adapter一实现窗口的子类化。一般我们需要重写Adapter类的四个方法即可,分别是public iIlt getCouIlt0、public objoCt getIt锄(int posi廿on)、public 10ng getIteInId(int position)和publicewgetew(i11t position,View conv洲iew,ewGroup p搠lt),调用时仍然是在List、ew或“s认ctiv时中直接se认dapt呱CuSto蛐蜘apt砷即可,比较典型的方法参考Andmid的自带控件Gall叫的实现,详细的在API D锄。中查找即可。213 Android模拟器Android SDK自带一个移动设备模拟器,它是一个可以运行在电脑上的虚拟设备。Android模拟器可以让你不需使用物理设备即可预览、开发和测试Android应用程序。Android模拟器能够模拟除了接听和拨打电话外的所有移动设备上的典型功能和行为。如图2-2所示,触id模拟器提供了大量的导航和控制键,你可以通过鼠标或键盘点击这些按键来为你的应用程序产生事件。同时它还有一个屏幕用于显示捌d自带应用程序和你自己的应用程序。为了便于模拟和测试应用程序,向鲥d模拟器允许应用程序通过AndIod平台服务调用其他程序、访问网络、播放音频和视频、保存和接收数据、通知用户、渲染图像过渡和场景。Alldfold模拟器同样具有强丈的调试能力,例如能够记录内核输出的控制台、模拟程序中断(比如接收短信或打入电话)、模拟数据通道中的延时效果和遗失。21 4Andr。甜资源Andro讨资源系统能跟踪所有非代码相关的应用程序。你可以使用资源类来访问应用程序的资源,资源的实例通常和应用程序联系在一起,你可毗通过cont白n gnR鹤011rcO来访问。血d“d支持字符串,图片以及很多其他类型的资源。通常情况下可以通过三种类型的文件来创建赘源:“L文件(赊位图以及原数据文件),位图文件(对于图片)毗及原始数据(其它类型:例如声音文件等等)。事实上,有两种不同类型的xML文件,一种是编译到包里的,另外一种是通过龃pl来产生的资源文件, 这里有一张包含所有资源类型、文件格式、文件描述以及所有xML文件的详细信息的列表。在项目里,你可以在子目录r虾创建和存储资源文件。AdIoid有一个资源编译工具(aapt),它可以编译在这个目录下所有的子目录中的资源,Android中各种资源的列表。你可以从资源引用这里看到各种类型的对象,包含其语法以及格式。215 And巾id系统架构Android的系统架构和其操作系统一样,采用了分层的架构。如图23所示,Android分为五个部分,分别是:应用程序(Application)、应用程序框架(Application F姗cwork)、程序库(Lib础es)、Android运行环境(AndroidRIlll血ne)、l衄核心(“nux K锄e1)m。开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。1应用程序(Application)A皿h0id平台将预置一些核心应用程序,包括锄ail客户端、短消息程序、日历、地图、浏览器、通讯录等等。所有的这些程序都是用J撇开发的。2应用程序框架(AppIica“on Fr蜘ework)应用程序标准接口,实际上就是开发者在开发程序时需要调用的一些接口a开发者开发的程序可以与核心应用程序一样,平等地使用框架的API。应用程序框架是为了要建好组件的重新利用而设计的,它被设计成易于重甩的组件,使任何应用程序都可以发布它的库或包,并且其它的应用也可以使用其发布的库或包,但是要受限于架构的安全限制。使用者也可以用同样的机制来新增、替换Androld的组件。目前所有的应用程序都是山服务(s州ices)和系统(sys锄10组成,包)丰富而又可扩展的视图(views sysi1)可以用来构建应用程序,它包括在开发系统界面时常用的列表(1lm0、网格(印ds)、文本框(t既lbox曲、按钮fbunonsl以及嵌入式的web浏览器等。_2) 内容提供器(Content Pr0啊dcrs)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据。3)资源管理器(Resource M锄ag神提供各种非代码资源的访问,如本地字符串、图形或布局文件(1ayout矗les)。4)通知管理器(Noti6cation Mallag哪使得应用程序可以在状态栏中显示自定义的提示信息。5)活动管理器(Activity Mallag哪用来管理应用程序生命周期并提供常用的导航回退功能。6)窗口管理器(Window M锄ager)用来管理所有启动的窗口程式。7)位置管理器(L0cation Mallager)用来管理地图服务的相关功能。8)电话管理器(Telephony Manager)用来管理有关用户拨打或接听电话的相关功能。9)包管理器(Package Manager)管理所有安装在Android系统内的程序。3函式库(I,ibr撕eS)Android包含一些CC抖库,这些库能被Amdroid系统中不同的组件使;:用。它们通过Android应用程序框架为开发者提供服务。1)系统C库:一个从BSD继承来的标准C系统函数库(1ibc),它是专门为基于embedded linux的设备定制的。2)媒体库:基于Packetdco 0pellCORE。该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4、H264、MP3、AAC、AMR、JPG、PNG。3)Su概e Manager:对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。钔LibW曲Core:一个最新的web浏览器引擎用,支持An(1roid浏览器和一个可嵌入的web视图。5)SGL:底层的2D图形引擎。4A1droid运行环境(Android R嘶tiIlle)虽然Android是用J绷来开发、编写应用程序的,但却不使用JavaRuntime来执行Java应用程序,而是自行研发Android RuIltime来执行应用程序。在Android SDK的Android运行环境分成两个重要的部分来执行系统,这两个重要部分分剧是核心函数库(Corc Lib洒es)和Dalvm虚拟机(D小ikItIIal Machine)。1)核心函数库(Core Libr撕es)核心函数库里面已经包含了绝大多数Java所需要调用的程序。加ldI-0id不是用一个Dalvik虚拟机来同时执行多个Android应用程序,而每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的DaLlvik虚拟机实例。2)Dalvik虚拟机(Dalviknual Machinc)DalVik虚拟机被设计成一个设备可以同时高效地运行多个虚拟系统。D撕k虚拟机执行(dex)的D小il(可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JA、,A编译器编译,然后通过SDK中的“dx”工具转化成dex格式由虚拟机执行。Dalvilc虚拟机依赖于liIlu)【内核的一些功能,比如线程机制和底层内存管理机制。5 Linu)【核心(“nuXl(锄e1)Andmid的核心系统服务依赖于Linux 26内核,而所提供的核心系统服务如下所述:1)安全性(Se训劬2)内存管理(M锄。巧Managelnenl3l3)进程管理(Pr0CeSS M柚agcIIlent)4)网络协议栈(N酿帕rk Stack)5)驱动模型(】蹦ver Model)。LiIlu)【内核也同时作为硬件与软件架构之间的抽象层(Abs缸-action Layer)。_2。2 XML技术221 XML简介可扩展标记语言(eXtenSible Markup L锄guage,L)是全面描述的SGML的子集,其目标是在网络上,以类似于HTML的方式实现SGML的发送、接收和处理。简单的说,儿是一种受限制的SGML形式,从结构上看,XML文档符合SGML文档规范,而且江L与HTML兼容。删L是一种元标记语言,使用者可按需创建新的标记。捌L的可扩展性就在于此。带标记的元素是订L文档的构造块,如表23所示。这种元素可以有若干个属性,并可以包含零个或多个子元素,这些子元素可以是文本数据,也可以是带标记的元素。XML语言作为一种标准语言得到广泛应用和各大厂家的支持,必然有它自身优点存在。总的来说,删L的优点主要体现在如下几个方面: 可扩展性(ExteIlsibili啪lL继承了SGML的许多关键特性,首先是良好的可扩展性。xML允许使用者创建和使用自己的标记而不是HTML的有限词汇表,用户可以根据应用需要定义自己的标记语言,也可以建立起一套特定行业标记语言,做为信息共享和数据交换的基础。 内容与形式分离(Content Separated From Fom)XML的形式和内容是分离的,这样可以让数据的收集者专注于数据处理,相同的数据无需改动即可在不同的XSLML Style hguage)页面下呈现不同的风格。同时,内容和形式的分离使删L文档在不同应用系统之间的转换变得非常简单,用户要做的只是将两个不同煳L文档的DTD(DocumeIlt聊eDefi血tion)或江LSChema进行映射。灵活性(Flexibili劬H例L之所以很难进一步发展,是因为它是格式、超文本和图形用户界面语义的混合,要同时发展这些混合在一起的功能是非常困难的。L提供了一种结构化的数据表示方式,使得用户界面分离于结构化数据,w曲用户所追求的许多先进功能在XML环境下易于实现。 自描述性(Selfmes谢ption)由于XML文档是自描述的,江L文档中的数据可以被任何能够对XML数据进行解析的应用所提取、分析和处理,并以所需格式显示。删L表示数据的方式做到了独立于应用系统,并且可以实现数据的重用。)(ML还能用来表示那些以前不被看作文档,但是对传统的数据库来说又过于复杂而难以处理的数据,例如树状结构在删L中得到了很好的体现。 平台无关性(Flathd印endellcy)L是纯文本的,不存在平台问题,能通过各种网络协议在各种网络平台13和应用平台上传输和使用。XML处理工具可以轻松地读取并利用这些数据,这使得删L成为一种非常理想的网际语言。简明性(Concis衄髂S)XML具有简明性,它只有SGML约20的复杂性,但却具有SGML功能的约80的功能。XML比完整的SGML简单,易学易用。 健壮性(Ibbus缸1e豁)XML不同于普通的文件格式,由于采用封闭式标签的办法将数据组织成树型结构,以及DTD和vIL SChema的存在,L文档具有很强的健壮性。即使文件内容部分丢失,剩下的部分仍然可以读取。此外,捌L要求标记配对、嵌套、严格遵守DTD的规定,非常注重准确性。严格的语法要求使XML具有良好的可读性和可维护性。正是由于xML的技术先进性,业界很快接受了这项由W3C推荐、允许在未知平台下进行数据通信和信息存储的技术。例如,微软在NET中广泛的应用了L技术。作为一种通用数据格式,x】L被用于从配置文件到元数据、从IUC到对象串行化的多种应用场合。222 XML语法规则L数据具有高度的层次化结构,严格的语法规则,其在XMLl0中就有了明确的规范。如果文档内容和结构不符合这种规范,它就不可能被任何L处理器所处理。下面是一些基本的语法规则【2】: o1)每个文档有且仅有一个根元素(Root),其他所有元素都是它的子元素。2)每个元素对的上下文(context)关系要正确。即元素之间必须正确的嵌套。因为XML是半结构化数据,可以用xML描述树来表示其结构,所以它的逻辑结构和语法都有严格定义(如使用DTD或SCh锄a)。3)每个元素(El锄eIlt)都必须有开始和结束标记()。元素的内容可以是其它的元素、字符数据、字符引用、实体引用、PI、注释和CDATA(CharacterD触rA,字符数据)节,元素也是能够拥有属性的唯一基本类型。4)元素的属性值必须由单引号()或双引号(“)包含。222XML解析技术应用程序使用)Q诅L文档的时候,需要对其进行解析,将其从文件的格式转变成为程序中可直接使用的数据结构。换句话说,解析程序读入XML文档,识别出各个语法单元,然后将语法单元封装成一定的数据结构报告给应用程序,目前主要的XML处理技术主要有两种:DoM和SAX。1DOM解析DoM(Docum锄t Object Model)是用与平台和语言无关的方式表示XML文档的官方W3C标准,其不仅提供了对存储在内存中的讧L文档的一个完全的表示,也
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国镍钴酸锂项目创业投资方案
- 大专期末会计考试题及答案
- 中国石油压裂支撑剂项目商业计划书
- 2025黑龙江省种子购销合同范本
- 2024年福建省消防救援总队训练与战勤保障支队政府专职消防员招聘真题
- 文言文知识点梳理(7篇)人教统编版(2024)七年级语文上册
- 创新大赛考试题目及答案
- 厨师长考试题及答案
- 国能诚信招标有限公司介绍企业发展分析报告
- 房屋买卖协议书违约
- 2024年柯城区教育局下属事业单位选调工作人员考试真题
- 高职院校十五五人才培养工作报告
- 售后服务人员工作自我总结范文
- 2025年高中语文必修上册第二单元大单元教学设计
- (2025年)建筑起重信号司索工考试题库(附答案)
- 通信管道施工安全培训课件
- 2025年长春市团校入团考试题库及参考答案详解
- 消防联动调试方案(完整版)
- 收费站廉政培训课件
- 酒店数字化运营知识培训课件
- 终末病历质控工作规范与案例
评论
0/150
提交评论