基于安卓的計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于安卓的計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于安卓的計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于安卓的計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于安卓的計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余14頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、安卓應(yīng)用程序設(shè)計(jì)簡(jiǎn)易計(jì)算器的實(shí)現(xiàn)院(系)名稱專業(yè)名稱學(xué)生姓名學(xué)生學(xué)號(hào)課程名稱2016年6月曰1 .系統(tǒng)需求分析Android是以Linux為核心的手機(jī)操作平臺(tái),作為一款開(kāi)放式的操作系統(tǒng),隨著Android的快速發(fā)展,如今已允許開(kāi)發(fā)者使用多種編程語(yǔ)言來(lái)開(kāi)發(fā)Android應(yīng)用程序,而不再是以前只能使用Java開(kāi)發(fā)Android應(yīng)用程序的單一局面,因而受到眾多開(kāi)發(fā)者的歡迎,成為真正意義上的開(kāi)放式操作系統(tǒng)。計(jì)算器通過(guò)算法實(shí)行簡(jiǎn)單的數(shù)學(xué)計(jì)算從而提高了數(shù)學(xué)計(jì)算的效率,實(shí)現(xiàn)計(jì)算器的界面優(yōu)化,使界面更加友好,操作更加方便?;赼ndroid的計(jì)算器的設(shè)計(jì),系統(tǒng)具有良好的界面;必要的交互信息;簡(jiǎn)約美觀的效果。使

2、用人員能快捷簡(jiǎn)單地進(jìn)行操作,即可單機(jī)按鈕進(jìn)行操作,即時(shí)準(zhǔn)確地獲得需要的計(jì)算的結(jié)果,充分降低了數(shù)字計(jì)算的難度和節(jié)約了時(shí)間。2 .系統(tǒng)概要設(shè)計(jì)2.1 計(jì)算器功能概要設(shè)計(jì)根據(jù)需求,符合用戶的實(shí)際要求,系統(tǒng)應(yīng)實(shí)現(xiàn)以下功能:計(jì)算器界面友好,方便使用,具有基本的加、減、乘、除功能,能夠判斷用戶輸入運(yùn)算數(shù)是否正確,支持小數(shù)運(yùn)算,具有清除功能。圖2.1系統(tǒng)功能圖整個(gè)程序基于Android技術(shù)開(kāi)發(fā),除總體模塊外主要分為輸入模塊、顯示模塊以及計(jì)算模塊這三大部分。在整個(gè)系統(tǒng)中總體模塊控制系統(tǒng)的生命周期,輸入模塊部分負(fù)責(zé)讀取用戶輸入的數(shù)據(jù),顯示模塊部分負(fù)責(zé)顯示用戶之前輸入的數(shù)據(jù)以及顯示最終的計(jì)算結(jié)果,計(jì)算模塊部分負(fù)責(zé)

3、進(jìn)行數(shù)據(jù)的運(yùn)算以及一些其他的功能。具體的說(shuō),總體模塊的作用主要是生成應(yīng)用程序的主類(lèi),控制應(yīng)用程序的生命周期。輸入模塊主要描述了計(jì)算器鍵盤(pán)以及鍵盤(pán)的監(jiān)聽(tīng)即主要負(fù)責(zé)讀取用戶的鍵盤(pán)輸入以及響應(yīng)觸屏的按鍵,需要監(jiān)聽(tīng)手機(jī)動(dòng)作以及用指針事件處理方法處理觸屏的單擊動(dòng)作。同時(shí)提供了較為直觀的鍵盤(pán)圖形用戶界面。顯示模塊描述了計(jì)算器的顯示區(qū),即該區(qū)域用于顯示用戶輸入的數(shù)據(jù)以及最終的計(jì)算結(jié)果,同時(shí)負(fù)責(zé)顯示一些其他的信息。計(jì)算模塊則主要描述了計(jì)算器的整體,實(shí)現(xiàn)了計(jì)算器的界面,負(fù)責(zé)計(jì)算用戶輸入數(shù)據(jù),包括加、減、乘、除等各種功能,記憶數(shù)據(jù)的相關(guān)功能,清零的功能。圖2.2三大模塊2.2 輸入模塊設(shè)計(jì)系統(tǒng)如果想完成計(jì)算器中各

