




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
應(yīng)用項(xiàng)目的任務(wù)、進(jìn)程和線程任務(wù),進(jìn)程,線程應(yīng)用項(xiàng)目生命周期生命周期,Activity中的生命周期方法應(yīng)用項(xiàng)目的界面控制概述界面控件描述,控件交互控制目錄CONTENTS010203組件間的通信Intent,IntentFilter04Android應(yīng)用的控制機(jī)制第3章用戶界面狀態(tài)保存SharedPreferences,Bundle05應(yīng)用項(xiàng)目的界面控制概述PART.01界面控制概述在Android中,每一個(gè)Activity就是一個(gè)單獨(dú)的屏幕顯示。Activity中的內(nèi)容在屏幕上的顯示稱作用戶界面(UserInterface,UI)。
用戶界面UI用戶界面中可顯示的內(nèi)容有很多,如文本框、按鈕、列表框、圖片、進(jìn)度條等,這些用戶界面元素被稱為控件。大部分控件是可見(jiàn)的。在Android中,所有的可視控件都繼承自View類??丶iew界面控制概述
Activity中控件的繪制,既可以使用XML文件描述,也可以通過(guò)成員方法在Java代碼中動(dòng)態(tài)設(shè)置。本著MVC的設(shè)計(jì)思想,推薦使用XML文件來(lái)描述界面的布局。使用XML聲明法來(lái)描述應(yīng)用項(xiàng)目的可視控件及其控件屬性的信息,此文件稱為布局文件。
每一個(gè)Activity對(duì)應(yīng)一個(gè)布局文件,所有布局文件都存放在應(yīng)用項(xiàng)目目錄下的“res/layout”子目錄內(nèi)。
布局文件
實(shí)現(xiàn)Activity類使用Java代碼。在代碼文件中定義Activity的顯示時(shí)機(jī),以及顯示、退出時(shí)Activity狀態(tài)信息的保存與恢復(fù),用戶交互操作時(shí)各控件的事件響應(yīng)等控制邏輯。類實(shí)現(xiàn)代碼一個(gè)Activity可以啟動(dòng)另外一個(gè)Activity,實(shí)現(xiàn)方法是把請(qǐng)求信息放到一個(gè)Intent對(duì)象里,并把它傳遞給startActivity()。Intent任務(wù)、進(jìn)程和線程PART.02任務(wù)完成用戶的一個(gè)目的的所有Activity組成一個(gè)任務(wù),Android系統(tǒng)用一個(gè)任務(wù)棧來(lái)記錄一個(gè)任務(wù)。任務(wù)是一組以棧的模式將這些Activity組件聚集在一起的集合,這個(gè)棧稱作任務(wù)棧(TaskStack)。任務(wù)棧只有在棧頂?shù)腁ctivity,才會(huì)有機(jī)會(huì)與用戶進(jìn)行交互。
新加入的Activity組件,位于棧頂。當(dāng)棧頂?shù)腁ctivity完成使命時(shí),任務(wù)將其退棧,并讓下一個(gè)Activity跑到棧頂與用戶面對(duì)面,直至棧中再無(wú)Activity,任務(wù)結(jié)束。工作原理進(jìn)程進(jìn)程(process)是低級(jí)核心處理過(guò)程。當(dāng)某個(gè)組件第一次運(yùn)行的時(shí)候,Android就啟動(dòng)了一個(gè)進(jìn)程。默認(rèn)情況下,所有的組件和程序運(yùn)行在這個(gè)進(jìn)程和線程中。
組件運(yùn)行的進(jìn)程由Androidmanifest文件控制,組件的元素都包含一個(gè)process屬性,這個(gè)屬性就是設(shè)置組件運(yùn)行的進(jìn)程。進(jìn)程在Android操作系統(tǒng)中,進(jìn)程是應(yīng)用項(xiàng)目的具體實(shí)現(xiàn),它們的主要用途是:改善穩(wěn)定性、安全性,通過(guò)把未信任或者不穩(wěn)定的代碼放入獨(dú)立的進(jìn)程的方法中。簡(jiǎn)化在同一進(jìn)程中多個(gè).apk文件的運(yùn)行。有助于系統(tǒng)管理資源,通過(guò)把重量級(jí)代碼放入獨(dú)立的進(jìn)程,當(dāng)進(jìn)度被殺掉時(shí),與程序的其他部分無(wú)關(guān)。進(jìn)程作用前臺(tái)進(jìn)程可見(jiàn)進(jìn)程服務(wù)進(jìn)程后臺(tái)進(jìn)程擁有一個(gè)正在與用戶交互的Activity。擁有一個(gè)綁定到正在與用戶交互的Activity上的Service。擁有一個(gè)前臺(tái)運(yùn)行的Service。擁有一個(gè)正執(zhí)行其生命周期回調(diào)方法的Service。擁有正在執(zhí)行其onReceive()方法的BroadcastReceiver。擁有一個(gè)不在前臺(tái)但仍可見(jiàn)的Activity。一個(gè)可視的Activity所綁定的Service。有一個(gè)由startService()方法啟動(dòng)的Service。支持正在處理的不需要可見(jiàn)界面運(yùn)行的Service。一個(gè)進(jìn)程擁有一個(gè)當(dāng)前不可見(jiàn)的Activity。目前沒(méi)有服務(wù)的Service??者M(jìn)程不擁有任何Active組件??者M(jìn)程是為了提高下一次運(yùn)行它時(shí)的啟動(dòng)速度。進(jìn)程分類一般不會(huì)被殺死極端情況下才被殺死任意時(shí)刻可被殺死已被殺死不可被殺死線程每個(gè)進(jìn)程有一到多個(gè)線程運(yùn)行在其中。進(jìn)程中的所有組件都在UI線程(用戶界面線程)中實(shí)例化。線程通過(guò)Java的標(biāo)準(zhǔn)對(duì)象Thread創(chuàng)建。線程不要阻塞UI線程。如果在UI線程中執(zhí)行阻塞或者耗時(shí)操作會(huì)導(dǎo)致UI線程無(wú)法響應(yīng)用戶請(qǐng)求。不能在非UI線程(也稱為工作線程)中更新UI。這是因?yàn)锳ndroid的UI控件都是線程不安全的。線程編程準(zhǔn)則應(yīng)用項(xiàng)目生命周期PART.0302040103當(dāng)Activity處于Paused或者Stopped狀態(tài),該Activity被系統(tǒng)將從內(nèi)存中刪除時(shí)銷毀狀態(tài)Destroyed當(dāng)Activity失去焦點(diǎn),但是依然可見(jiàn)時(shí)暫停狀態(tài)Paused在Activity啟動(dòng)之后并獲得焦點(diǎn),與用戶進(jìn)行交互時(shí)運(yùn)行狀態(tài)Running當(dāng)Activity被新的Activity完全覆蓋,并不可見(jiàn)時(shí)停止?fàn)顟B(tài)StoppedActivity生命周期狀態(tài)05當(dāng)Activity被壓入棧頂,顯示在屏幕的前臺(tái)時(shí)啟動(dòng)狀態(tài)StartingActivity生命周期狀態(tài)啟動(dòng)狀態(tài)運(yùn)行狀態(tài)
暫停狀態(tài)停止?fàn)顟B(tài)銷毀狀態(tài)Activity首次被創(chuàng)建被Dialog或者透明的Activity覆蓋被另一個(gè)Activity
覆蓋,不可見(jiàn)被覆蓋的Activity返回被重新激活系統(tǒng)內(nèi)存不足,被回收系統(tǒng)內(nèi)存嚴(yán)重不足,被回收發(fā)生異?;蚱渌闆rActivity新實(shí)例啟動(dòng)Activity生命周期回調(diào)方法方法說(shuō)明下一個(gè)被調(diào)用的方法onCreate()在Activity第一次被創(chuàng)建的時(shí)候調(diào)用。在此做所有初始化設(shè)置,如創(chuàng)建視圖、綁定數(shù)據(jù)至列表等。onStart()onRestart()在Activity停止后,在再次啟動(dòng)之前被調(diào)用。onStart()onStart()當(dāng)Activity變?yōu)橛脩艨梢?jiàn)之前被調(diào)用。onResume()或onStop()onResume()在Activity開(kāi)始與用戶進(jìn)行交互之前被調(diào)用。此時(shí)Activity位于堆棧頂部,并接受用戶輸入。onPause()onPause()當(dāng)系統(tǒng)將要啟動(dòng)另一個(gè)Activity時(shí)調(diào)用。此方法主要用來(lái)將未保存的變化進(jìn)行持久化,停止動(dòng)畫和其他耗費(fèi)CPU的動(dòng)作等。onResume()或onStop()onStop()當(dāng)Activity不再為用戶可見(jiàn)時(shí)調(diào)用此方法。這可能發(fā)生在它被銷毀或者另一個(gè)Activity(可能是現(xiàn)存的或者是新的)回到運(yùn)行狀態(tài)并覆蓋了它。onRestart()或onDestroy()onDestroy()在Activity銷毀前調(diào)用。這是Activity接收的最后一個(gè)調(diào)用。這可能發(fā)生在Activity結(jié)束(調(diào)用了它的finish()方法)或者因?yàn)橄到y(tǒng)需要空間所以臨時(shí)銷毀了此Acitivity的實(shí)例時(shí)?!猳nSaveInstanceState(Bundle),調(diào)用該方法讓Activity可以保存每個(gè)實(shí)例的狀態(tài)。接下來(lái)調(diào)用onPause()或onStop()。onRestoreInstanceState(Bundle),使用了前一方法保存狀態(tài),現(xiàn)在要重新初始化本Activity時(shí)調(diào)用該方法。接下來(lái)調(diào)用onResume()。Activity生命周期狀態(tài)與回調(diào)方法ActivitylaunchedActivityrunningActivityshutdownonCreate()AppprocesskilledonStart()onResume()
onRestart()onPause()onStop()onDestroy()用戶返回到該Activity用戶導(dǎo)航到該Activity用戶導(dǎo)航到該Activity另一個(gè)Activity被推送到前臺(tái)該Activity不再可見(jiàn)該Activity已完成或正在被系統(tǒng)銷毀優(yōu)先級(jí)更高的App需要內(nèi)存Activity生命周期回調(diào)方法如果有兩個(gè)Activity分別為ActivityA、ActivityB,依次進(jìn)行下列操作,Android的生命周期方法調(diào)用的情況如下。多個(gè)Ativity生命周期方法的調(diào)用順序先啟動(dòng)ActivityA,方法回調(diào)的次序是:onCreate(A)→onStart(A)→onResume(A)
ActivityA不關(guān)閉,跳轉(zhuǎn)第二個(gè)ActivityB,方法回調(diào)的次序是:onPause(A)→onCreate(B)→onStart(B)→onResume(B)→onStop(A)
在ActivityB上單擊返回鍵后,回到ActivityA,方法回調(diào)的次序是:
onPause(B)→onActivityforResult(A)→onRestart(A)→onStart(A)→onResume(A)→onStop(B)→onDestroy(B)在ActivityA上單擊退出鍵退出應(yīng)用時(shí),方法回調(diào)的次序是:onPause(A)→onStop(A)→onDestroy(A)
組件間的通信PART.04Intent
Intent類都定義在android.content.Intent。一個(gè)Intent對(duì)象(IntentObjects)其實(shí)就是一堆信息的捆綁,Intent對(duì)象由組件名稱、動(dòng)作、數(shù)據(jù)、類別、附加信息及標(biāo)志6部分組成。組件名稱(Componentname):是指要處理該Intent的組件名字。組件名字可選,指定組件名稱為顯式意圖;不指定組件名稱為隱式意圖。動(dòng)作(Action):是一個(gè)將被執(zhí)行的動(dòng)作的字符串命名;或者對(duì)于廣播意圖而言,是發(fā)生并被報(bào)告的動(dòng)作。數(shù)據(jù)(Data):是為動(dòng)作提供要操作的信息,用指向數(shù)據(jù)的一個(gè)資源標(biāo)識(shí)符(URI)來(lái)表示。類別(Category):是關(guān)于Intent中action要執(zhí)行的動(dòng)作的附加描述,它是一個(gè)字符串。附加信息(Extra):是要遞交給Intent處理組件的附加信息鍵-值對(duì)。標(biāo)志(Flag):是各種類型的標(biāo)志。該標(biāo)志用來(lái)指示Android系統(tǒng)如何去加載一個(gè)Activity和啟動(dòng)后如何對(duì)待它。Intent對(duì)象IntentIntent對(duì)象的動(dòng)作常量,由大寫英文單詞和下劃線組成常量目標(biāo)組件含義ACTION_CALLActivity撥打電話,被呼叫的聯(lián)系人在數(shù)據(jù)中指定ACTION_EDITActivity顯示數(shù)據(jù)給用戶進(jìn)行編輯ACTION_GET_CONTENTActivity讓用戶選擇數(shù)據(jù)并返回ACTION_INSERTActivity在容器中插入一個(gè)空項(xiàng)ACTION_MAINActivity啟動(dòng)一個(gè)任務(wù)的起始Activity,沒(méi)有數(shù)據(jù)輸入和數(shù)據(jù)返回ACTION_PICKActivity從數(shù)據(jù)中選擇一個(gè)子項(xiàng)目,并返回所選中的項(xiàng)目ACTION_BATTERY_LOWBroadcastReceiver提示電池電量低ACTION_SCREEN_ONBroadcastReceiver屏幕已開(kāi)啟ACTION_HEADSET_PLUGBroadcastReceiver耳機(jī)插拔ACTION_TIMEZONE_CHANGEDBroadcastReceiver時(shí)區(qū)變化Intent數(shù)據(jù)的一個(gè)資源標(biāo)識(shí)符(URI)來(lái)表示。URI的格式為“scheme://host:port/path”。不同的動(dòng)作伴隨著不同種類的數(shù)據(jù)規(guī)格,這個(gè)數(shù)據(jù)類型可以從URI里推斷出來(lái)。Intent數(shù)據(jù)與動(dòng)作相關(guān)如果動(dòng)作是ACTION_EDIT,數(shù)據(jù)字段會(huì)包含可編輯文檔的URI。如果動(dòng)作是ACTION_CALL,數(shù)據(jù)字段會(huì)是一個(gè)含呼叫電話號(hào)碼的URI。獲取一個(gè)URI的語(yǔ)句格式為:Uriuri=Uri.parse(<字符串>);例如,在Java代碼中,獲取指向1號(hào)聯(lián)系人的URI,語(yǔ)句為:
Uriuri1=Uri.parse("content://contacts/1");IntentIntent對(duì)象的類別定義了若干類別常量常量含義CATEGORY_ALTERNATIVE在某種數(shù)據(jù)類型的項(xiàng)目上可以替代默認(rèn)執(zhí)行的動(dòng)作。例如,一個(gè)聯(lián)系人的默認(rèn)動(dòng)作是瀏覽它,替代的可能是去編輯或刪除它CATEGORY_BROWSABLE目標(biāo)Activity可以被瀏覽器安全地喚起來(lái)顯示被一個(gè)鏈接所引用的數(shù)據(jù)。例如,一張圖片或一條E-mail消息CATEGORY_DEFAULT設(shè)置這個(gè)類別來(lái)讓組件成為Intent過(guò)濾器中定義的data的默認(rèn)動(dòng)作。這對(duì)使用顯式Intent啟動(dòng)的Activity來(lái)說(shuō)也是必要的CATEGORY_HOME這個(gè)Activity將顯示桌面,也就是用戶開(kāi)機(jī)后看到的第一個(gè)屏幕或者按HOME鍵時(shí)看到的屏幕CATEGORY_LAUNCHER這個(gè)Activity可以是一個(gè)任務(wù)的初始Activity,并被列在應(yīng)用項(xiàng)目啟動(dòng)器的頂層CATEGORY_PREFERENCE目標(biāo)Activity是一個(gè)選擇面板Intent創(chuàng)建一個(gè)Intent對(duì)象的語(yǔ)句格式為:Intentintent=newIntent(<動(dòng)作>,<內(nèi)容>);Intent對(duì)象創(chuàng)建方法設(shè)置Intent對(duì)象的動(dòng)作:通過(guò)setAction()方法。指定Intent對(duì)象的數(shù)據(jù):通過(guò)setData()方法指定一個(gè)URI數(shù)據(jù);通過(guò)setType()方法指定MIME;通過(guò)setDataAndType()方法可同時(shí)指定URI和MIME數(shù)據(jù)。添加Intent對(duì)象的類別:通過(guò)addCategory()方法。添加Intent對(duì)象的附加數(shù)據(jù):通過(guò)putExtras()和getExtras()方法來(lái)插入和讀取附加數(shù)據(jù)。IntentFilter過(guò)濾器描述組件的一個(gè)能力,它通知系統(tǒng)哪些組件可以處理哪些Intent。一系列組件想要接收的Intent,實(shí)際上按照一個(gè)期望的類型來(lái)進(jìn)行Intent濾入,同時(shí)濾出不想要的Intent。注意:IntentFilter只針對(duì)隱式意圖起作用。IntentFilter在Android系統(tǒng)中,可以用Java代碼來(lái)設(shè)置IntentFilter類的一個(gè)實(shí)例,但是在更多情況下,是在AndroidManifest.xml清單文件中設(shè)置<intent-filter>元素。IntentFilter創(chuàng)建方法Intent解析一個(gè)組件沒(méi)有任何的意圖過(guò)濾器,那它只能接收顯式意圖。一個(gè)帶過(guò)濾器的組件可以同時(shí)接收顯式和隱式意圖。當(dāng)一個(gè)Intent對(duì)象被一個(gè)意圖過(guò)濾器測(cè)試時(shí),一般是通過(guò)對(duì)動(dòng)作、數(shù)據(jù)(URI和MIME)和類別三個(gè)方面進(jìn)行監(jiān)測(cè)的。通過(guò)比較Intent對(duì)象的內(nèi)容和意圖過(guò)濾器,找到相匹配的目標(biāo)組件。組件與IntentFilterIntent解析一個(gè)Intent只能設(shè)置一種Action;一個(gè)IntentFilter卻可以設(shè)置多個(gè)Action過(guò)濾。當(dāng)IntentFilter設(shè)置了多個(gè)Action過(guò)濾時(shí),只需一個(gè)滿足即可完成Action驗(yàn)證。檢查Action包括:對(duì)數(shù)據(jù)的URI進(jìn)行監(jiān)測(cè);對(duì)數(shù)據(jù)的類型進(jìn)行監(jiān)測(cè)。只有這些信息完全匹配時(shí),Data的驗(yàn)證才會(huì)成功。檢查Data在IntentFilter中同樣可以設(shè)置多個(gè)Category。當(dāng)Intent中的Category與IntentFilter中的一個(gè)Category完全匹配時(shí),此Category驗(yàn)證通過(guò)。檢查Category一個(gè)隱式意圖為了遞交到擁有這個(gè)過(guò)濾器的組件,它必須全部通過(guò)以下三項(xiàng)測(cè)試。如果即使只有一個(gè)不通過(guò),Android系統(tǒng)都不會(huì)把它遞交給這個(gè)組件。Intent應(yīng)用案例在兩個(gè)Activity組件中都使用按鈕控件,在布局文件中,需要聲明按鈕控件。如果僅從ActivityA跳轉(zhuǎn)到ActivityB,使用startActivity()方法;如果ActivityA跳轉(zhuǎn)到ActivityB,然后從ActivityB返回到ActivityA,且需要傳遞數(shù)據(jù)時(shí),則使用startActivityForResult()方法。兩個(gè)Activity相互調(diào)用,在創(chuàng)建Intent對(duì)象時(shí)最好用顯式的。在ActivityA中,使用startActivityForResult()方法發(fā)送Intent給ActivityB,重寫onActivityResult()方法用于處理返回的數(shù)據(jù);在ActivityB中,使用setResut()方法準(zhǔn)備好回傳數(shù)據(jù),使用finish()的方法來(lái)將打包好的數(shù)據(jù)回傳給ActivityA;返回到ActivityA后系統(tǒng)會(huì)自動(dòng)執(zhí)行A中的onActivityResult()方法。設(shè)計(jì)思路【案例3.1】設(shè)計(jì)兩個(gè)Activity:MainActivity和SubActivity。MainActivity為首次進(jìn)行的Activity,其中有個(gè)按鈕,單擊該按鈕可跳轉(zhuǎn)到SubActivity上,并且在標(biāo)題欄顯示跳轉(zhuǎn)信息;SubActivity上也有一個(gè)按鈕,單擊該按鈕可以返回到MainActivity上,且在標(biāo)題欄顯示跳轉(zhuǎn)返回信息。如此循環(huán)往復(fù)。Intent應(yīng)用案例運(yùn)行結(jié)果在AndroidStudio的模擬器上運(yùn)行。首次運(yùn)行項(xiàng)目,標(biāo)題欄會(huì)顯示“首次進(jìn)入主頁(yè)面!”的內(nèi)容,如圖(a)所示。在主Activity中,單擊“跳轉(zhuǎn)到下一頁(yè)”,進(jìn)入子Activity,如圖(b)所示。在子Activity中單擊“返回到首頁(yè)”,返回主Activity,注意此時(shí)的標(biāo)題欄內(nèi)容攜帶了子Activity的信息,如圖(c)所示。(a)首次進(jìn)入主Activity界面(b)單擊按鈕后進(jìn)入子Activity(c)單擊按鈕后返回主Activity用戶界面狀態(tài)保存PART.05SharedPreferencesSharedPreferences是Android平臺(tái)上一個(gè)輕量級(jí)的存儲(chǔ)類。以一個(gè)鍵-值對(duì)的二元組的形式存儲(chǔ)。通常用來(lái)存儲(chǔ)簡(jiǎn)單的配置信息,支持String、Long、Float、Integer、Boolean等數(shù)據(jù)類型。SharedPreferences對(duì)象的訪問(wèn)權(quán)限是私有的。保存在一個(gè)內(nèi)部的XML文件中。是一種簡(jiǎn)單、持久化的存儲(chǔ)設(shè)置。BundleBundle類用作攜帶數(shù)據(jù),它類似于Map,用于存放鍵-值對(duì)形式的值。可傳遞基本數(shù)據(jù)類型,比如int、float、string等。利用Bundle綁定數(shù)據(jù)的封裝能力,將要數(shù)據(jù)或參數(shù)通過(guò)Intent對(duì)象來(lái)傳遞到不同的Activity。Bundle對(duì)象中的數(shù)據(jù)是保存在應(yīng)用項(xiàng)目的上下文中,會(huì)隨著相應(yīng)的上下文銷毀而消失。用戶界面狀態(tài)保存
Android使用SharedPreferences對(duì)象或Bundle對(duì)象來(lái)保存Activity實(shí)例的狀態(tài)信息。BundleBundle對(duì)象常用的方法方法返回值說(shuō)明clear()—清除所有保存的數(shù)據(jù)clone()Bundle對(duì)象克隆當(dāng)前Bundle對(duì)象get(Stri
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 少兒游泳測(cè)試題及答案
- 系統(tǒng)規(guī)劃與管理學(xué)習(xí)的交流平臺(tái)建設(shè)試題及答案
- 精確掌握?qǐng)D書(shū)管理員考試重點(diǎn)試題及答案
- 補(bǔ)充知識(shí)短板2025年鄉(xiāng)村全科執(zhí)業(yè)助理醫(yī)師試題及答案
- 理順公共衛(wèi)生執(zhí)業(yè)考試的試題及答案
- 理論與實(shí)際相結(jié)合的光電考試準(zhǔn)備試題及答案
- 衛(wèi)生管理與健康促進(jìn)試題及答案
- 網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)師常見(jiàn)誤區(qū)及試題及答案
- 衛(wèi)生管理證書(shū)考試經(jīng)驗(yàn)交流會(huì)試題及答案
- 激光干涉儀原理試題及答案
- 2024-2025學(xué)年統(tǒng)編版語(yǔ)文二年級(jí)下冊(cè) 期中測(cè)試題(含答案)
- 遼寧省部分示范性高中2025屆高三下學(xué)期4月模擬聯(lián)合調(diào)研數(shù)學(xué)試題(無(wú)答案)
- 二零二五協(xié)警聘用合同范文
- 防雷安全知識(shí)培訓(xùn)課件
- 政務(wù)服務(wù)人員培訓(xùn)
- 寵物醫(yī)院招聘課件
- 2024年山東司法警官職業(yè)學(xué)院招聘考試真題
- 2025建筑安全員C證考試(專職安全員)題庫(kù)及答案
- 安全標(biāo)識(shí)(教學(xué)設(shè)計(jì))-2024-2025學(xué)年浙美版(2012)美術(shù)四年級(jí)下冊(cè)
- 環(huán)境保護(hù)部華南環(huán)境科學(xué)研究所(廣州)2025年上半年招考人員易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2024-2025學(xué)年七年級(jí)下冊(cè)歷史 【教學(xué)課件】第10課《金與南宋的對(duì)峙》
評(píng)論
0/150
提交評(píng)論