版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳理工大学课程设计专用纸摘要Android是当今最重要的手机开发平台之一,它是建立在Java基础之上的,能够迅速建立手机软件的解决方案。Android的功能十分强大,成为当今软件行业的一股新兴力量。Android基于Linux平台,由操作系统、中间件、用户界面和应用软件组成,具有以下5个特点:开放性、应用程序无界限、应用程序是在平等条件下创建的,应用程序可以轻松的嵌入网络、应用程序可以并行运行。而简单计算器又是手机上必备的小程序,所以此次创新实践很有意义。并且具有很强的使用性。关键字:AndroidJava基础计算器沈阳理工大学课程设计专用纸目录TOC\o"1-5"\h\z\o"CurrentDocument"第1章开发工具与环境 1Android平台 1Java开发环境 1Eclipse 1Android程序基础一Android应用程序的构成 2\o"CurrentDocument"第2章系统分析与设计 4系统的可行性分析 4系统的需求分析 4系统的优势 4系统的流程图 5\o"CurrentDocument"第3章系统详细设计 6动作Activity 6布局文件XML 6Activity的详细设计 7布局文件XML的详细设计 21系统的运行结果 24\o"CurrentDocument"结论 25\o"CurrentDocument"参考文献 26沈阳理工大学课程设计专用纸No沈阳理工大学课程设计专用纸No1第1章开发工具与环境1.1Android平台.谷歌与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile在内的30多家技术和无线应用的领军企业组成。.Android是一个真正意义上的开放性移动设备综合平台。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持。.所有的Android应用之间是完全平等的。.所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚拟机,它提供了一系列用于应用和硬件资源间进行通讯的API。撇开这个核心引擎,Android的所有其他的东西都是“应用”。.Android打破了应用之间的界限,比如开发人员可以把Web上的数据与本地的联系人,日历,位置信息结合起来,为用户创造全新的用户体验。.2Java开发环境Java技术包含了一个编程语言及一个平台。Java编程语言具有很多特性,如面向对象、跨平台、分布式、多线程、解释性等等。 Java编程语言起源于Sun公司的一个叫“Green”的项目,目的是开发嵌入式家用电器的分布式系统,使电气更加智能化。 1996年1月发布了JDK1.1版本,一门新语言自此走向世界。之后,1998年12月发布了1.2版本,2002年2月发布1.4版本,2004年10月发布1.5版本(5.0),2006年12月发布1.6(6.0)版本,这是目前的最新版本。Java1.2版本是一个重要的版本,基于该版本,Sun将Java技术分为J2SE、J2ME、J2EE,其中J2SE为创建和运行Java程序提供了最基本的环境,J2ME与J2EE建立在J2SE的基础上,J2ME为嵌入式应用(如运行在手机里的Java程序)提供开发与运行环境,J2EE为分布式的企业应用提供开发与运行环境。.3Eclipse沈阳理工大学
沈阳理工大学课程设计专用纸No沈阳理工大学课程设计专用纸No2Eclipse的基础是富客户机平台(RichClientPlatform,即RCP)。RCP包括下列组件:核心平台(Eclipse,运行插件)标准集束框架(OSGi:OpenServiceGatewayinitiative)可移植构件工具包(SWT:Eclipse'sStandardWidgetToolkitJFace(文件缓冲,文本处理,文本编辑器)Eclipse采用的技术是旧M公司开发的SWT,这是一种基于Java的窗口组件,类似Java本身提供的AWT和Swing窗口组件:不过旧M声称SWT比其他Java窗口组件更有效率。Eclipse的用户界面还使用了GUI中间层JFace,从而简化了基于SWT的应用程序的构建。Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其他所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基于内核包括:图形API(SWT/JFace,Java开发环境插件(JDT),插件开发环境(PDE)等。Eclipse的插件机制是轻型软件组件化架构。在富客户机平台上,Eclipse使用插件来提供所有的附加功能, 例如支持Java以外的其他语言。已有的分离的插件已经能够支持C/C++(CDT)、Perl、Ruby、Python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言01.4Android程序基础一Android1.4Android程序基础一Android应用程序的构成Android沈阳理工大学沈阳理工大学课程设计专用纸N0沈阳理工大学课程设计专用纸N03I.Activity顾名思义,Activity就是活动。应用程序必须至少包含一个ActivityActivity提供了一个虚拟的用户接口,每一个Activity都有一个默认的窗口可以用来显示用户界面,一般情况下,它是全屏的窗口。例如,影音播放软件的每个用户界面就是Activity2.ServiceService与Activity的主要区别在于,Service是在后台活动的,它没有用户界面。典型的应用场景是,用户选择了一个播放列表开始播放后,离开了该用户界面(Activity),如果仍然希望歌曲不会暂停,就可以用 Service去调用播放器,而不是在Activity中调用播放器。3.Intent在Android中,每一个行为都可以抽象为一个Intent。可以简单地把Intent理解为一个包含了数据的消息。Intent可以用于启动一个Act-ivity或者Service,可以用于进程间的通信。事实上,应用程序的启动也是通过 Intent实现的。4.ContentprovidersAndroid平台内置了一套SQLite数据储存机制,并包含一系列管理SQLiteDatabase的相关方法。在应用程序中,可以通过Contentprov-iders访问数据库。每个Contentprovider都定义了一系列的方法用于访问它对应的数据库。应用程序在新建数据库时也可以定义相应的Con-tentprovider用于向其他应用程序共享数据。一般情况下,应用程序不直接调用Contentprovider定义的函数,而是通过ContentResolver间接调用。沈阳理工大学
沈阳理工大学课程设计专用纸No沈阳理工大学课程设计专用纸No4第2章系统分析与设计系统的可行性分析可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的实时调查得出以下四点的可行性分析:(1)技术可行性:Eclipse+AndroidADT的技术已经较为成熟,通过SUN公司(现被ORCEL公司收购)推出的跨平台、动态的JAVA语言进行开发。(2)运行可行性:该系统需要Android虚拟机环境,Eclipse中安装ADT,DDMS等GoogleAndroid相关插件。其运行环境已经相当稳定,它功能丰富,包括了完备的 Android程序的编码、调试、测试和发布功能,其中支持所有 Android应用开发相关技术,包括SQLite,Skia,3D制作,AndroidXML,能够很好的发布Android的应用程序APK包。(3)法律可行性:因为是自主开发设计,所以不会构成侵权,在法律上是可行的。通过以上的可行性分析,将采用Eclipse+AndroidADT+DDMS技术,运用JAVA语言进行系统的开发。系统的需求分析根据分析需求,这个系统必须实现以下的功能:(1)实现简单的数字计算功能。作为计算器,其核心就是加减乘除。(2)能够在手机里面以良好的界面。简单计算器能够给予用户良好的人机互动界面。系统的优势Android是以Linux为核心的手机操作平台,作为一款开放式的操作系统,随着Android的快速发展,如今已允许开发者使用多种编程语言来开发 Android应用程序,而不再是以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢沈阳理工大学
沈阳理工大学课程设计专用纸No沈阳理工大学课程设计专用纸No5迎,成为真正意义上的开放式操作系统。本次课程设计一个简易的计算器。主要了解Activity 的创建和Intent的使用。Intent不仅可以连接两个Activity。而且可以传递数据。下面是整个程序的设计流程。系统的流程图本程序的流程是一个开机画面,开机画面之后就是计算机的主页面了所有这个简单程序的流程图如图2.1所示。本程序的流程是一个开机画面,开机画面之后就是计算机的主页面了所有这个简单程序的流程图如图2.1所示。图2.1程序流程图沈阳理工大学沈阳理工大学课程设计专用纸N0沈阳理工大学课程设计专用纸N06第3章系统详细设计3.1动作Activity参照程序的流程图,设计五个 Activity。分别为进入页面的Activity,和选择运算方式的Activity 。在这里应该注意的是每当创建一个新的 class,就要继承Activity如图3.1所示。.\Jjisuanqi1,闫SimpleCalculatorWAndroid1.6乎AndroidDependenciesJ.Sb―rny,package$,namespace。国AboutActrvityJava■■,1]MamActivityJavaf由ResuftActivily.java图3.1程序所需的Activity3.2布局文件XML相应的,需要在res/layout文件夹中建立3个XML文件来对上述的十个Activity进行布局,如图3.2所示。-kz1-layoutGaboutxml■jnnain.xmiQresult.xml图3.23个XML布局文件总体上所需要的Activity和XM所局文件已经建立完毕,下面开始对进入计算器的Activity进行编写,沈阳理工大学沈阳理工大学课程设计专用纸No73.3Activity的详细设计动作模块中CalculatorActivity.java 的详细代码如下:packagecom.calculator.apk;importandroid.app.Activity;importandroid.content.Intent;importandroid.os.Bundle;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.TextView;publicclassCalculatorActivityextendsActivity{/***又tlayout中各组件进行定义*/Buttonbtn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn0,btnPoint;ButtonbtnJia,btnJian,btnCheng,btnChu;ButtonbtnC,btnE,btnA,btnB;ButtonbtnJieGuo;TextViewtextViewOI;EditTextet;//定义一个float类型,用于数字的运算floatnuml;//定义一个float类型,用于数字的运算floatnum2;@Override沈阳理工大学protectedvoidonCreate(BundlesavedInstanceState){
沈阳理工大学沈阳理工大学课程设计专用纸N08沈阳理工大学课程设计专用纸N08setContentView(R.layout.calculator);//定义一个方法,完成对个组件的初始化init();//设置btn1的监听事件btn1.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//获取EditText中的值Stringnum1=et.getText().toString();//将num1后面连接1,然后再将值赋给EditTextet.setText(num1+1);}});//设置btn2的监听事件btn2.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//获取EditText中的值Stringnum1=et.getText().toString();//将num1后面连接2,然后再将值赋给EditTextet.setText(num1+2);}});//设置btn3的监听事件btn3.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//获取EditText中的值沈阳理工大学Stringnum1=et.getText().toString();
沈阳理工大学沈阳理工大学课程设计专用纸N09//将numl后面连接3,然后再将值赋给 沈阳理工大学课程设计专用纸N09et.setText(num1+3);)});//设置btn4的监听事件btn4.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//获取EditText中的值Stringnum1=et.getText().toString();//将num1后面连接4,然后再将值赋给 EditTextet.setText(num1+4);}});//设置btn5的监听事件btn5.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//获取EditText中的值Stringnum1=et.getText().toString();//将num1后面连接5,然后再将值赋给 EditTextet.setText(num1+5);}});//设置btn6的监听事件btn6.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){沈阳理工大学//获取EditText中的值
沈阳理工大学沈阳理工大学课程设计专用纸No沈阳理工大学课程设计专用纸No10Stringnuml=et.getText().toString();//将numl后面连接6,然后再将值赋给 EditTextet.setText(num1+6);}});//设置btn7的监听事件btn7.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//获取EditText中的值Stringnum1=et.getText().toString();//将num1后面连接7,然后再将值赋给 EditTextet.setText(num1+7);}});//设置btn8的监听事件btn8.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//获取EditText中的值Stringnum1=et.getText().toString();//将num1后面连接8,然后再将值赋给 EditTextet.setText(num1+8);}});沈阳理工大学沈阳理工大学课程设计专用纸Noll//设置btn9的监听事件btn9.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//获取EditText中的值Stringnum1=et.getText().toString();//将num1后面连接9,然后再将值赋给 EditTextet.setText(num1+9);}});//设置btn0的监听事件btn0.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//获取EditText中的值Stringnum1=et.getText().toString();//判断,如果0为首次输入,并且0为首位数字,则将下列按钮设为不可用if(num1.length()<=0){btn1.setEnabled(false);btn2.setEnabled(false);btn3.setEnabled(false);btn4.setEnabled(false);btn5.setEnabled(false);btn6.setEnabled(false);btn7.setEnabled(false);btn8.setEnabled(false);btn9.setEnabled(false);btn0.setEnabled(false);btnJieGuo.setEnabled(false);沈阳理工大学btnJia.setEnabled(false);
沈阳理工大学沈阳理工大学课程设计专用纸No沈阳理工大学课程设计专用纸No12btnJian.setEnabled(false);btnCheng.setEnabled(false);btnChu.setEnabled(false);et.setText("0");}else{EditText//如果0不为第一个数字,则将num1后面连接0,然后再将值赋给et.setText(num1+0);EditText}}});//设置btnPoint 的监听事件btnPoint.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//不论下列按钮可不可用,都将设为可用btn1.setEnabled(true);btn2.setEnabled(true);btn3.setEnabled(true);btn4.setEnabled(true);btn5.setEnabled(true);btn6.setEnabled(true);btn7.setEnabled(true);btn8.setEnabled(true);btn9.setEnabled(true);btn0.setEnabled(true);btnJieGuo.setEnabled(true);btnJia.setEnabled(true);btnJian.setEnabled(true);btnCheng.setEnabled(true);沈阳理工大学沈阳理工大学课程设计专用纸btnChu.setEnabled(true);//获取EditText中的值Stringnum1=et.getText().toString();//此处方法是判断小数点是否存在if(num1.indexOf(".")<0){// 检索"."的index值,如果不存在,返回的是 -1//此处判断小数点是否在字符串的开头if(num1.length()>0){//如果不是在字符串的开头,则将 num1后面连接“.”,然后再将值赋给 EditTextet.setText(num1+".");}else{//如果小数点在字符串的开头,则将EditText的值设为空et.setText("");}}else{//如果小数点在前面的数字中已经出现,则EditText的值不变et.setText(num1);}}});//设置btnC的监听事件btnC.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){btn1.setEnabled(true);btn2.setEnabled(true);btn3.setEnabled(true);btn4.setEnabled(true);btn5.setEnabled(true);btn6.setEnabled(true);btn7.setEnabled(true);沈阳理工大学沈阳理工大学课程设计专用纸No14btn8.setEnabled(true);btn9.setEnabled(true);btn0.setEnabled(true);btnJieGuo.setEnabled(true);btnJia.setEnabled(true);btnJian.setEnabled(true);btnCheng.setEnabled(true);btnChu.setEnabled(true);//清空EditTextet.setText("");//清空TextViewtextView01.setText("");//num1和num2的值归零num1=0;num2=0;}});//设置btnE的监听事件btnE.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//设置一个显式意图,用于CalculatorActivity和AboutActivity之间的跳转Intentintent=newIntent(CalculatorActivity.this,MainActivity.class);startActivity(intent);}});//设置btnJia的监听事件btnJia.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){沈阳理工大学沈阳理工大学课程设计专用纸No15//获取EditText的值Stringnum=et.getText().toString().trim();//判断,如果EditText为空,则将EditText设置为空,如果不为空,则将EditText的值转化为float类型if(num.length()==0){et.setText("");}else{num1=Float.parseFloat(num);}//将符号"+"赋给TextViewtextView01.setText("+");//清空EidtTextet.setText("");}});//设置btnJian的监听事件btnJian.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//获取EditText的值Stringnum=et.getText().toString().trim();//判断,如果EditText为空,则将EditText设置为空,如果不为空,则将EditText的值转化为float类型if(num.length()==0){et.setText("");}else{num1=Float.parseFloat(num);}//将符号"-"赋给TextViewtextView01.setText("-");沈阳理工大学
沈阳理工大学课程设计专用纸No沈阳理工大学课程设计专用纸No16//清空EidtTextet.setText("");)});//设置btnCheng的监听事件btnCheng.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//获取EditText的值Stringnum=et.getText().toString().trim();//判断,如果EditText为空,则将EditText 设置为空,如果不为空,则将EditText的值转化为float类型if(num.length()==0){et.setText("");}else{num1=Float.parseFloat(num);}//将符号"*"赋给TextViewtextView01.setText("*");//清空EidtTextet.setText("");}});//设置btnChu的监听事件btnChu.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//获取EditText的值Stringnum=et.getText().toString().trim();沈阳理工大学
沈阳理工大学课程设计专用纸No沈阳理工大学课程设计专用纸No17//判断,如果EditText为空,则将EditText 设置为空,如果不为空,则将EditText的值转化为float类型if(num.length()==0){et.setText("");}else{num1=Float.parseFloat(num);}//将符号"/"赋给TextViewtextView01.setText("/");//清空EidtTextet.setText("");}});//设置btnJieGuo 的监听事件btnJieGuo.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//获取EditText的值Stringnum22=et.getText().toString().trim();//判断,如果EditText 的值为空,则将EditText 的值设为空,如果不为空,则将EditText的值转化为float类型if(num22.length()<=0){et.setText("");}else{num2=Float.parseFloat(num22);}//获取TextView的值Stringfuhao=textView01.getText().toString().trim();//如果TextView的符号为“+”,将num1和num2相力口,并把值赋给EditTextif("+"==fuhao){沈阳理工大学
沈阳理工大学课程设计专用纸No沈阳理工大学课程设计专用纸No18floatnumjiguol=numl+num2;et.setText(""+numjiguo1);}else//如果TextView的符号为"-",将num1和num2相减,并把值赋给EditTextif("-"==fuhao){floatnumjiguo1=num1-num2;et.setText(""+numjiguo1);}else//如果TextView的符号为“*",将num1和num2相乘,并把值赋给EditTextif("*"==fuhao){floatnumjiguo1=num1*num2;et.setText(""+numjiguo1);}else//如果TextView的符号为“/",将num1和num2相除,并把值赋给 EditTextif("/"==fuhao){floatnumjiguo1=num1/num2;et.setText(""+numjiguo1);}}});//设置btnB的监听事件,此处为这只退格键btnB.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//不论下列按钮是否为可用,都将设置为可用btn1.setEnabled(true);btn2.setEnabled(true);btn3.setEnabled(true);btn4.setEnabled(true);btn5.setEnabled(true);沈阳理工大学
沈阳理工大学课程设计专用纸No沈阳理工大学课程设计专用纸No19btn6.setEnabled(true);btn7.setEnabled(true);btn8.setEnabled(true);btn9.setEnabled(true);btn0.setEnabled(true);btnJieGuo.setEnabled(true);btnJia.setEnabled(true);btnJian.setEnabled(true);btnCheng.setEnabled(true);btnChu.setEnabled(true);//获取EditText的值Stringnum=et.getText().toString().trim();//获彳EEditText的长度intlength=et.length();//判断,如果EditText的长度大于0,则获取length-1 的字符串赋给EditText置EditText为空if(length>0){StringnumRe=num.substring(0,length-1);et.setText(numRe);}else{et.setText("");}}});//设置btnA的监听事件btnA.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//设置一个显式意图,用于CalculatorActivity和AboutActivity之间的跳转沈阳理工大学沈阳理工大学课程设计专用纸No20Intentintent=newIntent(CalculatorActivity.this,AboutActivity.class);startActivity(intent);}});}/*** 定义一个方法,完成对个组件的初始化*/voidinit(){btn1=(Button)findViewById(R.id.btn1);btn2=(Button)findViewById(R.id.btn2);btn3=(Button)findViewById(R.id.btn3);btn4=(Button)findViewById(R.id.btn4);btn5=(Button)findViewById(R.id.btn5);btn6=(Button)findViewById(R.id.btn6);btn7=(Button)findViewById(R.id.btn7);btn8=(Button)findViewById(R.id.btn8);btn9=(Button)findViewById(R.id.btn9);btn0=(Button)findViewById(R.id.btn0);btnPoint=(Button)findViewById(R.id.btnPiont);btnJia=(Button)findViewById(R.id.btnJia);btnJian=(Button)findViewById(R.id.btnJian);btnCheng=(Button)findViewById(R.id.btnCheng);btnChu=(Button)findViewById(R.id.btnChu);btnC=(Button)findViewById(R.id.btnC);btnE=(Button)findViewById(R.id.btnE);btnA=(Button)findViewById(R.id.btnA);btnB=(Button)findViewById(R.id.btnB);btnJieGuo=(Button)findViewById(R.id.btnJieguo);沈阳理工大学沈阳理工大学课程设计专用纸No21et=(EditText)findViewByld(R.id.ed);textView01=(TextView)findViewById(R.id.textView01);}}3.2布局文件XML的详细设计布局文件main.xml编写布局代码如下:<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android"android:orientation="vertical"android:layout_width="f川_parent"android:layout_height="fill_parent"android:background="@drawable/bg_android01"android:gravity="center"><Buttonandroid:layout_width="80px"android:layout_height="80px"android:layout_marginBottom="35px"android:id="@+id/btnshow" android:text ="开始计算"〉</Button></LinearLayout>三个Activity创建完成后,我们需要实现以下动作:在用户打开软件之后,点击“开始计算”,然后跳转到选择运算法则的界面,当用户输入数字点击加减乘除后运算得到结果。由此可见,在整个动作中,需要使用侦听代码来识别用户的操作,然后使用Intent来实现Activity的切换。例如开始界面跳转到主界面:首先在“开始计算”按钮上设置侦听代码如下:button1.setOnClickListener(newbutton1Listener());沈阳理工大学
沈阳理工大学课程设计专用纸No沈阳理工大学课程设计专用纸No22然后开始侦听,当用户点击“开始计算”时,启动Intent来将本界面切换到主界面,在这里需要JAVA中侦听的方法和Intent方法,代码如下classbuttonlListenerimplementsOnClickListener{@OverridepublicvoidonClick(Viewv){//TODOAuto-generatedmethodstub〃生成一个Intent对象Intentintent=newIntent();intent.setClass(jisuanqi.this,Activityone.class);jisuanqi.this.startActivity(intent);}}在这句代码当中intent.setClass(jisuanqi.this,Activityone.class); 是规定了本次跳转是从哪个Activ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
 - 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
 - 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
 - 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
 - 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
 - 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
 - 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
 
最新文档
- 水库道路改建工程商业计划书
 - 页岩气建设项目初步设计
 - 纳米铜粉生产线项目建议书
 - 航空公司年度工作总结
 - 金属屏蔽罩生产线项目建筑工程方案
 - 建筑物基础施工与土壤改良技术
 - 云数据中心项目施工方案
 - 海工装备制造基地项目环境影响报告书
 - 农村公路修复工程材料预算方案
 - 建筑装饰工程成本控制与预算方案
 - (高清版)DBJ∕T 13-278-2025 《福建省电动汽车充电基础设施建设技术标准》
 - 神经源性肠道康复护理
 - 2024年临河区城市道路规划
 - 仲裁发展基金管理办法
 - 全国大学生职业规划大赛《资源与环境经济学》专业生涯发展展示
 - 幼儿园中班健康预防蛔虫教育
 - 学堂在线 人工智能原理 章节测试答案
 - 兵团职工考试试题及答案
 - 学堂在线 日语与日本文化 期末考试答案
 - 电销员工职业规划课件
 - 母婴安全课件
 
            
评论
0/150
提交评论