4、種功能,首先用戶要能進(jìn)行數(shù)據(jù)輸入,由于是在觸屏手機(jī)上開(kāi)發(fā)計(jì)算器程序,所以要求輸入可以直接使用觸屏進(jìn)行,所以在設(shè)計(jì)的時(shí)候就要充分的考慮這一點(diǎn)。正是由于考慮到這個(gè)特殊的地方,所以在進(jìn)行模塊設(shè)計(jì)中,選擇編寫(xiě)輸入模塊類(lèi)的時(shí)候會(huì)特意選取使用可以支持觸屏輸入的特殊增強(qiáng)型圖形用戶界面類(lèi)。輸入模塊主要的任務(wù)是描述計(jì)算器鍵盤(pán)以及實(shí)現(xiàn)鍵盤(pán)的監(jiān)聽(tīng),即當(dāng)用戶點(diǎn)擊按鍵或者屏幕的時(shí)候監(jiān)聽(tīng)會(huì)去調(diào)用相應(yīng)的處理辦法,本模塊還需要為系統(tǒng)提供一個(gè)較為直觀的鍵盤(pán)圖形用戶界面。輸入模塊的功能圖如圖圖2.3輸入模塊2.3 顯示模塊設(shè)計(jì)作為手機(jī)計(jì)算器系統(tǒng),顯示部分也是必不可少的一部分。沒(méi)有顯示部分就沒(méi)有辦法顯示用戶輸入的數(shù)字是否正確,甚至

5、不能顯示計(jì)算出的結(jié)果,由此可見(jiàn)顯示模塊即包括輸入的部分(因個(gè)人技術(shù)原因不能顯示表達(dá)式的形式)也包括輸出的部分。顯示模塊主要完成的任務(wù)是描述計(jì)算器的顯示區(qū),該區(qū)域用于顯示用戶輸入的數(shù)據(jù)以及最終的計(jì)算結(jié)果和一些其他信息。同時(shí)本模塊還將提供調(diào)用和設(shè)置顯示的具體方法2.4 計(jì)算模塊設(shè)計(jì)系統(tǒng)要完成整個(gè)的計(jì)算器的功能,那么計(jì)算模塊就是整個(gè)系統(tǒng)的重要模塊。沒(méi)有計(jì)算模塊系統(tǒng)就不能順利的完成計(jì)算,就無(wú)法達(dá)到用戶的要求。所以計(jì)算模塊的設(shè)計(jì)也是本次系統(tǒng)設(shè)計(jì)的重點(diǎn)。系統(tǒng)想要能在屏幕上顯示出計(jì)算器的樣子要有整體的布局。在本模塊中要完成布局的具體設(shè)計(jì),使用戶能夠看到整個(gè)計(jì)算器的界面。同時(shí)系統(tǒng)想完成計(jì)算功能必須要處理用戶的

6、輸入,當(dāng)輸入模塊的監(jiān)聽(tīng)傳到計(jì)算模塊中時(shí),計(jì)算模塊就要根據(jù)相應(yīng)的方法進(jìn)行進(jìn)一步的處理。圖2.5計(jì)算模塊3 .設(shè)計(jì)與實(shí)現(xiàn)部分3.1 應(yīng)用程序構(gòu)成Android應(yīng)用程序一般是由Activity>Serviece>ContentProvider>Intent>IntentReceiver>Notification六個(gè)組件構(gòu)成。但并非每一個(gè)Android應(yīng)用程序都包含這六個(gè)組件。(1) Activity(活動(dòng)):應(yīng)用程序的表示層。Activity是Android的基本組件。每一個(gè)activity代表一個(gè)單獨(dú)的屏幕。每一個(gè)activity都是繼承于Activity的獨(dú)立類(lèi)。這

