版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、»東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)畢業(yè)設(shè)計(jì)基于安卓平臺(tái)的音樂播放器院別東北大學(xué)計(jì)算機(jī)與通信工程學(xué)院專業(yè)名稱計(jì)算機(jī)科學(xué)與技術(shù)班級(jí)學(xué)號(hào)01258968745學(xué)生姓名郭姝含指導(dǎo)教師燕懷榮2013年9月10日東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)基于安卓平臺(tái)的音樂播放器設(shè)計(jì)與開發(fā)摘要Android平臺(tái)是Googl宓司最新推出的一個(gè)手機(jī)平臺(tái),該平臺(tái)對(duì)移動(dòng)設(shè)備的程序集中包括一個(gè)操作系統(tǒng),一個(gè)中間件和一些關(guān)鍵性應(yīng)用。使用該平臺(tái)不需要任何費(fèi)用,代碼完全開放。開發(fā)人員可以在平臺(tái)系統(tǒng)上快速開發(fā),并可以利用其它開發(fā)人員的工作成果。所以,這為手機(jī)開發(fā)創(chuàng)造了更大的靈活性,工作少,周期短,快速成型,并一步到位,同
2、時(shí)用戶可以最大限度的自定義自己的手機(jī),以豐富自己手機(jī)的功能,增加手機(jī)在市場(chǎng)上的競爭力。Android平臺(tái)以Linux系統(tǒng)作為平臺(tái)的基礎(chǔ),使用Linux內(nèi)核可以加快軟件移植速度。本文以Android開發(fā)平臺(tái)為基礎(chǔ),首先簡要介紹了安卓平臺(tái)發(fā)展歷程、以及當(dāng)前國內(nèi)外的發(fā)展現(xiàn)狀。然后詳細(xì)的介紹了Android開發(fā)平臺(tái)的開發(fā)環(huán)境。之后對(duì)基于Android平臺(tái)的音樂播發(fā)器系統(tǒng)做了一個(gè)詳細(xì)的需求分析。在需求分析結(jié)束后詳細(xì)論述了音樂播放器的詳細(xì)設(shè)計(jì)。根據(jù)Android開發(fā)平臺(tái)自身的結(jié)構(gòu)特點(diǎn),把音樂播放器的開發(fā)分為兩個(gè)部分來進(jìn)行分析和設(shè)計(jì),一部分是窗口的設(shè)計(jì),主要是定義窗口的屬性和關(guān)聯(lián)窗口的處理函數(shù);另一部分是功
3、能的實(shí)現(xiàn),主要是結(jié)合Android平臺(tái)提供的資源和對(duì)音樂播放器的功能分析最終實(shí)現(xiàn)定義的功能。最后對(duì)基于Android開發(fā)平臺(tái)的音樂播放系統(tǒng)進(jìn)行功能測(cè)試與驗(yàn)證。關(guān)鍵詞:Android平臺(tái),音樂播放器,基于Android平臺(tái)的開發(fā)與設(shè)計(jì)科東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)第II頁TheDesignandDevelopmentofMusicPlayerBasedonAndroidplatformAuthor:XXXTutor:XXXAbstractAndroidplatformisGoogle'latestlaunchofamobileplatform,theplatformforproce
4、duresofmobiledevicesincludesanoperatingsystemsamiddlewareandsomecriticalapplications.Theplatformdoesnotrequireanycharges.Thecodeiscompletelyopen.Developerscanquicklydevelopontheplatformsystemandotherdeveloperscanusetheresultsoftheworkbyotherdevelopers.Therefore,Itmadegreaterflexibilityforthedevelopm
5、entofmobilephone,lesswork,shortcycle,rapidprototypingandone-stop,meanwhileuserscancustomizetheirmobilephonesbesttoenrichthefunctionsoftheircellphonescompetitivenessofmobilephonesmarket.AndroidplatformisbasedonLinuxsystemsusingtheLinuxkernelThesoftwarecallspeeduptherateoftransplantationThisarticletak
6、estheAndroiddevelopingplatformasafoundation.Firstitbrieflyintroducesandroidplatformdevelopment,aswellasthecurrentdomesticandforeigndevelopmentpresentsituation.Afterthediscussionoftherationaleabove,thisarticleintroducesthedevelopmentenvironmentofAndroiddevelopingplatformindetailandmakesadetaileddeman
7、danalysistoMusicplayerbasedontheAndroiddevelopingplatform.ThenthisarticlegivesadetailedsoftwaredesignofMusicplayer.BasedontheAndroiddevelopingplatform'featuredividetheMusicplayer"developmentintotwopartstoanalyzeanddesign.Onepartisthewindowdesign,mainlydefinesthewindowattributeandtheconnecte
8、dwindowprocessingfunction;Anotherpartisfunctionrealization,mainlyunifiestheresourceswhichtheAndroidplatformprovidesandfunctionanalysistotheMusicplayertoaccomplishthefunctionwhichwedefined.FinallyitcarriesonthefunctiontestbasedontheMusicplayerofAndroidplatform.KeyWords:Androidplatform,Musicplayer,The
9、DesignandDevelopmentbasedonAndroidplatform東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)第III頁目錄1 緒論11.1 項(xiàng)目背景11.2 國內(nèi)外相關(guān)研究現(xiàn)狀及發(fā)展趨勢(shì)21.3 項(xiàng)目研究意義31.4 本文主要內(nèi)容32 安卓平臺(tái)介紹52.1 安卓平臺(tái)介紹52.2 安卓結(jié)構(gòu)具體分析62.3 Android系統(tǒng)的四大組件72.4 安卓開發(fā)環(huán)境搭建92.4.1 Java環(huán)境搭建92.4.2 安裝Eclipse開發(fā)工具102.4.3 下載安裝SDK102.4.4 安裝ADT插件112.5 AndroidFeatures特性122.6 數(shù)據(jù)存儲(chǔ)方式132.6.1 SharedP
10、references132.6.2 File存儲(chǔ)方式132.6.3 SQLiteDatabase數(shù)據(jù)庫132.7 Android工程程序結(jié)構(gòu)142.8 AndroidManifest.xml文件152.9 安卓平臺(tái)的優(yōu)勢(shì)173 需求分析193.1 軟件目標(biāo)193.2 軟件的可行性研究193.2.1 經(jīng)濟(jì)上的可行性193.2.2 技術(shù)上的可行性19東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)第IV頁3.2.3 操作上的可行性203.3 功能需求203.3.1 用例圖及用例描述203.3.2 音樂播放器的時(shí)序圖223.4 軟件規(guī)格說明234項(xiàng)目實(shí)現(xiàn)254.1 歡迎界面254.2 主界面274.2.1 播放音
11、軌SeekBar284.2.2 播放調(diào)節(jié)功能實(shí)現(xiàn)314.3 歌詞顯示界面344.4 歌曲列表界面384.5 專輯列表界面405音樂播放器的測(cè)試425.1 測(cè)試模型435.1.1 V模型435.1.2 W模型435.2 測(cè)試模型的選擇445.3 測(cè)試方法455.3.1 白盒測(cè)試455.3.2 黑盒測(cè)試455.3.3 測(cè)試方法的選擇465.4 功能的測(cè)試與實(shí)現(xiàn)465.4.1 播放器整體功能的實(shí)現(xiàn)465.4.2 播放器主要模塊功能測(cè)試475.5 測(cè)試結(jié)論475.6 測(cè)試過程與總結(jié)47結(jié)論49致謝50管東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì),論文)第V頁參考文獻(xiàn)51附錄52東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)1緒論
12、Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。尚未有統(tǒng)一中文名稱,中國大陸地區(qū)較多人使用安卓”或安致"。Android操作系統(tǒng)最初由AndyRubin開發(fā),主要支持手機(jī)。200人8月由Google收購注資。2007年11月,Google與84家硬件制造商、軟件開發(fā)商及電信營運(yùn)商組建開放手機(jī)聯(lián)盟共同研發(fā)改良Android系統(tǒng)。隨后Google以Apache開源許可證的授權(quán)方式,發(fā)布了Android的源代碼。第一部Android智能手機(jī)發(fā)布于2008年10月。Android逐漸擴(kuò)展到平
13、板電腦及其他領(lǐng)域上,如電視、數(shù)碼相機(jī)、游戲機(jī)等。2011年第一季度,Android在全球的市場(chǎng)份額首次超過塞班系統(tǒng),躍居全球第一。2012年11月數(shù)據(jù)顯示,Android占據(jù)全球智能手機(jī)操作系統(tǒng)市場(chǎng)76%的份額,中國市場(chǎng)占有率為90%1。1.1 項(xiàng)目背景隨著計(jì)算機(jī)的廣泛運(yùn)用,手機(jī)市場(chǎng)的迅速發(fā)展,各種音頻視頻資源也在網(wǎng)上廣為流傳,這些資源看似平常,但已經(jīng)漸漸成為人們生活中必不可少的一部分了。于是各種手機(jī)播放器也緊跟著發(fā)展起來,但是很多播放器一味追求外觀花哨,功能龐大,對(duì)用戶的手機(jī)造成了很多資源浪費(fèi),比如CPU,內(nèi)存等的占用率過高,在用戶需要多任務(wù)操作時(shí),受到了不小的影響,帶來了許多不便,而對(duì)于大
14、多數(shù)普通用戶,許多功能用不上,形同虛設(shè)。針對(duì)以上各種弊端,選擇了開發(fā)多語種的音頻視頻播放器,將各種性能優(yōu)化,繼承播放器的常用功能,滿足一般用戶(如聽歌,看電影)的需求,除了能播放常見格式的語音視頻文件,高級(jí)功能:還能播放RMVB格式的視頻文件。止匕外,還能支持中文、英文等語言界面。要研究各種市場(chǎng)上流行的手機(jī)播放器,了解它們各自的插件及編碼方式,還有各種播放器播放的特別格式文件,分析各種編碼的優(yōu)缺點(diǎn)以及各種播放器本身存在的缺陷和特點(diǎn),編寫出功能實(shí)用,使用方便快捷的播放器。目前已經(jīng)實(shí)現(xiàn)的功能有能播放常見音頻文件的功能,如MP3,WAV,等,擁有播放菜單,能選擇播放清單,具備一般播放器的功能,如快進(jìn)
15、,快退,音量調(diào)節(jié)等。至東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)第2頁1.2 國內(nèi)外相關(guān)研究現(xiàn)狀及發(fā)展趨勢(shì)在Linux上流行的播放器有多種主要有Xmms,RealPlayer,Xmovie,QuickTime,Mplayer等,以下對(duì)這些播放器進(jìn)行分析介紹。1、XmmsXmms是X-Window系統(tǒng)下最流行的多媒體播放器之一,大多數(shù)Linux版本都捆綁了改產(chǎn)品最為Linux下的標(biāo)配音頻播放器,Xmms可以播放MP3、MOD、Wav等多媒體文件,而且只要提供相應(yīng)的插件,它還可以支持而更多的多媒體類型。2、XmovieXmovie最早是作為電視節(jié)目的播放軟件。它的播放界面非常簡單。界面上除了播放、快進(jìn)、快
16、退、播放時(shí)間顯示和播放進(jìn)度顯示這幾個(gè)主要功能外,沒有其他控制功能。界面上方的選單條不含有任何播放控制功能,基本上都是對(duì)播放畫面的調(diào)整和環(huán)境變量的控制。Xmovie支持mpg,mov,vob,m2V等視頻格式,同時(shí)它還能夠播放MP2和MP3音頻格式的文件。3、RealPlayerRealPlayer低帶寬下支持音頻、視頻多媒體的低損失傳輸,同時(shí)具有優(yōu)秀的流媒體在線播放能力。RealPlayerforLinux版本的操作界面與其Windows平臺(tái)下的版本類似。RealPlaye的后續(xù)版本增加了對(duì)微軟視頻和音頻的支持,并支持便攜式設(shè)備。4、QuickTimeQuickTime是蘋果公司開發(fā)的流式音視
17、頻解決方案,也是出現(xiàn)較早的流媒體文件格式之一,它由三個(gè)不同部分組成:QuickTimeMove(電影)文件格式,QuickTime媒體抽象層、QuickTime內(nèi)置媒體服務(wù)系統(tǒng)。這類文件擴(kuò)展名通常是.mov,它所對(duì)應(yīng)的播放器是“QuickTime:5、MPlayerMPlayer是Linux上的電影播放器,它的功能十分強(qiáng)大,能夠播放眾多格式的文件。MPlayer能使用眾多本地的Xanim,RealPlaye庠PWin32DLL播放大多數(shù)MPEG、VOB、AVI、OGG、ASF/WMV等文件,也能播放VideoCD、SVCD、DVD和DivX格式的電影。MPlayer的另一個(gè)大的特色是支持廣泛的
18、輸出設(shè)備,它可以在Xll、Xv、DGA、OpenGL、SVGAlib等下工作。目前,媒體播放器主要趨向以下幾個(gè)方向:首先,支持多樣化格式。Xmms、Xmovie、東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)QuickTime主要是針對(duì)固定的媒體格式類型或傳輸協(xié)議,具有一定的專用性,因此難以滿足廣大消費(fèi)者的的需求,如今的音頻,視頻格式越來越多,如常見的音頻WMA,MP3,MIDI以及視頻的RM,AVI等。如何能將能播放所有這些,是現(xiàn)今研究的方向。其次,可擴(kuò)展性也是一個(gè)必要的趨勢(shì),如今的播放器功能越來越強(qiáng)大,如何在現(xiàn)有的基礎(chǔ)上使功能更全面,也是人們接受的一個(gè)因素。這就是本課題選用開放式Android平臺(tái)的一
19、個(gè)原因,代碼完全公開,為其功能擴(kuò)展提供方便的條件。1.3 項(xiàng)目研究意義目前手機(jī)的音樂播放功能已經(jīng)是大家比較關(guān)注的一個(gè)部分了,不少人在購買手機(jī)的時(shí)候都會(huì)關(guān)心手機(jī)的音樂播放的能力,這也足以看出目前大家對(duì)音樂播放功能的重視,所以一款性能良好的手機(jī)音樂播放器軟件一定會(huì)受到歡迎。和傳統(tǒng)的音樂播放器相比,手機(jī)播放音樂更加的容易攜帶,其他方面也都不輸于傳統(tǒng)音樂播放器所。一款專業(yè)的音樂播放軟件是手機(jī)中必不可少的要素,幾乎市場(chǎng)上所有的手機(jī)都擁有一個(gè)自帶的音樂播放軟件,通過軟件可以對(duì)音樂欣賞中一些必要的元素進(jìn)行人性化的設(shè)置,同時(shí)在操作的時(shí)候也能得到一定的便利,但是不能滿足用戶的所有要求,所以就出現(xiàn)了各種各樣的手機(jī)
20、音樂播放軟件,來滿足不同用戶的不同要求。不同手機(jī)平臺(tái)的手機(jī),所支持的音樂播放軟件也是各不相同,而現(xiàn)在最流行的手機(jī)平臺(tái)就是google的android手機(jī)平臺(tái)。Android播放器是近年來手機(jī)當(dāng)中比較流行的音樂播放軟件.通過結(jié)合自己所學(xué)的知識(shí)來設(shè)計(jì)和開發(fā)Android音樂播放器,可以深入學(xué)習(xí)Android多媒體框架結(jié)構(gòu)和多媒體框架核心Opencore,并通過對(duì)Opencore的學(xué)習(xí)進(jìn)一步的認(rèn)識(shí)和理解Android多媒體播放機(jī)制,而且還可以在開發(fā)軟件實(shí)物的過程中,熟悉軟件開發(fā)流程,掌握Android領(lǐng)域小應(yīng)用開發(fā)的方法,學(xué)習(xí)新的計(jì)算機(jī)知識(shí),豐富自己的知識(shí)面。Android平臺(tái)是完全開放的平臺(tái),智能
21、手機(jī)里的各種應(yīng)用軟件也越來越完備,在Android平臺(tái)設(shè)計(jì)和開發(fā)一款音樂播放器可以擺脫不夠智能音樂播放器的因素,并且具有很廣闊的前景。1.4 本文主要內(nèi)容本文的主要內(nèi)容是研究、分析和實(shí)現(xiàn)基于Android手機(jī)平臺(tái)的音樂播放器系統(tǒng),包括以下幾個(gè)部分:第1章簡要介紹了Android手機(jī)平臺(tái)的背景及發(fā)展情況。密東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)第4頁第2章研究了基于Android平臺(tái)的軟件開發(fā)環(huán)境,主要包括Android平臺(tái)的產(chǎn)品支持、Android平臺(tái)軟件的消息機(jī)制。第3章詳述進(jìn)行基于Android手機(jī)平臺(tái)的音樂播放器的開發(fā)的整個(gè)過程,包括對(duì)軟件的需求分析、軟件的結(jié)構(gòu)設(shè)計(jì)。第4章主要敘述了播放器的
22、詳細(xì)設(shè)計(jì),包括主要模塊功能的實(shí)現(xiàn)以和部分核心代碼。第5章是對(duì)音樂播放器的軟件測(cè)試,主要是對(duì)其功能驗(yàn)證,確定是否符合軟件規(guī)格要求,最后對(duì)全文進(jìn)行一個(gè)總結(jié)。a2a東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)2安卓平臺(tái)介紹2.1 安卓平臺(tái)介紹Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。Android操作系統(tǒng)最初由AndyRubin開發(fā),主要支持手機(jī)。2005年8月由Google收購注資。2007年11月,Google與84家硬件制造商、軟件開發(fā)商及電信營運(yùn)商組建開放手機(jī)聯(lián)盟共同研發(fā)改良Android系統(tǒng)。
23、隨后Google以Apache開源許可證的授權(quán)方式,發(fā)布了Android的源代碼。Android逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上,如電視、數(shù)碼相機(jī)、游戲機(jī)等。Android的架構(gòu)圖如圖2.1所示。APPLICATIONSHomeContactsPhoneBrowserapplicationFrameworkActrntyManagerWindowManagerContencProvider寫ViewSystemNot而cationManagerPackageManagerTelephonyManagerResourceManagerManagerXMPPServicerLibrariesANDR
24、OIRUMTIMErramewurx.CoreOpcnGL|ESFceeiypcWfebKtiMachineSGLSSLlibcLinuxKernelDisplayCameraDriverBlneroorhFlashMemoryBinder(IPC)DriverDriverDriverDriverUSBDriverKeypadDriverWiFiDriverAudioDriversPowerManagernenc圖2.1Android的架構(gòu)圖Android的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。從架構(gòu)圖看,AndroidLinux內(nèi)核層分為四個(gè)層分別是應(yīng)用程序?qū)印?yīng)用程序框架層、系統(tǒng)運(yùn)行
25、庫層和東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)2.2 安卓結(jié)構(gòu)具體分析1、應(yīng)用程序Android會(huì)同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是使用JAVA語言編寫的02.、應(yīng)用程序框架開發(fā)人員也可以完全訪問核心應(yīng)用程序所使用的API框架。該應(yīng)用程序的架構(gòu)設(shè)計(jì)簡化了組件的重用;任何一個(gè)應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過得遵循框架的安全性)。同樣,該應(yīng)用程序重用機(jī)制也使用戶可以方便的替換程序組件。隱藏在每個(gè)應(yīng)用后面的是一系列的服務(wù)和系統(tǒng),其中包括;豐富而又可擴(kuò)展的視圖(V
26、iews),可以用來構(gòu)建應(yīng)用程序,它包括列表(Lists),網(wǎng)格(Grids),文本框(Textboxes),按鈕(Buttons),甚至可嵌入的web瀏覽器。內(nèi)容提供器(ContentProviders)使得應(yīng)用程序可以訪問另一個(gè)應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫),或者共享它們自己的數(shù)據(jù)。資源管理器(ResourceManager提供非代碼資源的訪問,如本地字符串,圖形,和布局文件(Layoutfiles)。通知管理器(NotificationManager)使得應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息?;顒?dòng)管理器(ActivityManager)用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退
27、功能。3、系統(tǒng)運(yùn)行庫Android包含一些C/C+庫,這些庫能被Android系統(tǒng)中不同的組件使用。它們通過Android應(yīng)用程序框架為開發(fā)者提供服務(wù)。以下是一些核心庫:(1)系統(tǒng)C庫一一一個(gè)從BSD繼承來的標(biāo)準(zhǔn)C系統(tǒng)函數(shù)庫Libc,它是專門為基于Embeddedlinux的設(shè)備定制的。(2)媒體庫一一基于PacketVideoOpenCORE該庫支持多種常用的音頻、視頻格式回放和錄制,同時(shí)支持靜態(tài)圖像文件。編碼格式包括MPEG4、H.264、MP3、AAC、AMR、JPGPNG等。東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)(3) SurfaceManager-對(duì)顯示子系統(tǒng)的管理,并且為多個(gè)應(yīng)用程序提
28、供了2D和3D圖層的無縫融合。(4) LibWebCore一個(gè)最新的Web瀏覽器引擎用,支持Android瀏覽器和一個(gè)可嵌入的Web視圖。4、安卓運(yùn)行時(shí)庫Android包含一個(gè)核心庫的集合,提供大部分在Java編程語言核心類庫中可用的功能。每一個(gè)android應(yīng)用程序是Dalvik虛擬機(jī)中的實(shí)例,運(yùn)行在自己的進(jìn)程中。Dalvik虛擬機(jī)被設(shè)計(jì)成,在一個(gè)設(shè)備可以高效地運(yùn)行多個(gè)虛擬機(jī)。Dalvik虛擬機(jī)可執(zhí)行文件格式是dex,dex格式是專為Dalvik設(shè)計(jì)的一種壓縮格式,適合內(nèi)存和處理器速度有限的系統(tǒng)。Dalvik虛擬機(jī)依賴于Linux內(nèi)核提供基本功能,如線程和底層管理。5、Linux內(nèi)核Andr
29、oid基于Linuxversion2.6內(nèi)核來提供系統(tǒng)的核心服務(wù),例如:安全機(jī)制,內(nèi)存管理,進(jìn)程管理,網(wǎng)絡(luò)堆棧和驅(qū)動(dòng)模塊。該內(nèi)核還扮演著一個(gè)虛擬的中間層,該層介于硬件和其余的軟件堆棧2。2.3 Android系統(tǒng)的四大組件在Android系統(tǒng)中,為我們提供了四大基本組件,每個(gè)組件是一個(gè)視圖,但是有些是可見的,有些是不可見的視圖,像Activity,ContentProvider是可見的視圖,Service和BroadcastReceiver是不可見的,它們只在系統(tǒng)的后臺(tái)運(yùn)行。下面分別介紹四大組件:(1) Activity簡介在Android系統(tǒng)中Activity提供可視化的用戶界面,一個(gè)And
30、roid應(yīng)用通常由多個(gè)Activity組成。多個(gè)Activity組成了Activity棧(Stack),當(dāng)前活動(dòng)的Activity處于棧頂。Activity有自己的生命周期,由Android系統(tǒng)來控制。(2) Service簡介顧名思義Service就是運(yùn)行在后臺(tái)的一種服務(wù)程序,一般很少和用戶交互,因此沒有可視化界面定義一個(gè)Service類比較簡單,只要繼承Service類,實(shí)現(xiàn)其生命周期中的方法就可以了。一個(gè)定義好的Service必須在AndroidManifest.xml配置文件注冊(cè),通過$6"匕6元素聲明才能使用.Service有自己的生命周期,我們可以調(diào)用startServi
31、ce()啟動(dòng)一個(gè)Service或者bindService()方法來綁定一個(gè)存在的Service。(3) BroadcastReceiver簡介東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)BroadcastReceiver顧名思義廣播接收器,它和事件處理機(jī)制類似,只不過事件處理機(jī)制是程序組件級(jí)別的(例如,某個(gè)按鈕的單擊事件),而廣播事件處理機(jī)制是系統(tǒng)級(jí)別的。到目前為止我們可以使用Intent來啟動(dòng)一個(gè)程序組件,我們還可以通過使用sendBroadcast(方法來發(fā)起一個(gè)系統(tǒng)級(jí)別的事件廣播來傳遞消息。我們可以在你的應(yīng)用程序中實(shí)現(xiàn)BroadcastReceive課監(jiān)聽和響應(yīng)這些廣播的Intent。Intent
32、(意圖)主要是解決Android應(yīng)用的各項(xiàng)組件之間的通訊。Intent負(fù)責(zé)對(duì)應(yīng)用中一次操作的動(dòng)作、動(dòng)作涉及數(shù)據(jù)、附加數(shù)據(jù)進(jìn)行描述,Android則根據(jù)此Intent的描述,負(fù)責(zé)找到對(duì)應(yīng)的組件,將Intent傳遞給調(diào)用的組件,并完成組件的調(diào)用。因此,Intent在這里起著一個(gè)媒體中介的作用,專門提供組件互相調(diào)用的相關(guān)信息,實(shí)現(xiàn)調(diào)用者與被調(diào)用者之間的解耦。例如,在一個(gè)聯(lián)系人維護(hù)的應(yīng)用中,當(dāng)我們?cè)谝粋€(gè)聯(lián)系人列表屏幕(假設(shè)對(duì)應(yīng)的Activity為ListActivity)上,點(diǎn)擊某個(gè)聯(lián)系人后,希望能夠跳出此聯(lián)系人的詳細(xì)信息屏幕(假設(shè)對(duì)應(yīng)的Activity為detailActivity)。為了實(shí)現(xiàn)這個(gè)目
33、的,ListActivity需要構(gòu)造一個(gè)Intent,這個(gè)Intent用于告訴系統(tǒng),我們要做查看”動(dòng)作,此動(dòng)作對(duì)應(yīng)的查看對(duì)象是某聯(lián)系人”,然后調(diào)用startActivity(Intentintent),將構(gòu)造的Intent傳入,系統(tǒng)會(huì)根據(jù)此Intent中的描述,至UManiFest中找到滿足此Intent要求的Activity,系統(tǒng)會(huì)調(diào)用找到的Activity,即為detailActivity,最終傳入Intent,detailActivity則會(huì)根據(jù)此Intent中的描述,執(zhí)行相應(yīng)的操作。(4) ContentProvider簡介ContentProvider用來保存和檢索數(shù)據(jù),并且使應(yīng)用程
34、序之間相互訪問數(shù)據(jù)成為可能。它是跨應(yīng)用程序共享數(shù)據(jù)的唯一方法。Android為常用的數(shù)據(jù)類型(如:音視頻、圖片和聯(lián)系方式等)提供了大量的ContentProvider。它們被定義在Avider包下面。通過這樣定義好的ContentProvider我們可以方便的進(jìn)行數(shù)據(jù)操作。當(dāng)然我們必須擁有適當(dāng)?shù)臋?quán)限。我們也可以自己來定ContentProvider共享我們的數(shù)據(jù),方便用戶的訪問4。東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)2.4 安卓開發(fā)環(huán)境搭建2.4.1 Java環(huán)境搭建Android支持WindowsXP以上操作系統(tǒng)。首先,需要有Java環(huán)境。方法很簡單。第一步,登陸下載最新版
35、本的jdk安裝jdk和jre兩個(gè)部分。選擇目錄,安裝(最好將兩部分放在同一個(gè)盤符)。點(diǎn)擊下一步即可。我這里安裝在C盤目錄下。第二步,需要配置環(huán)境變量。右擊我的電腦”,在彈出的窗口中選擇屬性,在左邊高級(jí)系統(tǒng)設(shè)置點(diǎn)擊環(huán)境變量按鈕,點(diǎn)擊右下角的新建按鈕變量名:JAVA_HOME,值C:jdk(你的jdk安裝目錄),點(diǎn)擊確定輸入。以同樣的方法新建變量名為;CLASSPATH,值為:.;JAVA_HOME%lib。注意,點(diǎn)號(hào)表示當(dāng)前目錄,不能省略。如圖2.2圖2.2環(huán)境變量配置然后在系統(tǒng)變量中找到“path弁,點(diǎn)擊修改,在其對(duì)應(yīng)的最后面追加%JVA_HOME%bin;后點(diǎn)擊確定按鈕,直到所有的窗口關(guān)閉。
36、如圖2.3。這樣Java東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)第10頁的環(huán)境搭建完畢。打開運(yùn)行”窗口,輸入CMD命令,在提示符窗口中輸入java-version,如果顯示如圖2.4的信息表明搭建成功。圖2.3環(huán)境變量配置C=”.工BDO.田飛斗?召七通-nleosoftW±ncloiwKFIlJH反豐5:L-2:E材0I;CG>W.9R巧一登日口lM-icn'ofitfiFtdoip.uJI-eAAXRIMI>Ji-Eiv.rt.HotShjoL-<.Trf>QJ.工hii4U*rl<JLixixXuX1-fcJJjx5-e_l*hEi>iol
37、ILu"sjjiQi(clbneinsandSettinffs'''siHclminxs圖2.4環(huán)境搭建成功顯示信息2.4.2 安裝Eclipse開發(fā)工具Eclipse的安裝比較簡單,登錄Eclipse官網(wǎng),下載EclipseIDEforJavaDevelopers0直接解壓就可以了。2.4.3 下載安裝SDK首先,到SDK官方網(wǎng)站下載SDK包,然后解壓。雙擊SDKManager.exe示如圖2.5,下載所需要的組件東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)第11頁AndroidSDKlanagerXPackagesToolsSDKFath:E,Vjdkaridroi
38、d-sdk-windowsPackageeffkN:=urieAfiRev.Status1-Tools回IAndroidSDKTools21.1Update:=LV:±ilable:reJAndroid.SDKFlatform-tools16.CL/Instiled白匚|Android4.(AFIl'j)DucujtientationforAndr口idSDIC172U工nEtailed:w:!1SDKPlatform172匕Instiled&S:=jTipleEforSDIC171工nNtallEdARMEAB工vTaSystemImage172Instiilled
39、拳Intelk86AtomSystemImage171昌工nstailed岸MIPSSystemImage171工nNtailedJzL也GoosrleAPIs172Uddateavailable:re2f.-叫.>ilInst:=LLl3packages.Show:0UpdateE/New叵工nMtalludJLibsoleteSelectHuworUpdwt-wSortby:(*)APIlevelRepoEitory五三albeit幻1Honeloaiimgpackages.Delete2packages.圖2.5SDK下載組件界面2.4.4 安裝ADT插件在eclipse中安裝插件
40、,打開eclipse,點(diǎn)擊help->InstallnewSoftware進(jìn)入后,點(diǎn)擊add,命名及點(diǎn)擊Archive選擇你下載的ADT壓縮包,點(diǎn)擊OK,會(huì)解析出該插件的全部可用內(nèi)容,全選(selectall),點(diǎn)擊下一步安裝時(shí)需要一定時(shí)間,在安裝的過程中會(huì)出現(xiàn)一些提示,點(diǎn)擊允許即可,安裝完ADT插件后,點(diǎn)擊window->preference,發(fā)現(xiàn)左側(cè)列表上多了一項(xiàng)android,點(diǎn)擊android會(huì)提示錯(cuò)誤,是因?yàn)檫€沒有把SDK關(guān)聯(lián)到ADT插件上,添加SDK目標(biāo)位置,如圖2.6EtillGTikKL-2V。*4UMiIp-TwFlni-inDanl9F-niintwRxmF口b
41、u-E*hi&XMLAndrdlFrk£«tVHrCwi5UFIen:ESJ«n.4roLd"-idJr*iitMg”.«Tli*IP粵上甲EMEKT*t*b*la*aixlyf*1-*4*H.youbtL'Apfly'4/JMC17«r<eldL占心白。0APZxAjx-Ar4idi.0心口。Af£.sAn片口ldA0.3daocl4MEh立工日41.22-a-cl-i-AFIkAn.-dr-L:idq2.SAtIkAjv占di.dProj*ct心口Ztkc.An.-±r:i.dMq
42、<wPr&j*i=t心口Inc.dI>f*elS-a-ars*froj-»ct心口。0Inc.d的*0.froj«ct心I&E.后XtkC.n*ir*¥»AT3322225-s-3«l4J1l-l-l上IJJ3LLLLLLLL圖2.6添加SDK目標(biāo)文件夾生強(qiáng)東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)第12頁到這里,Android的開發(fā)環(huán)境就搭建完成了。然后創(chuàng)建一個(gè)安卓模擬器就可以做安卓開發(fā)了如圖2.7。圖2.7安卓模擬器界面2.5 AndroidFeatures特性Android系統(tǒng)有如下的幾大特性:(1)應(yīng)用程序框架支持組
43、件的重用與替換。2.6 Dalvik虛擬機(jī)專門為移動(dòng)設(shè)備做了優(yōu)化。(3)內(nèi)部集成瀏覽器該瀏覽器基于開源的WebKit引擎。(4)優(yōu)化的圖形庫包括2D和3D圖形庫,3D圖形庫基于OpenGLES。(5)SQLite用作結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)。(6)多媒體支持包括常見的音頻、視頻和靜態(tài)印象文件格式(如MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,GIF)。(7)GSM電話(依賴于硬件)。(8)藍(lán)牙Bluetooth,EDGE,3G,andWiFi(依賴于硬件)。(9)照相機(jī),GPS,指南針,和加速度計(jì)(依賴于硬件)。£東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)第13頁(10)豐富的開
44、發(fā)環(huán)境包括設(shè)備模擬器,調(diào)試工具,內(nèi)存及性能分析圖表,和Eclipse集成開發(fā)環(huán)境插件。2.6 數(shù)據(jù)存儲(chǔ)方式在播放器正常運(yùn)行時(shí),由于各界面存在相互跳轉(zhuǎn),為了避免數(shù)據(jù)在界面跳轉(zhuǎn)的過程中丟失,我們需要將一些數(shù)據(jù)進(jìn)行臨時(shí)存儲(chǔ)或者永久存儲(chǔ)。Android作為一種手機(jī)操作系統(tǒng),提供了如下幾種存取數(shù)據(jù)的方式:Preference已置)、File(文件)、SQLite數(shù)據(jù)和網(wǎng)絡(luò)。另外,在Android中各個(gè)應(yīng)用程序組件之間是相互獨(dú)立的,彼此的數(shù)據(jù)不能共享。為了實(shí)現(xiàn)數(shù)據(jù)的共享,Android提供了ContentProvider組件來實(shí)現(xiàn)應(yīng)用程序之間數(shù)據(jù)的2.6.1 SharedPreferencesPrefer
45、encePreferenc靛供了一種輕量級(jí)的數(shù)據(jù)存取方法,一般數(shù)據(jù)比較少,一些簡單的配置信息。它以鍵-值”(是一個(gè)Map)對(duì)的方式,將數(shù)據(jù)保存在一個(gè)XML配置文件中使用到的接口(詳細(xì)內(nèi)容見文檔)android.content.SharedPreferenceSlS供了保存數(shù)據(jù)的方法,android.content.SharedPreferences.Editorl供了獲得數(shù)據(jù)的方法。2.6.2 File存儲(chǔ)方式我們可以將一些數(shù)據(jù)直接以文件的形式保存在設(shè)備中。例如,一些文本文件、PDF文件、音視頻文件和圖片等。Android提供了文件讀寫的方法:Context.openFileInput()獲得
46、標(biāo)準(zhǔn)Java文件輸入流(FileInputStream),Context.openFileOutput(成得標(biāo)準(zhǔn)Java文件輸出流(FileOutputStream),Resources.openRawResourcR.raw.myDataFile)方法返回InputStream。2.6.3 SQLiteDatabas瞰據(jù)庫SQLite是一個(gè)嵌入式數(shù)據(jù)庫引擎,針對(duì)內(nèi)存等資源有限的設(shè)備(如手機(jī)、PDA、MP3)提供的一種高效的數(shù)據(jù)庫引擎SQLite數(shù)據(jù)庫不像其它的數(shù)據(jù)庫(如:Oracle),它沒有服務(wù)器進(jìn)程。所有的內(nèi)容包含在同一個(gè)單文件中。該文件是跨平臺(tái)的可以自由拷貝。基于其自身的先天優(yōu)勢(shì),SQ
47、Lite在嵌入式領(lǐng)域得到了廣泛應(yīng)用。(1) SQLiteDatabase類SQLiteDatabase代表一個(gè)數(shù)據(jù)庫對(duì)象,提供了操作數(shù)據(jù)庫的一些常用方法如表2.8。a東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)第14頁表2.8操作數(shù)據(jù)庫的常用方法方法名稱方法描述OpenonCreatDatabase(Stringpath,SQLiteDatabase.CusorFactoryfactory)打開或者創(chuàng)建數(shù)據(jù)庫Insert(Stringtable,StringnullColumHack,ContentValuesvalues)添加一條記錄Delete(Stringtable,StringwhereClau
48、se,String口whereArgs)刪除一條記錄Query(Stringtable,Stringcolums,Stringselection,StringselectionArgs,StringgoupBy,Stringhaving,StringorderBy)查詢記錄Update(Stringtable,ContentValues,StingwhereClause,String口whereArgs)修改記錄exeSQL(Stringsql)執(zhí)一條SQL語句Close關(guān)閉數(shù)據(jù)庫(2) SQUteOpenHelper類SQUteOpenHelper是SQUteDatabase的一個(gè)幫助類,用
49、來管理數(shù)據(jù)庫的創(chuàng)建和版本更新。一般的用法是定義一個(gè)類繼承之,并實(shí)現(xiàn)其兩個(gè)抽象方法onCreate(SQLiteDatabasedb)和onUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion)兩個(gè)抽象方法來創(chuàng)建和更新數(shù)據(jù)庫,一些常用方法如表2.9。表2.9更新數(shù)據(jù)庫常用方法方法名稱方法描述SQLiteOpenHelper(Contextcontext,Stringname,SQLiteDatabase.CurorFactory構(gòu)造方法,一般是傳factory,intversion)遞一個(gè)要?jiǎng)?chuàng)建數(shù)據(jù)庫稱name#數(shù)onCreate(SQLite
50、Databasedb)onUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion)創(chuàng)建數(shù)據(jù)庫是調(diào)用版本更新時(shí)倜用getReadableDatabase()!創(chuàng)建或打八個(gè)只讀數(shù)據(jù)庫getWritableDatabase()創(chuàng)建或者打二個(gè)讀寫數(shù)據(jù)庫Android的三種數(shù)據(jù)存儲(chǔ)方式則讓我們可以輕松方便的進(jìn)行程序編寫和數(shù)據(jù)的訪問,更不會(huì)讓不該消失的數(shù)據(jù)消失,這對(duì)我們進(jìn)行程序書寫有很大我?guī)椭?.7 Android工程程序結(jié)構(gòu)Android工程基本結(jié)構(gòu)目錄包括:src(源彳t碼)、gen(Android系統(tǒng)自動(dòng)生成的常量卜Res(資源文件):主要存放程序
51、界面的布局配置(.xml)文件和圖片資源東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)第15頁AndroidMainfes.xml(下節(jié)介紹)是四大組件的驅(qū)動(dòng)配置文件,有它的存在,Android程序的四大組件才可以正常的跳轉(zhuǎn)。Android資源的類型和布局(表2.10)。表2.10Android資源的類型和布局目錄結(jié)構(gòu)資源類型res/anim/XMLd動(dòng)畫文件res/drawable/一些位圖文件res/layout/xml體局文件res/value/各種xml資源文件Arrays.xml:XML數(shù)據(jù)文件Colors.xml:XML顏色文件Dimens.xml:XML尺、文件Styles.xml:XML樣
52、式乂件res/xml/任意的XML文件res/raw/直接拷到設(shè)備中的原生文件res/menr/XML菜單文件2.8 AndroidManifest.xml文件Android系統(tǒng)的任何一個(gè)程序啟動(dòng)都需要AndroidManifest.xml來啟動(dòng)程序,任何一個(gè)新建的工程目錄都會(huì)自動(dòng)生成一個(gè)AndroidManifest.xml文件,此配置文件是整個(gè)程序能夠正常運(yùn)行的核心,它里面包含了AndroidSDK的版本,程序運(yùn)行的默認(rèn)Activity,當(dāng)程序中的任何一個(gè)組件觸發(fā)事件后,系統(tǒng)都會(huì)自動(dòng)的去AndroidManifest.xml中尋找標(biāo)識(shí)來作出相應(yīng)的操作。任何一個(gè)AndroidManifest
53、.Xml文件的格式都應(yīng)為:<?xmlversion="1.0"encoding="utf-8"?><manifest><application><activity><intent-filter><action/><category/></intent-filter></activity></application>東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)第16頁<uses-sdk/><uses-permission/>
54、</manifest>Android系統(tǒng)有一個(gè)編碼的規(guī)定,支持的編碼是"utf-8”,當(dāng)程序中出現(xiàn)亂碼是,我們須將其編碼格式轉(zhuǎn)化為"utf-8".在AndroidManifest.xml中會(huì)在第一行聲明一句:?xmlversion="1.0"encoding="utf-8"?。它是該系統(tǒng)支持的版本和編碼。在第二行定義了我們需使用的架構(gòu),該架構(gòu)來自xmlns:Android=http:schemas.AXmlns(XMLnamespace)1一個(gè)命名空間,它就像一條河的源頭一樣能讓我們找到系統(tǒng)架構(gòu),每一個(gè)配置文件必
55、須有這個(gè)xmlns,否則程序中的所使用的所有資源將無法找到。在application元素我們定義Android:icon="drawable/icon"Android:label="string/app_name",Android:icon是程序在手機(jī)中顯示的圖片,我們運(yùn)用drawable/icon表示了對(duì)res/drawable目錄下的icon.png的弓I用。string/app_name表示了對(duì)res/value目錄下string.Xml中定義的app_name參數(shù)的弓I用。因?yàn)橄到y(tǒng)首先要啟動(dòng)的Activity是C_MusicPlayerActiv
56、ity,所以文件如下:activityAndroid:name=".C_MusicPlayerActivity"><intent-filter><actionAndroid:name="Aent.action.MAIN"/><categoryAndroid:name="Aent.category.LAUNCHER"/></intent-filter></activity>在intent-filter選項(xiàng)中,有action和cate
57、gory等等屬性,我們需要定義action的值為Aent.action.MAIN,category的值為Aent.category.LAUNCHER,它們是系統(tǒng)的值,程序在解析到這些常用后就可以確定首先要啟動(dòng)的Activity。當(dāng)我們需要通過一個(gè)組件觸發(fā)另一個(gè)組件時(shí),我們將設(shè)定action和category的其它屬性值,系統(tǒng)會(huì)根據(jù)我們?cè)O(shè)定的屬性值去AndroidManifest.Xml的application中尋找標(biāo)識(shí),任何一個(gè)Activity的action和category是唯一,所以程序在任何時(shí)候都能唯一啟動(dòng)一個(gè)Activity,這樣,不同的Activity之間的跳轉(zhuǎn)就實(shí)現(xiàn)了。蔽東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文)第17頁在AndroidManifest.Xml中有一個(gè)根結(jié)點(diǎn)<uses-sdk>,它是我們需要定義的ADT版本,例如我們將其值設(shè)定為Android:minSdkVersion="10",則表示此Android工程所用的版本為2.3,Android還有1.1、1.5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年設(shè)備維修保養(yǎng)標(biāo)準(zhǔn)合同(含環(huán)保標(biāo)準(zhǔn))執(zhí)行規(guī)范3篇
- 2024年防火門生產(chǎn)及銷售代理合同
- 2024年診所藥品供應(yīng)承包合同3篇
- 2024年規(guī)范員工聘任協(xié)議范本版B版
- 2024年螺桿機(jī)系列化產(chǎn)品批量采購合同范本3篇
- 2024年貴陽八中校園小賣部租賃經(jīng)營合同
- 2024年高品質(zhì)紗窗買賣協(xié)議版B版
- 2024年繪畫項(xiàng)目承接協(xié)議
- 2024年空運(yùn)合作合同書模板版B版
- 2024年黃金抵押借款合同范本(簡化版)
- 陜西省陜西師大附中2025屆高一物理第一學(xué)期期末統(tǒng)考模擬試題含解析
- 人教版2024年小學(xué)二年級(jí)上學(xué)期語文期末考試往年真題
- 2024年保安員證考試題庫及答案(共130題)
- 期末綜合素養(yǎng)評(píng)價(jià) (三)(試題)-2024-2025學(xué)年一年級(jí)上冊(cè)數(shù)學(xué)
- 腸易激綜合征護(hù)理查房
- 2023-2024學(xué)年衢州市八年級(jí)語文上學(xué)期期末試卷(附答案解析)
- 《稅費(fèi)計(jì)算與申報(bào)》課程標(biāo)準(zhǔn)(含課程思政)
- 開源軟件組件漏洞檢測(cè)與自動(dòng)修復(fù)技術(shù)研究綜述
- 防范工貿(mào)行業(yè)典型事故三十條措施解讀
- 2024年1月國家開放大學(xué)??啤缎谭▽W(xué)(2)》期末紙質(zhì)考試試題及答案
- 中航集團(tuán)招聘筆試題庫2024
評(píng)論
0/150
提交評(píng)論