版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
畢業(yè)實(shí)習(xí)報(bào)告專班學(xué)
業(yè)級(jí)號(hào)
軟件工程01學(xué)指
生導(dǎo)
姓名教師實(shí)
習(xí)
時(shí)間
2012~2013學(xué)第2學(xué)實(shí)
習(xí)
成績(jī)目錄一、引..................................................................1.1項(xiàng)目背...............................................................1.2安卓介...............................................................1.3安卓組件介...........................................................1.4安卓XML文件的使.....................................................41.5編寫目...............................................................第二章系統(tǒng)功能簡(jiǎn)........................................................2.1功能需求分...........................................................2.1.1播放器的基本控制需.................................................62.1.2聲音控制的程序流程圖.................................................72.2系統(tǒng)性能需...........................................................2.3運(yùn)行環(huán)境需...........................................................第三章程序詳細(xì)設(shè)........................................................3.1程序界面設(shè)...........................................................3.2程序音樂文件過濾......................................................113.3程序界面Activity類的設(shè).............................................113.4音樂播放核心代......................................................12第四章程序設(shè)計(jì)結(jié)果及測(cè)試分.............................................144.1程序運(yùn)行效果........................................................4.2程序調(diào)試過..........................................................總.....................................................................實(shí)習(xí)日...................................................................-1-一、引言1.1項(xiàng)目背景當(dāng)今社會(huì)的生活節(jié)奏越來越快人們對(duì)手機(jī)的要求也越來越高由于手機(jī)市場(chǎng)發(fā)展迅速,使得手機(jī)操作系統(tǒng)也出現(xiàn)了不同各類,現(xiàn)在的市場(chǎng)上主要有三個(gè)手機(jī)操作系統(tǒng),symbian,Windowsmobile,以及谷歌的Android作系統(tǒng),其中占有開放源代碼優(yōu)勢(shì)的Android系統(tǒng)有最大的發(fā)展前景那么能否在手機(jī)上擁有自己編寫的個(gè)性音樂播放器呢?答案是:肯定的,谷Android系統(tǒng)就能做到。本文的音樂播放器就是基于谷歌Android手機(jī)平臺(tái)的播放器。Android是谷歌于2007公布的開放式源代碼手機(jī)系統(tǒng)它的開放性就優(yōu)于其它封閉式的手機(jī)系統(tǒng)此何人都可能根據(jù)自己的喜好將手機(jī)系統(tǒng)中的所有功能重新編寫。這使得越來越多的人關(guān)注這個(gè)操作系統(tǒng)。本次作品音樂播放器就是基于平臺(tái)的。隨著計(jì)算機(jī)的廣泛運(yùn)用機(jī)市場(chǎng)的迅速發(fā)展音頻視頻資源也在網(wǎng)上廣為流傳,這些資源看似平常但已經(jīng)漸漸成為人們生活中必不可少的一部分了是各種手機(jī)播放器也緊跟著發(fā)展起來但是很多播放器一味追求外觀花哨功能龐大對(duì)用戶的手機(jī)造成了很多資源浪費(fèi),比如,內(nèi)存等的占用率過高,在用戶需要多任務(wù)操作時(shí),受到了不小的影響,帶來了許多不便,而對(duì)于大多數(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等,擁有播放菜單,能選擇播放清單,具備一般播放器的功能,如上一曲,下一曲,音量調(diào)節(jié)等。1.2安卓介紹Android一詞的本義指“機(jī)器人時(shí)也Google于年11月日宣布的基于Linux平臺(tái)的開源手機(jī)操作系統(tǒng)的名稱,該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟-2-件組成,號(hào)稱是首個(gè)為移動(dòng)終端打造的真正開放和完整的移動(dòng)軟件。目前最好的是Android2.0的摩托羅拉DroidAndroid是基于Linux內(nèi)核的軟件平臺(tái)和操作系統(tǒng),早期由發(fā)(在華注冊(cè)商標(biāo)名為“安致開放手機(jī)聯(lián)盟(OpenHandsetAlliance)開發(fā)。它采用了軟件堆層(softwarestack,又名以軟件疊層)的架構(gòu),主要分為三部分。低層Linux內(nèi)核工作為基礎(chǔ),只提供基本功能;其他的應(yīng)用軟件則由各公司自行開發(fā),以作為編寫程序的一部分。另外,為了推廣此技術(shù),Google和其它幾十個(gè)手機(jī)公司建立了開放手機(jī)聯(lián)盟。1.3安卓組件介紹Activity——應(yīng)用表示層(基類Activity)應(yīng)用程序中的每個(gè)屏幕都是通過繼承和擴(kuò)展基類來實(shí)現(xiàn)的。同一應(yīng)用中的每個(gè)Activity是相互獨(dú)立的。程序啟動(dòng)后顯示的第一幅畫面是應(yīng)用程序的第一個(gè)(默認(rèn)窗口后可以根據(jù)需要從這個(gè)啟動(dòng)另一個(gè)新的Activity。Activity用實(shí)現(xiàn)應(yīng)用中的GUI用戶直接通過應(yīng)用程序做交互Activity窗口內(nèi)的可見內(nèi)容通過基類View提供。使用Activity.setContentView()法設(shè)置當(dāng)前Activity中的View對(duì)象。Service——沒有可見的用戶界面,但能夠長(zhǎng)時(shí)間運(yùn)行于后臺(tái)(基類Service)運(yùn)行于應(yīng)用程序進(jìn)程的主線程中,因此Service會(huì)阻塞其他組件和用戶界面。Service是不能自己?jiǎn)?dòng)的,必須通過Context對(duì)象(如一個(gè)Activity)調(diào)用startService或bindService方法來啟動(dòng)(用這兩種方法啟動(dòng)的的生命周期不同Broadcast——用戶接收廣播通知的組件(基類BroadcastReceiverAndroid中的廣播要么來自于系統(tǒng),要么來自普通應(yīng)用程序。很多事件都可能導(dǎo)致系統(tǒng)廣播如手機(jī)所在時(shí)區(qū)發(fā)生變化電池電量低用戶改變系統(tǒng)語言設(shè)置等。來自普通應(yīng)用程序,如一個(gè)應(yīng)用程序通知其他應(yīng)用程序某些數(shù)據(jù)已經(jīng)下載完畢。-3-ContentProvider—ContentProvider)
為應(yīng)用程序信共基類在Android中,每個(gè)應(yīng)用程序都是用自己的用戶并在自己的進(jìn)程中運(yùn)行。這樣的好處是可以有效地保護(hù)系統(tǒng)及應(yīng)用程序避免被其他不正常德應(yīng)用程序所影響每個(gè)進(jìn)程都擁有獨(dú)立的進(jìn)程地址空間和虛擬空間。ContentProvider可以將應(yīng)用程序特定的數(shù)據(jù)提供給另一個(gè)應(yīng)用程序使用。其數(shù)據(jù)存儲(chǔ)方式可以是Android文件系統(tǒng)、SQLite數(shù)據(jù)庫(kù)或者其他合理的方式。當(dāng)數(shù)據(jù)需要在應(yīng)用程序間共享時(shí)就可以利用ContentProvider數(shù)據(jù)定義一個(gè)URI。之后,其他應(yīng)用程序?qū)?shù)據(jù)進(jìn)行查詢或者修改時(shí),只需要從當(dāng)前上下文對(duì)象獲得一個(gè)ContentResolver,然后傳入響應(yīng)的URI就可以了。Intent——連接組件的紐帶以上4種基本組件中,除了ContentProvider通過ContentResolver激活外,其他3種組件Activity、Service和BroadcastReceiver都是由Intent步消息激活的。Intent在不同的組件之間傳遞消息,將一個(gè)組件的請(qǐng)求意圖傳給另一個(gè)組件。因此,Intent是包含具體請(qǐng)求信息的對(duì)象。Intent是一種運(yùn)行時(shí)綁定(runtimebinding機(jī)制,它能夠在程序運(yùn)行的過程中連接兩個(gè)不同的組件。通過Intent,你的程序可以向Android表到某種請(qǐng)求或者意愿,Android會(huì)根據(jù)意愿的內(nèi)容選擇適當(dāng)?shù)慕M件來處理請(qǐng)求。1.4安卓XML文件使用在安卓工程中量使用了文件如界面布局文件符資源文件格style文件,簡(jiǎn)單圖形文件等。比如在界面布局文件中,通過指定控件的排列方式、間隔像素、對(duì)齊方式等,達(dá)到對(duì)頁(yè)面進(jìn)行布局的目的時(shí)使用特定編輯器時(shí)解析布局文件達(dá)所見即所得的目的。在字符資源中通過關(guān)鍵字編輯字符內(nèi)容這樣可以在不修改代碼的情況下修改程序內(nèi)容。同時(shí),考慮多國(guó)語言的使用,更加容易替換字符內(nèi)容以我們建議在代碼的編寫過程中,盡量少地在程序中使用特定語言字符,而是在字符資源文件中編寫。在風(fēng)格文件中通過特定關(guān)鍵字可以使界面呈現(xiàn)統(tǒng)一風(fēng)格同時(shí)減少重復(fù)代碼的編-4-寫,減輕工作量。圖形XML文件中可以實(shí)現(xiàn)一些矩形、橢圓形等圖形文件,可以指定顏色和漸變顏色范圍。1.5編寫目的現(xiàn)今社會(huì)生活緊張而欣賞音樂是其中最好的舒緩壓力的方式之一本項(xiàng)目的目的是開發(fā)一個(gè)可以播放主流音樂文件格式的播放器,本設(shè)計(jì)的實(shí)現(xiàn)的這主要功能是播放、wav多種格式的音樂文件并且能夠控制播放暫停,停止,上一曲,下一曲,音量調(diào)節(jié),視覺外觀,播放列表和歌曲文件的管理操作等多種播放控制功能,界面簡(jiǎn)明,操作簡(jiǎn)單。本項(xiàng)目是一款基于Android手機(jī)平臺(tái)的音樂播放器手機(jī)擁有個(gè)性的多媒體播放器使手機(jī)顯得更生動(dòng)靈活化與人們更為接近讓手機(jī)主人隨時(shí)隨地處于音樂視頻的旋律之中使人們的生活更加多樣化使設(shè)計(jì)者更加熟練的技術(shù)和其它在市場(chǎng)上的特點(diǎn)。-5-第二章系統(tǒng)功簡(jiǎn)介2.1功能需求分析根據(jù)項(xiàng)目的目標(biāo)我們可獲得項(xiàng)目系統(tǒng)的基本需求下從不同角度來描述系統(tǒng)的需求,并且使用用例圖來描述,系統(tǒng)的功能需求們分成四部分來概括,即播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器擴(kuò)展卡需求。2.1.1播放器的基控制需求下面圖2-1是音樂播放器的基本用例圖,描述了程序的基本功能。圖播放器基本用例圖-6-2.1.2聲音控制的程序流程圖程序中一個(gè)重要模塊就是控制播放音量序可以通過點(diǎn)擊控制條調(diào)整程序音量以下圖2-2是聲音控制的程序流程圖。圖2-2聲音控制的程序流程圖點(diǎn)擊控制條之后,程序判斷音量是加還是減,程序獲取系統(tǒng)音量,當(dāng)聲音可以按照用戶點(diǎn)擊的控制條設(shè)置時(shí),程序按照控制條的大小進(jìn)行音量的調(diào)整。2.2系統(tǒng)性能需求根據(jù)Android手機(jī)系統(tǒng)要求無響應(yīng)時(shí)間為5,所以就有如下性能要求:當(dāng)要求歌曲播放時(shí),程序響應(yīng)時(shí)間最長(zhǎng)不能超過秒當(dāng)要求歌曲暫停時(shí),程序響應(yīng)時(shí)間最長(zhǎng)不能超過秒當(dāng)要求歌曲停止時(shí),程序響應(yīng)時(shí)間最長(zhǎng)不能超過秒當(dāng)要求歌曲上/下一首時(shí),程序響應(yīng)時(shí)間最長(zhǎng)不能超過秒-7-(5)當(dāng)要求進(jìn)行清單列表時(shí),程序響應(yīng)時(shí)間最長(zhǎng)不能超過秒2.3運(yùn)行環(huán)境需求操作系統(tǒng):Android手機(jī)基于Linux操作系統(tǒng)支持環(huán)境:Android1.5-4.2.2版本開發(fā)環(huán)境:Eclipse3.5ADT21-8-第三章程序詳設(shè)計(jì)3.1程序界面設(shè)計(jì)通過XML布局文件設(shè)計(jì)的程序界面如下圖3-1所示。圖3-1程序界面設(shè)計(jì)效果圖XML文件使用絕對(duì)布局方式首先是全局的ListView占據(jù)父部的全部長(zhǎng)寬然后是-9-兩個(gè)平行的進(jìn)度條幾乎占全部寬度然后是四個(gè)按鈕控件使用四張圖片作為按鈕的底色,依次是上一曲,播放,停止,下一曲。其中播放按住被點(diǎn)擊后,或是正在被播放時(shí),該按鈕會(huì)換作暫停按鈕。XML布局文件實(shí)際內(nèi)容簡(jiǎn)略如下:android:orientation="vertical"android:layout_width="fill_parent"<ListViewandroid:id="@id/android:list"android:layout_width="fill_parent"android:layout_height="fill_parent"android:drawSelectorOnTop="false"></ListView>android:layout_width="match_parent"android:id="@+id/musicBar"</SeekBar><TextViewandroid:text="TextView"android:layout_width="wrap_content"android:id="@+id/textView1""></TextView><ImageButtonandroid:layout_width="wrap_content"></ImageButton><ImageButtonandroid:id="@+id/imageLast"android:src="@drawable/last"android:layout_width="wrap_content"<ImageButtonandroid:src="@drawable/start"android:layout_width="wrap_content"<ImageButtonandroid:src="@drawable/next"-10android:layout_width="wrap_content"></ImageButton>android:layout_width="match_parent"></SeekBar></AbsoluteLayout>3.2程序音樂文過濾程序會(huì)對(duì)音樂文件夾進(jìn)行掃描過濾,提取出后綴為的文件以供播放,文件過濾類的內(nèi)容如下:classjava.io.FileFilter{accept(Filepathname){b=if(pathname.isDirectory()){b=true;}else{if(pathname.getName().endsWith(".mp3")){b=true;}else{b=false;}}b;}}3.3程序界面Activity類的設(shè)計(jì)程序的界面MusicTestActivity類是程序的主要部分設(shè)計(jì)到界面所有控件的操作及設(shè)計(jì)程序的流程控制及音樂播放的核心部分MusicTestActivity的大綱如下圖所示。字段mediaPlayer是音樂播放的核心變量,進(jìn)行音樂播放處理器是對(duì)音樂播放流程進(jìn)行管理的變量后六個(gè)監(jiān)聽器是對(duì)按鈕及進(jìn)度條的變化進(jìn)行及時(shí)響應(yīng)剩下的都是輔助標(biāo)記變量,標(biāo)記當(dāng)前播放信息,以及控制參數(shù)信息。-11圖3-2MusicTestActivity類的設(shè)計(jì)3.4音樂播放核心代碼整個(gè)程序的運(yùn)轉(zhuǎn)都是圍繞音樂播放進(jìn)行的,進(jìn)行了流程控制及異常處理等多個(gè)階段,而播放的核心是以下代碼:-12privatevoidplayMusic(Stringpath){try{先重置一下設(shè)置音樂文件的路徑準(zhǔn)備mediaPlayer.setLooping(true);//循環(huán)播放mediaPlayer.start();//開始播放//置音樂拖動(dòng)度的當(dāng)前進(jìn)度初始值musicBar.setProgress(mediaPlayer.getCurrentPosition());//置音樂拖動(dòng)條的最大值musicBar.setMax(mediaPlayer.getDuration());//System.out.println("當(dāng)前正在播放的歌曲時(shí)間是:"+mediaPlayer.getDuration());//示出來當(dāng)前音樂的時(shí)間tv.setText(toTime(mediaPlayer.getCurrentPosition())+"/"+toTime(mediaPlayer.getDuration()));//歌曲開始播放時(shí).線程也開始運(yùn)}catche){}catch(IllegalStateExceptione){}catch{}}是設(shè)計(jì)到硬件播放的變量,多以進(jìn)行了完善的異常處理,同時(shí)獲取文件的長(zhǎng)度信息。-13第四章程序設(shè)結(jié)果及測(cè)試分析4.1程序運(yùn)行效果圖如圖4-1,是程序運(yùn)行的效果圖。圖程序運(yùn)行效果圖經(jīng)過在手機(jī)上運(yùn)行,程序可以流暢地播放音樂,無卡頓現(xiàn)象,可以從音樂列表的第一欄播放到最后一欄,實(shí)時(shí)準(zhǔn)確地顯示播放進(jìn)度信息,并調(diào)整控制音量大小。按鈕上一曲、下一曲及停止都可以正確地作用停按鈕在音樂播放的時(shí)候可以正確顯示并作用被點(diǎn)擊之后,即顯示為播放按鈕,此時(shí)點(diǎn)擊該按鈕也可以正確播放音樂。經(jīng)測(cè)試,最終得到的程序可以在手機(jī)上運(yùn)行,并無任何程序不響應(yīng)現(xiàn)象。4.2程序調(diào)試過程工具附有LogCat工具,在函數(shù)的開始結(jié)束及分支處設(shè)置特定文字標(biāo)記內(nèi)容,即可以在具中打印調(diào)試內(nèi)容,這對(duì)于的判斷及追蹤有很大幫助,并了程序的運(yùn)行流程。圖4-2是LogCat工具使用的截圖。圖LogCat工具使用的截圖-14總由于對(duì)的接觸較少,所以也遇到了一些問題,無論是哪種語言首先要有自己的思路,接下來就是通過語言的實(shí)現(xiàn)。我主要遇到的大組件的理解和使用,剛開始不知道如何用相關(guān)的組件,而且組件相當(dāng)?shù)亩啵屠蠋熒险n講的相關(guān)知識(shí)比較少,對(duì)于我們初學(xué)者學(xué)習(xí)比較困難且,只是不是那么的連貫和詳細(xì),上課的時(shí)間只是跟上老師再敲代碼實(shí)現(xiàn)一個(gè)具體的功能但是不有真正的弄懂它的使用方法所以,我們?cè)谡n設(shè)中出現(xiàn)很多問題。-152013年3月4日
武漢工程大計(jì)算機(jī)科與工程學(xué)實(shí)習(xí)日記星期一晴
畢業(yè)實(shí)習(xí)筆今天上午,全班同學(xué)被召集在計(jì)算機(jī)院機(jī)電大樓機(jī)房召開實(shí)習(xí)動(dòng)員大會(huì)與上次我們參加的生產(chǎn)實(shí)習(xí)不同的是這一次要進(jìn)行的是畢業(yè)實(shí)習(xí)以為著我們要在實(shí)習(xí)的過程中親自動(dòng)手嘗試做項(xiàng)目有了之前的實(shí)習(xí)經(jīng)歷里還是蠻期待這一次能學(xué)到點(diǎn)之前沒有學(xué)過的知識(shí)。在動(dòng)員大會(huì)上班導(dǎo)給我們簡(jiǎn)要的介紹了一下我們實(shí)習(xí)的安排和目的并且給我們介紹了帶領(lǐng)我們進(jìn)行生產(chǎn)實(shí)習(xí)的老師老師是北大青鳥的一名培訓(xùn)教師看上去也是比較和藹本次實(shí)習(xí)就由他給我們講述安卓開發(fā)方面的內(nèi)容希望能在他的指導(dǎo)下學(xué)到點(diǎn)真東西。接下來的時(shí)間,裴老師給我們大概介紹了一下實(shí)習(xí)的內(nèi)容,在復(fù)習(xí)基礎(chǔ)知識(shí)的前提下,一步步接觸安卓的內(nèi)容,從明天開始正式的開啟生產(chǎn)實(shí)習(xí)之路,加油!2013年3月5日
星期二
晴今天開始我們算是正式開始了生產(chǎn)實(shí)習(xí),由于考慮到大家基礎(chǔ)知識(shí)掌握的程度不同,裴老師決定先給我們復(fù)習(xí)一下基礎(chǔ)知識(shí),從開發(fā)工具到基本語法,再?gòu)木幊踢壿嫷綌?shù)組與集合的操作帶領(lǐng)我們很快的過了一遍并配套的布置了一些相關(guān)的題目雖然講得很快但因?yàn)槲覀冎耙捕蓟蚨嗷蛏俚膶W(xué)過因此第一天的課程也算順利幾乎沒有留下任何問題。在跟著裴老師復(fù)習(xí)基礎(chǔ)的過程中,盡管只是一次復(fù)習(xí)和總結(jié),但還是解決了一些之前一直模棱兩可的問題比如說集合那一部分各種不同集合結(jié)構(gòu)的區(qū)別與聯(lián)系以及它們的用法等因此還是有一定收獲的與此同時(shí)這也算是為這次的生產(chǎn)實(shí)習(xí)開了一個(gè)好頭吧。明天的課程還是復(fù)習(xí)有關(guān)向?qū)ο缶幊痰闹R(shí),盡管也算比較熟悉了,但還是希望能從中發(fā)現(xiàn)新東西。201336日
星期三
多云繼昨天復(fù)習(xí)完基礎(chǔ)知識(shí)后,今天我們將會(huì)復(fù)習(xí)Java面向?qū)ο缶幊痰闹R(shí),裴老-i-師先把昨天遺留的一點(diǎn)小問題解決后,就開始了這一部分內(nèi)容的復(fù)習(xí)。這一部分作為編程的重點(diǎn),主要是培養(yǎng)我們面向?qū)ο缶幊痰乃季S,因此還是很重要的。主要涉及到類和對(duì)象向?qū)ο蟮娜筇匦浴庋b、繼承和多態(tài),以及抽象類與接口等知識(shí)。同樣因?yàn)槲覀冎耙捕冀佑|過因此理解起來也不算困難跟著老師的進(jìn)度也覺得比較輕松老師也用一些貼近生活有趣的例子給我們做講解這讓我們接受起來也更加容易。課后老師給我們留了一個(gè)總結(jié)性的題目讓我們實(shí)現(xiàn)一個(gè)動(dòng)物樂園的程序自己下來實(shí)現(xiàn)時(shí)發(fā)現(xiàn),它結(jié)合了面向?qū)ο髱缀跛械闹R(shí),同時(shí)還運(yùn)用到了設(shè)計(jì)模式里面的一種,這對(duì)于知識(shí)的掌握和理解真的很有幫助,希望接下來能繼續(xù)保持這種狀態(tài)。201337日
星期四
多云前兩天裴老師帶著我們把基礎(chǔ)知識(shí)和面向?qū)ο缶幊趟枷脒^了一遍,總體效果還不錯(cuò),從今天開始,就進(jìn)入到了安卓方面的知識(shí)了。老師首先給我們介紹安卓平臺(tái)的特性:應(yīng)用程序框架支持組建的重用和替換包括打電話應(yīng)用程序文件管理器等Dalvik虛擬機(jī)專門為移動(dòng)設(shè)備做了優(yōu)化Dalvik虛擬機(jī)是基于寄存器的,相對(duì)于擬機(jī)速度要快很多。內(nèi)部集成瀏覽器基于開源的引擎。優(yōu)化的圖形庫(kù)包括2D3D圖形庫(kù),SQLite用作結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)等。老師還給我們介紹Android的四層體系結(jié)構(gòu),由上而下依次是應(yīng)用程序、應(yīng)用程序框架、核心類庫(kù)和核。老師給我們介紹了Android組件類::一個(gè)Activity通常就是一個(gè)單獨(dú)的屏幕,通過調(diào)用方法可以從一個(gè)屏幕導(dǎo)航到另一個(gè)屏幕,打開的條件被封裝在中。當(dāng)一個(gè)新的屏幕打開后,前一個(gè)屏幕將會(huì)暫停,并保存在歷史堆棧中。默認(rèn)情況下,將會(huì)保留從主屏幕到每一個(gè)應(yīng)用的運(yùn)行屏幕。種長(zhǎng)生命周期的有用戶界面的程序過嗲用來啟動(dòng)一Service以通過使Context.bindService()法連接到一Service上,連接之后,我們還可以通過提供的接口與它行通信。:為了實(shí)現(xiàn)系統(tǒng)廣播而提供的一種組件。:用來實(shí)現(xiàn)不同組件之間數(shù)據(jù)的共享:是Android圖形用戶界面的基類。Android的形界面展示可以分為三層底層是Activity上面是Window再上面是Views.View可以分為View(按-ii-鈕、單選框、多選課等)和ViewGroup(布局控件。:不同組件之間相互導(dǎo)航的紐帶,封裝了不同組件之間導(dǎo)航查找的條件總的來說,今天收獲著實(shí)不小,接下來要做的就是自己回去慢慢熟悉回顧了。201338日
星期五
多云昨天復(fù)習(xí)完數(shù)據(jù)庫(kù)之后老師說從今天開始正式進(jìn)入了安卓開發(fā)的領(lǐng)域了因?yàn)槲覀冇泻芏嗳藳]有接觸過這方面的知識(shí)裴老師又很耐心的給我們介紹了安卓的部分重要知識(shí)同時(shí)還給我們簡(jiǎn)單的介紹了一下安卓開發(fā)的重要工具——接下來我們所有的實(shí)習(xí)內(nèi)容都是在這個(gè)環(huán)境下完成的。老師首先用飛秋給我們共享發(fā)環(huán)境,向我們介紹開發(fā)環(huán)境機(jī)器用法SDK下載包說明
空目錄保存插件工具,platforms空目錄保存不同版本SDKSDK工具,SDK
在線安裝的可執(zhí)行文件,SDKReadme.txt
說明文件,DebugMonitor,即調(diào)試監(jiān)控服務(wù),是一個(gè)可視化的調(diào)試監(jiān)控工具。在命令窗口中輸入就會(huì)彈出界面。主要是對(duì)系統(tǒng)運(yùn)行后臺(tái)日志的監(jiān)控有系統(tǒng)線程、虛擬機(jī)狀態(tài)的監(jiān)控,另外還可以模擬發(fā)送短信、撥打電話和發(fā)送位置信息老師首先制作一個(gè)的過程,作為例子給我們講解一個(gè)Android應(yīng)用程序結(jié)構(gòu)
源文件文件夾,gen保存自動(dòng)生成R資源類文件夾工程自動(dòng)生成的資源索引類
資源文件夾
資源文件夾保存圖片等資源文件夾
界面布局文件夾界面布局文件,
簡(jiǎn)單配置文件夾,
字符串配置文件,AndroidManifest.xmlAndroid配置清單文件
屬性文件然后老師給我們介紹了AVD安卓虛擬設(shè)備,它可以模擬真實(shí)手機(jī),這為沒有真實(shí)設(shè)備進(jìn)行調(diào)試的同學(xué)帶來了方便,它功能相當(dāng)完善,可以聯(lián)網(wǎng)甚至是模擬手機(jī)的或重力感。然后老師在helloword工程上修改布局文件,告訴我們一些簡(jiǎn)單的buttoneditview及textview的設(shè)計(jì)屬性對(duì)于第一次接觸這個(gè)的我來說覺得這是一次新奇的體驗(yàn)于是自己也試著按照自己的所想制作了幾個(gè)簡(jiǎn)單的手機(jī)程序盡管拿不上臺(tái)面內(nèi)心還是很開心的。在講解安卓組件的時(shí)候,因?yàn)樗旧淼闹R(shí)比較多,而且真正的開發(fā)過程中我們也不會(huì)去弄它因此老師只選擇了最重要的幾個(gè)部分給我們做了演示包括控件布局和資源等,簡(jiǎn)單的展示了各個(gè)屬性資源文件的常用字段功能。正式踏上了安卓開發(fā)之路,以后要更加努力了。-iii-2013311
星期一
多云時(shí)間過得真快轉(zhuǎn)眼一個(gè)星期就過去了第一個(gè)星期我們的主要任務(wù)是在復(fù)習(xí)基礎(chǔ)的同時(shí)觸了一點(diǎn)點(diǎn)安卓開發(fā)的知識(shí)從這個(gè)星期開始們就要開始進(jìn)行實(shí)戰(zhàn)開發(fā)了。裴老師準(zhǔn)備讓我們?cè)陂_發(fā)項(xiàng)目的同時(shí)來學(xué)習(xí)新的東西,我覺得這是一個(gè)很好的學(xué)習(xí)方式,這樣的話對(duì)于新知識(shí)的理解和掌握幫助肯定更大。我們要做的第一個(gè)項(xiàng)目是簡(jiǎn)單的計(jì)算器程序,經(jīng)過昨天的了解我們知道了基本的按鈕監(jiān)聽和顯示文字的方法所以今天可以做計(jì)算器程序了由于我們之前做過計(jì)算器知道其中的流程和處理所以裴老師今天帶我們做的是有頁(yè)面跳轉(zhuǎn)的計(jì)算器時(shí)就設(shè)計(jì)到activity界面的生成和數(shù)據(jù)傳遞了生成要使用到intent中附帶Bundle數(shù)據(jù),這時(shí),要生成的頁(yè)面activity就可以提取到數(shù)據(jù)了。今天我們了解到了activityintent一點(diǎn)用法,很欣喜。2013312
星期二
多云經(jīng)過昨天的學(xué)習(xí),我們略懂皮毛了,接下來老師帶領(lǐng)我們繼續(xù)深入學(xué)習(xí)。控件之中,控制條和列表是我們常用的控件之一,所以今天老師帶領(lǐng)我們學(xué)習(xí)使用這兩個(gè)控件控制條經(jīng)過布局之后可以在布局文件和程序中設(shè)置它的長(zhǎng)度大小然后在程序中設(shè)置它的監(jiān)聽器,以響應(yīng)用戶的操作。而列表比較復(fù)雜,首先布局上,我們除了再屏幕布局文件中設(shè)置列表控件之外我們還有位控件的每一項(xiàng)設(shè)置布局文件當(dāng)然也可以使用系統(tǒng)自帶的典型布局項(xiàng)當(dāng)然可選范圍比較有限所以為了我們能自由個(gè)性化地設(shè)置自己的列表,老師帶領(lǐng)我們做個(gè)性化的列表。除了布局項(xiàng)自己可以設(shè)置之外,列表的很多字段都有很多意義,可以設(shè)計(jì)出很漂亮的列表出來。這完全出乎我的意料了高興能了解他們。同時(shí)為了程序的流暢度,老師教我們合適地使用緩存這使得列表的加載更快更流暢竟手機(jī)的性能遠(yuǎn)遠(yuǎn)不如臺(tái)式機(jī)或筆記本。2013313
星期三
多云今天我們繼續(xù)了解安卓的功能和基礎(chǔ)用法。今天老師給我們講解數(shù)據(jù)存儲(chǔ)。裴老師今天又給我們介紹了一個(gè)新的知識(shí)點(diǎn)——數(shù)據(jù)存儲(chǔ),在安卓中,數(shù)據(jù)存儲(chǔ)有四-iv-種途徑,sqlite是輕量數(shù)據(jù)庫(kù),它的數(shù)據(jù)語言和sql較相似,適用于存儲(chǔ)大量有規(guī)律的數(shù)據(jù),是緩存,適用于存儲(chǔ)少量無規(guī)律數(shù)據(jù),F(xiàn)ile即本地文件存儲(chǔ),難以進(jìn)行數(shù)據(jù)更新,而且存取操作步驟繁多,最后是適用于程序間共享數(shù)據(jù)。首先裴老師帶我們熟悉sqlite數(shù)據(jù)庫(kù)的創(chuàng)建更新及增刪查改操作。然后是緩存,使用鍵子隊(duì)進(jìn)行數(shù)據(jù)的存取。忽略了文件的存取,介紹典型的是通訊錄信息所有程序只要申明了相關(guān)權(quán)限就可以讀取通訊錄信息然后由于數(shù)據(jù)的操作比較容易出錯(cuò),老師教我們?cè)陉P(guān)鍵的地方使用類打印信息,這樣可以清楚程序的運(yùn)行流程,并清楚bug的來源。知道了數(shù)據(jù)的存儲(chǔ),我很高興,之前的進(jìn)度條控制信息不能保存,現(xiàn)在有數(shù)據(jù)存儲(chǔ),我決定使用緩存保存這些信息過這些操作我知道要做出完善的程序就必須熟練掌握這些東西,看來接下來的日子是不會(huì)輕松了。2013314
星期四
晴新的一天開始了,老師今天教我們使用服務(wù)、線程及Handler、notification。今天的任務(wù)比較重,我提前感受到了壓力。老師首先告訴我們,安卓平臺(tái)為了緩解程序的運(yùn)行壓力,將很多任務(wù)都分擔(dān)到系統(tǒng)上了,比如通知notification,只要程序使用短短幾行代碼,就可以通知統(tǒng)發(fā)出消息通知。老師用例子給我們講解了通知的使用方式。由于我們?cè)趈ava中都了解過線程,handler用法與之類似,所以老師簡(jiǎn)單略過,不過提醒我們,由于界面的更新是UI程負(fù)責(zé),所以UI線程的子線程里不能進(jìn)行界面的更新操作,這會(huì)報(bào)錯(cuò)。最后service,老師帶領(lǐng)我們創(chuàng)建服務(wù)由于很多程序在退出界面后后臺(tái)然后運(yùn)行著由時(shí)間觸發(fā)等的服務(wù)所以服務(wù)是一個(gè)很有用的組件,老師的例子是在服務(wù)中每隔秒間隔,通過notification向系統(tǒng)頂部通知欄發(fā)送一條消息并記次數(shù)。又是三個(gè)很陌生的知識(shí)點(diǎn),看來越往后學(xué)習(xí)的難度真是越來越大了,盡管聽老師講得有點(diǎn)云里霧里的,但還是跟著老師的步伐完成了接下來的每一步操作,今天學(xué)習(xí)了很多,在腦子里都是混沌的,回去寢室自己好好重新自己做了一遍。2013315
星期五
多云今天老師帶領(lǐng)我們熟悉了很多有用的操作,權(quán)限、卡的存取、Toast訊息、菜單的設(shè)計(jì)。-v-為了手機(jī)信息的隱私及安全卓平臺(tái)要求程序在AndroidManifest.xml中申明所需權(quán)限,或是在進(jìn)行權(quán)限操作之前式通過醒目對(duì)話框申請(qǐng)相應(yīng)權(quán)限,這樣,手機(jī)用戶可以清楚程序進(jìn)行了哪些操作。比如聲音的控制、屏幕亮度的控制、sd文件的存取、數(shù)據(jù)庫(kù)的創(chuàng)建及更新、通訊錄短信電話的監(jiān)聽等。這對(duì)于手機(jī)是一種安全保證。Sd卡文件的存取只要申明了讀寫權(quán)限們就可以進(jìn)行相應(yīng)地讀取的設(shè)計(jì)們添加,并編輯內(nèi)容及相應(yīng)操作便可以進(jìn)行操作同時(shí)我們也可以通過布局文件進(jìn)行菜單的設(shè)計(jì)。我們了解了Toast用類,只要傳入信息、上下文并調(diào)用函數(shù),就可以再屏幕下方顯示提示訊息,這是個(gè)非常有用的功能。最終綜合了這個(gè)星期所學(xué)到的所有新知識(shí)我們粗略地了解了安卓平臺(tái)的一些基礎(chǔ)用法,這對(duì)以后自己動(dòng)手的時(shí)候,絕對(duì)是有著很大的幫助。2013318
星期一
晴時(shí)間已經(jīng)來到了生產(chǎn)實(shí)習(xí)的最后一周了今天老師給我們盡量多得休息時(shí)間讓我們提提自己做小程序的過程中遇到的困難,應(yīng)該是讓我們好好總結(jié)一下前兩周的學(xué)習(xí)成果吧?;叵脒^去兩周,復(fù)習(xí)了基礎(chǔ)知識(shí),然后在這個(gè)基礎(chǔ)上,重溫?cái)?shù)據(jù)庫(kù),熟悉安卓平臺(tái)的五大組件,了解布局文件的設(shè)計(jì),了解了監(jiān)聽器,了解了后臺(tái)服務(wù),了解菜單、卡的存取,了解權(quán)限、線程。這些知識(shí)理論性都很強(qiáng),理解起來有點(diǎn)困難,只有把它們結(jié)合實(shí)際的項(xiàng)目自己動(dòng)手親自實(shí)踐才能更好的掌握這些技術(shù)。無論怎么樣,如果沒有日復(fù)一日的長(zhǎng)久練習(xí),是不會(huì)學(xué)到真正的技能的。2013319
星期二
陰今天老師帶領(lǐng)我們熟悉網(wǎng)絡(luò)編程方面,目前計(jì)算機(jī)的發(fā)展,完全離不開因特網(wǎng),所以讓我們的手機(jī)聯(lián)網(wǎng)獲取信息是必不可少的功能,更何況安卓是3G手機(jī)的主流平臺(tái)之一。我們?cè)趈ava學(xué)習(xí)的過程中就了解過網(wǎng)絡(luò)編程以在安卓上時(shí)并沒有感覺到太多的困難。首先,我們生成=newDefaultHttpClient();HttpGet=newHttpGet(url);HttpResponseresponse=HttpEntity=response.getEntity();獲取到網(wǎng)絡(luò)傳輸?shù)男畔ⅲ缓箫@示在手機(jī)上。為了便于我們看到效果,老師讓我們?cè)?
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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版木制家具生產(chǎn)加工木工合作合同范本4篇
- 2025版委托檢測(cè)合同書-光纖網(wǎng)絡(luò)性能檢測(cè)技術(shù)3篇
- 二零二五版水產(chǎn)品電商平臺(tái)大數(shù)據(jù)分析服務(wù)合同2篇
- 2025年度母子公司新能源儲(chǔ)能技術(shù)研發(fā)合作合同3篇
- 《吳組緗天下太平》課件
- 單板加工自動(dòng)化與智能化技術(shù)考核試卷
- 2025版互聯(lián)網(wǎng)醫(yī)療投資項(xiàng)目融資借款合同3篇
- 《物價(jià)上漲時(shí)政》課件
- 2025年度木工工具租賃與施工服務(wù)承包合同4篇
- 2025年兒童玩具連鎖店加盟合同
- 農(nóng)民工工資表格
- 【寒假預(yù)習(xí)】專題04 閱讀理解 20篇 集訓(xùn)-2025年人教版(PEP)六年級(jí)英語下冊(cè)寒假提前學(xué)(含答案)
- 2024年智能監(jiān)獄安防監(jiān)控工程合同3篇
- 2024年度窯爐施工協(xié)議詳例細(xì)則版B版
- 幼兒園籃球課培訓(xùn)
- 【企業(yè)盈利能力探析的國(guó)內(nèi)外文獻(xiàn)綜述2400字】
- 統(tǒng)編版(2024新版)七年級(jí)《道德與法治》上冊(cè)第一單元《少年有夢(mèng)》單元測(cè)試卷(含答案)
- 100道20以內(nèi)的口算題共20份
- 高三完形填空專項(xiàng)訓(xùn)練單選(部分答案)
- 護(hù)理查房高鉀血癥
- 項(xiàng)目監(jiān)理策劃方案匯報(bào)
評(píng)論
0/150
提交評(píng)論