7、個(gè)activity類(lèi)將會(huì)顯示出幾個(gè)Views控件組成的用戶接口,并對(duì)事件作出響應(yīng)。Android使用了Intent,實(shí)現(xiàn)在屏幕與屏幕之間跳轉(zhuǎn)。Activity跳轉(zhuǎn)時(shí)只需要調(diào)用startActivity(IntentmyIntent)方法。然后,系統(tǒng)會(huì)在所有安裝的應(yīng)用程序中定義的IntentFilter中查找,找到最匹配myIntent的Intent對(duì)應(yīng)的activityo新的activity接收到myIntent的通知后,開(kāi)始啟動(dòng)運(yùn)行。當(dāng)startActivity方法被調(diào)用將觸發(fā)解析myIntent的動(dòng)作,這個(gè)機(jī)制提供了兩個(gè)關(guān)鍵的好處:能夠重復(fù)利用從其他組件中以Intent的形式產(chǎn)生的一個(gè)請(qǐng)求

8、和可以在任何時(shí)候被一個(gè)具有相同IntentFilter的新的startActivity取代。(2) Service(服務(wù)):Android應(yīng)用程序的后臺(tái)運(yùn)行組件。Service沒(méi)有用戶界面的程序。服務(wù)組件在后臺(tái)運(yùn)行,它們可以更新數(shù)據(jù)源和可見(jiàn)的Activity,并觸發(fā)Notification。它們被用來(lái)執(zhí)行一些需要在后臺(tái)持續(xù)的常規(guī)處理。例如媒體播放器這個(gè)activity會(huì)使用Context.startService()方法,連接到一個(gè)service上(如果這個(gè)service還沒(méi)有運(yùn)行將啟動(dòng)它)。當(dāng)連接到一個(gè)service之后,我們還可以通過(guò)service提供的接口與它進(jìn)行通訊。(3) Conte

9、ntProvider(內(nèi)容提供器):用來(lái)管理和分享應(yīng)用程序數(shù)據(jù)庫(kù)。ContentProvider是在應(yīng)用程序之間共享數(shù)據(jù)的首選方法。通過(guò)配置ContentProvider允許其他應(yīng)用程序訪問(wèn)存儲(chǔ)的數(shù)據(jù),也可以使用其他應(yīng)用程序提供的ContentProvider來(lái)訪問(wèn)它們存儲(chǔ)的數(shù)據(jù)。Android平臺(tái)也提供了系統(tǒng)自帶的ContentProvider,如聯(lián)系人信息等。(4) Intent(意向):Activity之間的粘合劑。使用Intent,可以在系統(tǒng)范圍內(nèi)向目標(biāo)活動(dòng)或者服務(wù)廣播消息,說(shuō)明希望執(zhí)行某個(gè)動(dòng)作的意圖。之后系統(tǒng)就會(huì)確定那些最適合執(zhí)行動(dòng)作的目標(biāo)。(5) Notification(通知):

10、一種用戶通知框架。通過(guò)允許向用戶發(fā)送信號(hào),而不會(huì)過(guò)分吸引他們的注意力或者打斷他們當(dāng)前的活動(dòng)。它們是服務(wù)或者廣播接收器吸引用戶注意的首選方法。例如,當(dāng)設(shè)備接收到一個(gè)文本消息或者來(lái)電的時(shí)候,它可以通過(guò)閃燈、發(fā)出聲音、顯示圖標(biāo)或則會(huì)顯示對(duì)話框信息的方式提示用戶。(6) IntentReceiver(意向接收器):通過(guò)IntentReceiver實(shí)現(xiàn)應(yīng)用能夠?qū)σ粋€(gè)外部的事件作出響應(yīng),IntentReceiver在AndroidManifest.xml中注冊(cè),但也可以在代碼中使用Context.registerReceiver()進(jìn)行注冊(cè)。當(dāng)一個(gè)intentreceive被觸發(fā)時(shí),應(yīng)用不必對(duì)請(qǐng)求調(diào)用in

