




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、本章學(xué)習(xí)目標(biāo): 了解Android系統(tǒng)的四大基本組件 了解Android系統(tǒng)的進(jìn)程優(yōu)先級(jí)的變化方式 了解Activity的生命周期中各狀態(tài)的變化關(guān)系 掌握Activity事件回調(diào)函數(shù)的作用和調(diào)用順序 掌握Android應(yīng)用程序的調(diào)試方法和工具4.1 Android組件 Android系統(tǒng)四大組件 (調(diào)用的基本模塊) Activity Android程序的呈現(xiàn)層,顯示可視化的用戶界面,并接收與用戶交互所產(chǎn)生的界面事件 Android應(yīng)用程序可以包含一個(gè)或多個(gè)Activity,一般需要指定一個(gè)程序啟動(dòng)時(shí)顯示的Activity Service Service一般用于沒(méi)有用戶界面,但需要長(zhǎng)時(shí)間在后臺(tái)運(yùn)
2、行的應(yīng)用 可公開(kāi)Service的程序接口,供其他進(jìn)程調(diào)用4.1 Android組件 Android系統(tǒng)四大組件 (調(diào)用的基本模塊) BroadcaseReceiver 用來(lái)接收廣播消息的組件,不包含任何用戶界面 可以啟動(dòng)Activity或者Notification通知用戶接收到重要信息 Notification能夠通過(guò)多種方法提示用戶,包括閃動(dòng)背景燈、震動(dòng)設(shè)備、發(fā)出聲音或在狀態(tài)欄上放置一個(gè)圖標(biāo) ContentProvider 是Android系統(tǒng)提供的一種標(biāo)準(zhǔn)的共享數(shù)據(jù)的機(jī)制,其他程序通過(guò)ContentProvider訪問(wèn)程序的私有數(shù)據(jù) Android系統(tǒng)內(nèi)部提供一些內(nèi)置的ContentPro
3、vider,能夠?yàn)閼?yīng)用程序提供重要的數(shù)據(jù)信息 聯(lián)系人信息 通話記錄4.2 程序生命周期 Android系統(tǒng)的進(jìn)程優(yōu)先級(jí)從高到低分別為: 前臺(tái)進(jìn)程 可見(jiàn)進(jìn)程 服務(wù)進(jìn)程 后臺(tái)進(jìn)程 空進(jìn)程4.2 程序生命周期前臺(tái)進(jìn)程前臺(tái)進(jìn)程是Android系統(tǒng)中最重要的進(jìn)程進(jìn)程中的Activity正在與用戶進(jìn)行交互;Service被Activity調(diào)用,而且這個(gè)Activity正在與用戶進(jìn)行交互;Service正在執(zhí)行聲明周期中的回調(diào)函數(shù),如onCreate()、onStart()或onDestroy();進(jìn)程的BroadcastReceiver正在執(zhí)行onReceive()函數(shù);4.2 程序生命周期 可見(jiàn)進(jìn)程 可
4、見(jiàn)進(jìn)程指部分程序界面能夠被用戶看見(jiàn),卻不在前臺(tái)與用戶交互,不響應(yīng)界面事件的進(jìn)程 如果一個(gè)進(jìn)程包含Service,且這個(gè)Service正在被用戶可見(jiàn)的Activity調(diào)用,此進(jìn)程同樣被視為可見(jiàn)進(jìn)程 服務(wù)進(jìn)程 包含已啟動(dòng)服務(wù)的進(jìn)程 Android系統(tǒng)除非不能保證前臺(tái)進(jìn)程或可視進(jìn)程所必要的資源,否則不強(qiáng)行清除服務(wù)進(jìn)程4.2 程序生命周期 后臺(tái)進(jìn)程 指不包含任何已經(jīng)啟動(dòng)的服務(wù),而且沒(méi)有任何用戶可見(jiàn)的Activity的進(jìn)程 Android系統(tǒng)中一般存在數(shù)量較多的后臺(tái)進(jìn)程 空進(jìn)程 空進(jìn)程是不包含任何活躍組件的進(jìn)程4.2 程序生命周期 優(yōu)先級(jí)決定與變化規(guī)則 進(jìn)程的優(yōu)先級(jí)取決于所有組件中的優(yōu)先級(jí)最高的部分 進(jìn)
5、程的優(yōu)先級(jí)會(huì)根據(jù)與其他進(jìn)程的依賴關(guān)系而變化4.3 Android組件 組件生命周期 所有Android組件都具有自己的生命周期,是從組件建立到組件銷毀的整個(gè)過(guò)程 在生命周期中,組件會(huì)在可見(jiàn)、不可見(jiàn)、活動(dòng)、非活動(dòng)等狀態(tài)中不斷變化4.3 Activity生命周期 Activity生命周期 Activity生命周期指Activity從啟動(dòng)到銷毀的過(guò)程 Activity表現(xiàn)為四種狀態(tài) 活動(dòng)狀態(tài),Activity在用戶界面中處于最上層,完全能不用戶看到,能夠與用戶進(jìn)行交互 暫停狀態(tài),Activity在界面上被部分遮擋,該Activity不再處于用戶界面的最上層,且不能夠與用戶進(jìn)行交互 停止?fàn)顟B(tài),Acti
6、vity在界面上完全不能被用戶看到,也就是說(shuō)這個(gè)Activity被其他Activity全部遮擋 非活動(dòng)狀態(tài),不在以上三種狀態(tài)中的Activity則處于非活動(dòng)狀態(tài)4.3 Activity生命周期 Activity的四種狀態(tài)的變換關(guān)系圖4.3 Activity生命周期 Activity棧 遵循“后進(jìn)先出”的規(guī)則4.3 Activity生命周期 隨著Activity自身狀態(tài)的變化,Android系統(tǒng)會(huì)調(diào)用不同的事件回調(diào)函數(shù) Activity的主要事件回調(diào)函數(shù) 1.public class MyActivity extends Activity 2. protected void onCreate(B
7、undle savedInstanceState);3. protected void onStart();4. protected void onRestart();5. protected void onResume();6. protected void onPause();7. protected void onStop();8. protected void onDestroy();9. 4.3 Activity生命周期 函數(shù) Activity生命周期的事件回調(diào)函數(shù) 函數(shù)函數(shù)是否是否可終止可終止說(shuō)明說(shuō)明onCreate()否Activity啟動(dòng)后第一個(gè)被調(diào)用的函數(shù),常用來(lái)進(jìn)行Acti
8、vity的初始化,例如創(chuàng)建View、綁定數(shù)據(jù)或恢復(fù)信息等。onStart()否當(dāng)Activity顯示在屏幕上時(shí),該函數(shù)被調(diào)用。onRestart()否當(dāng)Activity從停止?fàn)顟B(tài)進(jìn)入活動(dòng)狀態(tài)前,調(diào)用該函數(shù)。onResume()否當(dāng)Activity可以接受用戶輸入時(shí),該函數(shù)被調(diào)用。onPause()否當(dāng)Activity進(jìn)入暫停狀態(tài)時(shí),該函數(shù)被調(diào)用。主要用來(lái)保存持久數(shù)據(jù)、關(guān)閉動(dòng)畫、釋放CPU資源等。該函數(shù)中的代碼必須簡(jiǎn)短,因?yàn)榱硪粋€(gè)Activity必須等待該函數(shù)執(zhí)行完畢后才能顯示在界面上。onStop()是當(dāng)Activity不對(duì)用戶可見(jiàn)后,該函數(shù)被調(diào)用,Activity進(jìn)入停止?fàn)顟B(tài)。onDestr
9、oy()是在Activity被終止前,即進(jìn)入非活動(dòng)狀態(tài)前,該函數(shù)被調(diào)用。有兩種情況該函數(shù)會(huì)被調(diào)用:(1)當(dāng)程序主動(dòng)調(diào)用finish()函數(shù);(2)程序被Android系統(tǒng)終結(jié)。4.3 Activity生命周期 onRestoreInstanceState()和onSaveInstanceState() 不屬于生命周期的事件回調(diào)函數(shù),但可以用于保存和恢復(fù)Activity的界面臨時(shí)信息 onSaveInstanceState()會(huì)將界面臨時(shí)信息保存在Bundle中,onCreate()和onRestoreInstanceState()都可以恢復(fù)這些保存的信息 簡(jiǎn)化的辦法是使用onCreate()
10、恢復(fù),但有些特殊的情況下還是需要使用onRestoreInstanceState()函數(shù)恢復(fù) 必須在界面完全初始化完畢后才能進(jìn)行的操作 或需要由子類來(lái)確定是否采用缺省設(shè)置等函數(shù)函數(shù)說(shuō)明說(shuō)明onSaveInstanceState()暫停或停止Activity前調(diào)用該函數(shù),用以保存Activity的臨時(shí)狀態(tài)信息onRestoreInstanceState()恢復(fù)onSaveInstanceState()保存的Activity狀態(tài)信息。4.3 Activity生命周期 Activity事件回調(diào)函數(shù)的調(diào)用順序 Activity生命周期分類 Activity的生命周期可分為全生命周期、可視生命周期和活動(dòng)
11、生命周期 每種生命周期中包含不同的事件回調(diào)函數(shù)4.3 Activity生命周期 全生命周期 全生命周期是從Activity建立到銷毀的全部過(guò)程,始于onCreate(),結(jié)束于onDestroy() 使用者通常在onCreate()中初始化Activity所能使用的全局資源和狀態(tài),并在onDestroy()中釋放這些資源 在一些極端的情況下,Android系統(tǒng)會(huì)不調(diào)用onDestroy()函數(shù),而直接終止進(jìn)程4.3 Activity生命周期 可視生命周期 可視生命周期是Activity在界面上從可見(jiàn)到不可見(jiàn)的過(guò)程,開(kāi)始于onStart(),結(jié)束于onStop()4.3 Activity生命周期
12、 可視生命周期 onStart() 一般用來(lái)初始化或啟動(dòng)與更新界面相關(guān)的資源 onStop() 一般用來(lái)暫停或停止一切與更新用戶界面相關(guān)的線程、計(jì)時(shí)器和服務(wù) onRestart() 函數(shù)在onSart()前被調(diào)用,用來(lái)在Activity從不可見(jiàn)變?yōu)榭梢?jiàn)的過(guò)程中,進(jìn)行一些特定的處理過(guò)程 onStart()和onStop()會(huì)被多次調(diào)用4.3 Activity生命周期 活動(dòng)生命周期 活動(dòng)生命周期是Activity在屏幕的最上層,并能夠與用戶交互的階段,開(kāi)始于onResume(),結(jié)束于onPause() 在Activity的狀態(tài)變換過(guò)程中onResume()和onPause()經(jīng)常被調(diào)用,因此這兩
13、個(gè)函數(shù)中應(yīng)使用更為簡(jiǎn)單、高效的代碼4.3 Activity生命周期 onPause()和onSaveInstanceState() 這兩個(gè)函數(shù)都可以用來(lái)保存界面的用戶輸入數(shù)據(jù) onPause()一般用于保存持久性數(shù)據(jù),并將數(shù)據(jù)保存在存儲(chǔ)設(shè)備上的文件系統(tǒng)或數(shù)據(jù)庫(kù)系統(tǒng)中的 onSaveInstanceState()主要用來(lái)保存動(dòng)態(tài)的狀態(tài)信息,信息一般保存在Bundle中 Bundle是能夠保存多種格式數(shù)據(jù)的對(duì)象,系統(tǒng)在調(diào)用onRestoreInstanceState()和onCreate()時(shí),會(huì)同樣利用Bundle將數(shù)據(jù)傳遞給函數(shù)4.3 Activity生命周期 活動(dòng)生命周期 下面以Activi
14、tyLifeCycle示例來(lái)進(jìn)行說(shuō)明,ActivityLifeCycle示例的運(yùn)行界面4.3 Activity生命周期 ActivityLifeCycleActivity.java文件的全部代碼 1.package edu.hrbeu.ActivityLifeCycle;2. 3.import android.app.Activity;4.import android.os.Bundle;5.import android.util.Log;6. 7.public class ActivityLifeCycle extends Activity 8. private static String
15、TAG = LIFTCYCLE;9. Override /完全生命周期開(kāi)始時(shí)被調(diào)用,初始化Activity10. public void onCreate(Bundle savedInstanceState) 11. super.onCreate(savedInstanceState);12. setContentView(R.layout.main);13. Log.i(TAG, (1) onCreate();14. 15. 16. Override /可視生命周期開(kāi)始時(shí)被調(diào)用,對(duì)用戶界面進(jìn)行必要的更改 17. public void onStart() 18. super.onStart(
16、);19. Log.i(TAG, (2) onStart();4.3 Activity生命周期20.21. 22. Override /在onStart()后被調(diào)用,用于恢復(fù)onSaveInstanceState()保存的用戶界面信息23. public void onRestoreInstanceState(Bundle savedInstanceState) 24. super.onRestoreInstanceState(savedInstanceState);25. Log.i(TAG, (3) onRestoreInstanceState();26. 27. 28. Override
17、 /在活動(dòng)生命周期開(kāi)始時(shí)被調(diào)用,恢復(fù)被onPause()停止的用于界面更新的資源29. public void onResume() 30. super.onResume();31. Log.i(TAG, (4) onResume();32. 33. 34. Override / 在onResume()后被調(diào)用,保存界面信息35. public void onSaveInstanceState(Bundle savedInstanceState) 4.3 Activity生命周期36. super.onSaveInstanceState(savedInstanceState);37. Log.
18、i(TAG, (5) onSaveInstanceState();38. 39. 40. Override /在重新進(jìn)入可視生命周期前被調(diào)用,載入界面所需要的更改信息41. public void onRestart() 42. super.onRestart();43. Log.i(TAG, (6) onRestart();44. 45. 46. Override /在活動(dòng)生命周期結(jié)束時(shí)被調(diào)用,用來(lái)保存持久的數(shù)據(jù)或釋放占用的資源47. public void onPause() 48. super.onPause();49. Log.i(TAG, “(7) onPause()”);、50.
19、51. 52.Override /在可視生命周期結(jié)束時(shí)被調(diào)用,一般用來(lái)保存持久的數(shù)據(jù)或釋放占用的資源4.3 Activity生命周期 ActivityLifeCycle.java文件的代碼 上面的程序主要通過(guò)在生命周期函數(shù)中添加“日志點(diǎn)”的方法進(jìn)行調(diào)試,程序的運(yùn)行結(jié)果將會(huì)顯示在LogCat中 為了顯示結(jié)果易于觀察和分析,在LogCat設(shè)置過(guò)濾器LifeCycleFilter,過(guò)濾方法選擇by Log Tag,過(guò)濾關(guān)鍵字為L(zhǎng)IFTCYCLE53. public void onStop() 54. super.onStop();55. Log.i(TAG, (8) onStop();56. 57.
20、 58. Override /在完全生命周期結(jié)束時(shí)被調(diào)用,釋放資源,包括線程、數(shù)據(jù)連接等59. public void onDestroy() 60. super.onDestroy();61. Log.i(TAG, (9) onDestroy();62. 63. 4.3 Activity生命周期 全生命周期 啟動(dòng)和關(guān)閉ActivityLifeCycle 的LogCat輸出 啟動(dòng)ActivityLifeCycle 按下模擬器的“返回鍵” 關(guān)閉ActivityLifeCycle LogCat輸出結(jié)果4.3 Activity生命周期 全生命周期 函數(shù)的調(diào)用順序: (1)onCreate (2)on
21、Start (4)onResume (7)onPause (8)onStop (9)onDestroy。4.3 Activity生命周期 可視生命周期 狀態(tài)轉(zhuǎn)換 啟動(dòng)ActivityLifeCycle 按“呼出/接聽(tīng)鍵”啟動(dòng)內(nèi)置的撥號(hào)程序 再通過(guò)“返回鍵”退出撥號(hào)程序 ActivityLifeCycle重新顯示在屏幕中 可視生命周期的LogCat輸出結(jié)果4.3 Activity生命周期 可視生命周期 函數(shù)的調(diào)用順序: (1)onCreate (2)onStart (4)onResume (7)onPause (5)onSaveInstanceState (8)onStop (6)onResta
22、rt (2)onStart (4)onResume4.3 Activity生命周期 可視生命周期 開(kāi)啟IDA的可視生命周期:Dev Tools Development Settings Immediately destroy activities (IDA)下開(kāi)啟IDA4.4 程序調(diào)試 Android系統(tǒng)提供了兩種調(diào)試工具LogCat和DevTools,用于定位、分析及修復(fù)程序中出現(xiàn)的錯(cuò)誤 LogCat LogCat是用來(lái)獲取系統(tǒng)日志信息的工具,并可以顯示在Eclipse集成開(kāi)發(fā)環(huán)境中 功能:能夠捕獲的信息包括Dalvik虛擬機(jī)產(chǎn)生的信息、進(jìn)程信息、ActivityManager信息、Pack
23、agerManager信息、Homeloader 信息、WindowsManager信息、Android運(yùn)行時(shí)信息和應(yīng)用程序信息等4.4 程序調(diào)試4.4.1 LogCat 打開(kāi)方式:Window Show View Other 打開(kāi)Show View的選擇菜單,然后在Andoird LogCat中選擇LogCat4.4 程序調(diào)試 4.4.1 LogCat LogCat打開(kāi)后,便顯示在Eclipse的下方區(qū)域4.4 程序調(diào)試 4.4.1 LogCat LogCat的右上方的五個(gè)字母表示五種不同類型的日志信息 ,級(jí)別依次增高 V:詳細(xì)(Verbose)信息 D:調(diào)試(Debug)信息I:通告(In
24、fo)信息 W:警告(Warn)信息 E :錯(cuò)誤(Error)信息4.4 程序調(diào)試4.4.1 LogCat LogCat提供了“過(guò)濾”功能 在右上角的“+”號(hào)和“-”號(hào),分別是添加和刪除過(guò)濾器。用戶可以根據(jù)日志信息的標(biāo)簽(Tag)、產(chǎn)生日志的進(jìn)程編號(hào)(Pid)或信息等級(jí)(Level),對(duì)顯示的日志內(nèi)容進(jìn)行過(guò)濾4.4 程序調(diào)試4.4.1 LogCat 程序調(diào)試原理 引入android.util.Log包 使用Log.v()、 Log.d()、 Log.i() 、Log.w() 和 Log.e()五個(gè)函數(shù)在程序中設(shè)置“日志點(diǎn)” 當(dāng)程序運(yùn)行到“日志點(diǎn)”時(shí),應(yīng)用程序的日志信息便被發(fā)送到LogCat中,
25、判斷“日志點(diǎn)”信息與預(yù)期的內(nèi)容是否一致,進(jìn)而判斷程序是否存在錯(cuò)誤4.4 程序調(diào)試 4.4.1 LogCat 演示了Log類的具體使用方法1.package edu.hrbeu.LogCat;2.import android.app.Activity;3.import android.os.Bundle;4.4.import import android.util.Logandroid.util.Log; ;5.public class LogCatActivity extends Activity 6.final static String TAG = LOGCAT;7.Override8.p
26、ublic void onCreate(Bundle savedInstanceState) 9.super.onCreate(savedInstanceState);10.setContentView(R.layout.main);11. 12.Log.v(TAG,Verbose);13.Log.d(TAG,Debug);14.Log.i(TAG,Info);15.Log.w(TAG,Warn);16.Log.e(TAG,Error);17.18. 4.4 程序調(diào)試4.4.1 LogCat LogCat工程的運(yùn)行結(jié)果 LogCat對(duì)不同類型的信息使用了不同的顏色加以區(qū)別4.4 程序調(diào)試4.4
27、.1 LogCat 添加過(guò)濾器 單擊“+” 填入過(guò)濾器的名稱:LogcatFilter 設(shè)置過(guò)濾條件為“標(biāo)簽=LOGCAT”4.4 程序調(diào)試 4.4.1 LogCat LogCat過(guò)濾后的輸入結(jié)果 無(wú)論什么類型的日志信息,屬于哪一個(gè)進(jìn)程,只要標(biāo)簽為L(zhǎng)OGCAT,都將顯示在LogcatFilter區(qū)域內(nèi)4.4 程序調(diào)試 4.4.2 DevTools DevTools是用于調(diào)試和測(cè)試的工具 包括了一系列用戶各種用途的小工具:Development Settings、Exception Browser、Google Login Service、Instrumentation、Media Scanne
28、r、Package Browser、Pointer Location、Raw Image Viewer、Running processes和Terminal Emulator4.4 程序調(diào)試4.4.2 DevTools DevTools的使用界面4.4 程序調(diào)試4.4.2 DevTools Development Settings 如果希望啟動(dòng)Development Settings中某項(xiàng)功能,只需要點(diǎn)擊功能前面選擇框出現(xiàn)綠色的“對(duì)號(hào)”表示功能啟用。 功能啟用后,模擬器會(huì)自動(dòng)保存設(shè)置,即使再次啟動(dòng)模擬器用戶的選擇內(nèi)容仍會(huì)存在 4.4 程序調(diào)試 4.4.2 DevTools Developmen
29、t Settings選項(xiàng)選項(xiàng)選項(xiàng)說(shuō)明說(shuō)明Debug App為Wait for debugger選項(xiàng)指定應(yīng)用程序,如果不指定(選擇none),Wait for debugger選項(xiàng)將適用于所有應(yīng)用程序。Debug App可以有效的防止Android程序長(zhǎng)時(shí)間停留在斷點(diǎn)而產(chǎn)生異常。Wait for debugger阻塞加載應(yīng)用程序,直到關(guān)聯(lián)到調(diào)試器(Debugger)。用于在Activity的onCreate()函數(shù)的進(jìn)行斷點(diǎn)調(diào)試。Show running processes在屏幕右上角顯示運(yùn)行中的進(jìn)程。Show screen updates選中該選項(xiàng)時(shí),界面上任何被重繪的矩形區(qū)域會(huì)閃現(xiàn)粉紅色,有
30、利于發(fā)現(xiàn)界面中不必要的重繪區(qū)域。No App Process limit允許同時(shí)運(yùn)行進(jìn)程的數(shù)量上限。Immediately destroy activitiesActivity進(jìn)入停止?fàn)顟B(tài)后立即銷毀,用于測(cè)試在函數(shù) onSaveInstanceState()、onRestoreInstanceState()和onCreate()中的代碼。Show CPU usage在屏幕頂端顯示CPU使用率,上層紅線顯示總的CPU使用率,下層綠線顯示當(dāng)前進(jìn)程的CPU使用率。Show background應(yīng)用程序沒(méi)有Activity顯示時(shí),直接顯示背景面板,一般這種情況僅在調(diào)試時(shí)出現(xiàn)。Show sleep st
31、ate on LED在休眠狀態(tài)下開(kāi)啟LED。 Windows Animation Scale窗口動(dòng)畫模式Transition Animation Scale漸變動(dòng)畫模式Light Hinting提示模式Show GTalk service connection status顯示GTalk服務(wù)連接狀態(tài)。4.4 程序調(diào)試 4.4.2 DevTools Package Browser Package Browser是Android系統(tǒng)中的程序包查看工具,能夠詳細(xì)顯示已經(jīng)安裝到Android系統(tǒng)中的程序信息,包括包名稱、應(yīng)用程序名稱、圖標(biāo)、進(jìn)程、用戶ID、版本、apk文件保存位置和數(shù)據(jù)文件保存位置 進(jìn)
32、一步查看應(yīng)用程序所包含Activity、Service、BroadcastReceiver和Provider的詳細(xì)信息4.4 程序調(diào)試 4.4.2 DevTools 在Package Browser中查看Android keyboard程序的相關(guān)信息4.4 程序調(diào)試4.4.2 DevTools Pointer Location Pointer Location是屏幕點(diǎn)位置查看工具,能夠顯示觸摸點(diǎn)的X軸坐標(biāo)和Y軸坐標(biāo) Pointer Location的使用畫面4.4 程序調(diào)試 4.4.2 DevTools Running processes Running processes能夠查看在Android系統(tǒng)中正在運(yùn)行的進(jìn)程,并能查看進(jìn)程的詳細(xì)信息,包括進(jìn)程名稱和進(jìn)程所調(diào)用的程序包 Andoird模擬器缺省情況下運(yùn)行的進(jìn)程和com.android.phone進(jìn)程的詳細(xì)信息4.4 程序調(diào)試 4.4.2 DevTools Running processe
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年浙江省建筑安全員《B證》考試題庫(kù)
- 《公共政策學(xué)》題庫(kù)及答案 2
- 西安信息職業(yè)大學(xué)《商業(yè)倫理》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024-2025學(xué)年山東省聊城市高唐縣第二中學(xué)高三上學(xué)期12月月考?xì)v史試卷
- 武漢船舶職業(yè)技術(shù)學(xué)院《R語(yǔ)言與數(shù)據(jù)可視化》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南財(cái)經(jīng)工業(yè)職業(yè)技術(shù)學(xué)院《斜視弱視學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025青海省安全員《C證》考試題庫(kù)
- 濰坊理工學(xué)院《經(jīng)濟(jì)統(tǒng)計(jì)學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 臨夏現(xiàn)代職業(yè)學(xué)院《數(shù)字信號(hào)處理A》2023-2024學(xué)年第二學(xué)期期末試卷
- 平頂山學(xué)院《安全類專業(yè)寫作》2023-2024學(xué)年第二學(xué)期期末試卷
- 中醫(yī)藥膳專題講座培訓(xùn)課件
- 物業(yè)消防安全管理培訓(xùn)【共54張課件】
- 空心杯電機(jī)基礎(chǔ)知識(shí)
- DL-T+5839-2021土石壩安全監(jiān)測(cè)系統(tǒng)施工技術(shù)規(guī)范
- 歷年交管12123駕照學(xué)法減分復(fù)習(xí)題庫(kù)帶答案下載
- 人教鄂教版-科學(xué)-三年級(jí)下冊(cè)-知識(shí)點(diǎn)
- 2024-2034年中國(guó)注射用賴氨匹林行業(yè)市場(chǎng)競(jìng)爭(zhēng)格局及投資前景展望報(bào)告
- 供應(yīng)鏈可持續(xù)采購(gòu)實(shí)踐
- 菌菇智慧方艙栽培及食用菌菌包中心生產(chǎn)基地項(xiàng)目可行性研究報(bào)告
- 生物工程畢業(yè)設(shè)計(jì)開(kāi)題報(bào)告
- 園林垃圾處理政策解讀
評(píng)論
0/150
提交評(píng)論