11、tentreceive,系統(tǒng)會(huì)在需要的時(shí)候啟動(dòng)你的應(yīng)用。各種應(yīng)用還可以通過(guò)使用Context.broadcastIntent()將它們自己的intentreceive廣播給其他應(yīng)用程序。3.2 功能的具體實(shí)現(xiàn)(1)計(jì)算器布局設(shè)計(jì):分別實(shí)用Button按鈕操作17個(gè)按鈕,分別是+、一、*、/、=、0-9、清除按鈕,以及EditTest的文本域,并通過(guò)代碼布局調(diào)整布局,使布局更加清晰,簡(jiǎn)潔。布局方式如圖所示:代碼實(shí)現(xiàn)如下:<RelativeLayoutandroid"xmlns:android="http:xmlns:tools="android:layout_

12、widthandroid:layout_height="match_parent"="match_parent"android:paddingBottomandroid:paddingLeftandroid:paddingRightandroid:paddingTop="dimen/activity_vertical_margin"="dimen/activity_horizontal_margin"="dimen/activity_horizontal_margin"="dimen/

13、activity_vertical_margin"tools:context=".MainActivity"<EditTextandroid:id="+id/editText1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentRight="true&qu

14、ot;android:layout_alignParentTop="true"android:layout_marginTop="17dp"android:ems="10"/><Buttonandroid:id="+id/button1"android:layout_widthandroid:layout_heightandroid:layout_alignLeftandroid:layout_below="wrap_content"="wrap_content"

15、="+id/editText1"="+id/editText1"android:layout_marginTop="30dpandroid:text="1"/><Buttonandroid:id="+id/button2"android:layout_widthandroid:layout_heightandroid:layout_alignBaselineandroid:layout_alignBottomandroid:layout_toRightOfandroid:text="

16、2"/>="wrap_content"="wrap_content"="+id/button1"="+id/button1"="+id/button1"<Buttonandroid:id="+id/button3"android:layout_widthandroid:layout_heightandroid:layout_alignBaselineandroid:layout_alignBottomandroid:layout_toRightOfand

17、roid:text="3"/>="wrap_content"="wrap_content"="+id/button2"="+id/button2"="+id/button2"<Buttonandroid:id="+id/button4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_

18、alignParentLeft="true"android:layout_below="+id/button1"android:text="4"/><Buttonandroid:id="+id/button5"android:layout_width="wrap_content"android:layout_heightandroid:layout_alignBaseline="wrap_content"="+id/button4"="

19、;+id/button4"="+id/button2"android:layout_alignBottomandroid:layout_alignLeftandroid:text="5"/>="wrap_content"="wrap_content"<Buttonandroid:id="+id/button6"android:layout_widthandroid:layout_heightandroid:layout_below="+id/button3&quo

20、t;android:text="6"/><Buttonandroid:id="+id/button7"android:layout_widthandroid:layout_heightandroid:layout_belowandroid:layout_toLeftOf="wrap_content"="wrap_content"="+id/button4"="+id/button5"android:text="7"/><Button

21、android:id="+id/button8"android:layout_widthandroid:layout_heightandroid:layout_alignBaselineandroid:layout_alignBottomandroid:layout_alignLeft="wrap_content"="wrap_content"="+id/button7"="+id/button7"="+id/button5"android:text="8"

22、;/><Buttonandroid:id="+id/button9"android:layout_width="wrap_content"android:layout_heightandroid:layout_alignBaselineandroid:layout_alignBottomandroid:layout_toRightOf="wrap_content"="+id/button8"="+id/button8"="+id/button5"android:t

23、ext="9"/><Buttonandroid:id="+id/button10"android:layout_widthandroid:layout_heightandroid:layout_alignLeftandroid:layout_below="wrap_content"="wrap_content"="+id/button7"="+id/button7"android:text="0"/><Buttonandroid:i

24、d="+id/button11"android:layout_width="wrap_content"android:layout_heightandroid:layout_belowandroid:layout_toRightOf="wrap_content"="+id/button7"="+id/button7"<Buttonandroid:id="+id/button12="+id/button13"="wrap_content"an

25、droid:layout_widthandroid:layout_heightandroid:layout_alignBaselineandroid:layout_alignBottomandroid:layout_alignLeftandroid:text="="/><Buttonandroid:idandroid:layout_widthandroid:layout_heightandroid:layout_alignBottomandroid:layout_toRightOfandroid:text="+"/>="wra

26、p_content"="wrap_content"="+id/button11="+id/button11"="+id/button9"="wrap_content"="+id/button3"="+id/button3"<Buttonandroid:id="+id/button14"android:layout_widthandroid:layout_heightandroid:layout_alignBaselineandro

27、id:layout_alignBottomandroid:layout_toRightOfandroid:text="-"/>="wrap_content"="wrap_content"="+id/button6"="+id/button6"="+id/button6"<Buttonandroid:id="+id/button15"android:layout_width="wrap_content"android:layo

28、ut_heightandroid:layout_aboveandroid:layout_alignLeft="wrap_content"="+id/button12"="+id/button14"android:text=,*,/>="wrap_content"="wrap_content"="+id/button9"="+id/button9"<Buttonandroid:id="+id/button16android:layout

29、_widthandroid:layout_heightandroid:layout_belowandroid:layout_toRightOfandroid:text="/"/><Buttonandroid:layout_widthandroid:layout_heightandroid:layout_alignRightandroid:layout_below="match_parent"="wrap_content"="+id/button16="+id/button11"android:

30、text="清除,/></RelativeLayout(2)計(jì)算功能實(shí)現(xiàn)加法實(shí)現(xiàn):從editTest中獲取數(shù)字賦值于num1,等待數(shù)字num2的輸入。代碼如下:caseR.id.button13edit.getText().toString();Stringmystringadd=if(mystringadd.equals(null)returnnum1=Double.valueOf(mystringadd);edit.setText(null);op=1;isClickEqu=false;break;減法實(shí)現(xiàn)、乘法實(shí)現(xiàn)、除法實(shí)現(xiàn)和加法實(shí)現(xiàn)大體相同,但是op的賦值不同分別

31、是2、3、4。然后進(jìn)行等號(hào)的計(jì)算實(shí)現(xiàn),在同時(shí)記錄下文本中的num2的數(shù)值,然后設(shè)置switch方法,case中op的值分別為1、2、3、4代表的分別加、減、乘、除。然后由I(據(jù)case選項(xiàng)進(jìn)行相應(yīng)的加、減、乘、除運(yùn)算,代碼實(shí)現(xiàn)如下所示:caseR.id.button12:/等號(hào),算法實(shí)現(xiàn)StringmyStringeq=edit.getText().toString();if(myStringeq.equals(null)returnnum2=Double.valueOf(myStringeq);edit.setText(null);switch(op)case0:Result=num2;br

32、eak;case 1:Result=num1+num2;break;case 2:Result=num1-num2;break;case 3:Result=num1*num2;break;case 4:Result=numl/num2;break;)edit.setText(String.valueOf(Result);isClickEqu=true;break;)4 .運(yùn)行界面截圖運(yùn)行結(jié)果界面:SSunGuoDong除法:20除以4的結(jié)果'>SunGuoOorig乘法3.89乘以1.2的結(jié)果X*4:29減法3.6減去0.6:SunGuoDong除數(shù)為零:點(diǎn)擊清除之后的效果iRS

33、unGuoDong,l:S2嗝SunGuoDong5 .核心代碼importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.Menu;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.Toast;publicclassMainActivityextendsActivityimplem

34、entsOnClickListenerButtonbutton1,button2,button3,button4,button5,button6,button7,button8;Buttonbutton9,button10,button11,button12,button13,button14,button15,button16,button17;EditTextedit=null;doublenum1=0,num2=0,Result=0;booleanisClickEqu=false;intop=0;OverrideprotectedvoidonCreate(BundlesavedInsta

35、nceState)super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button1=(Button)this.findViewById(R.id.button1);button2=(Button)this.findViewById(R.id.button2);button3=(Button)this.findViewById(R.id.button3);button4=(Button)this.findViewById(R.id.button4);button5=(Button)this.find

36、ViewById(R.id.button5);button6=(Button)this.findViewById(R.id.button6);button7=(Button)this.findViewById(R.id.button7);button8=(Button)this.findViewById(R.id.button8);button9=(Button)this.findViewById(R.id.button9);button10=(Button)this.findViewById(R.id.button10);button11=(Button)this.findViewById(

37、R.id.button11);button12=(Button)this.findViewById(R.id.button12);button13=(Button)this.findViewById(R.id.button13);button14=(Button)this.findViewById(R.id.button14);button15=(Button)this.findViewById(R.id.button15);button16=(Button)this.findViewById(R.id.button16);button17=(Button)this.findViewById(

38、R.id.button17);edit=(EditText)findViewById(R.id.editText1);button1.setOnClickListener(this);button2.setOnClickListener(this);button3.setOnClickListener(this);button4.setOnClickListener(this);button5.setOnClickListener(this);button6.setOnClickListener(this);button7.setOnClickListener(this);button8.se

39、tOnClickListener(this);button9.setOnClickListener(this);button10.setOnClickListener(this);button11.setOnClickListener(this);button12.setOnClickListener(this);button13.setOnClickListener(this);button14.setOnClickListener(this);button15.setOnClickListener(this);button16.setOnClickListener(this);button

40、17.setOnClickListener(this);OverridepublicbooleanonCreateOptionsMenu(Menumenu)/Inflatethemenu;thisaddsitemstotheactionbarifitispresent.getMenuInflater().inflate(R.menu.main,menu);returntrue;OverridepublicvoidonClick(Viewv)/TODOAuto-generatedmethodstub"已經(jīng)清除",switch(v.getId()caseR.id.button1

41、7:edit.setText(null);Toast.makeText(MainActivity.this,Toast.LENGTH_LONG).show();break;caseR.id.button1:if(isClickEqu)edit.setText(null);isClickEqu=false;)StringmyString1=edit.getText().toString();myString1+="1"edit.setText(myString1);break;caseR.id.button2:if(isClickEqu)edit.setText(null);

42、isClickEqu=false;)StringmyString2=edit.getText().toString();myString2+="2"edit.setText(myString2);break;caseR.id.button3:if(isClickEqu)edit.setText(null);isClickEqu=false;)StringmyString3=edit.getText().toString();myString3+="3"edit.setText(myString3);break;caseR.id.button4:if(is

43、ClickEqu)edit.setText(null);isClickEqu=false;)StringmyString4=edit.getText().toString();myString4+="4"edit.setText(myString4);break;caseR.id.button5:if(isClickEqu)edit.setText(null);isClickEqu=false;)StringmyString5=edit.getText().toString();myString5+="5"edit.setText(myString5);

44、break;caseR.id.button6:if(isClickEqu)edit.setText(null);isClickEqu=false;)StringmyString6=edit.getText().toString();myString6+="6"edit.setText(myString6);break;caseR.id.button7:if(isClickEqu)edit.setText(null);isClickEqu=false;)StringmyString7=edit.getText().toString();myString7+="7&q

45、uot;edit.setText(myString7);break;caseR.id.button8:if(isClickEqu)edit.setText(null);isClickEqu=false;)StringmyString8=edit.getText().toString();myString8+="8"edit.setText(myString8);break;caseR.id.button9:if(isClickEqu)edit.setText(null);isClickEqu=false;)StringmyString9=edit.getText().toString();myString9+="9"edit.setTex

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論