《Android項(xiàng)目式程序設(shè)計(jì)》03 界面跳轉(zhuǎn)和信息傳遞寫字字帖_第1頁
《Android項(xiàng)目式程序設(shè)計(jì)》03 界面跳轉(zhuǎn)和信息傳遞寫字字帖_第2頁
《Android項(xiàng)目式程序設(shè)計(jì)》03 界面跳轉(zhuǎn)和信息傳遞寫字字帖_第3頁
《Android項(xiàng)目式程序設(shè)計(jì)》03 界面跳轉(zhuǎn)和信息傳遞寫字字帖_第4頁
《Android項(xiàng)目式程序設(shè)計(jì)》03 界面跳轉(zhuǎn)和信息傳遞寫字字帖_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

項(xiàng)目三界面跳轉(zhuǎn)和信息傳遞學(xué)習(xí)目標(biāo)掌握頁面跳轉(zhuǎn)的方法掌握Intent傳參的相關(guān)知識情景導(dǎo)入手機(jī)應(yīng)用程序由多個(gè)應(yīng)用界面組成,當(dāng)用戶實(shí)現(xiàn)應(yīng)用程序的某個(gè)功能的時(shí)候,往往會需要從當(dāng)前界面跳轉(zhuǎn)到另一個(gè)界面,在Activity相互切換時(shí),會有具體的信息傳遞,為了實(shí)現(xiàn)Activity跳轉(zhuǎn)以及傳參,需要對Intent進(jìn)行進(jìn)一步了解。本次任務(wù)主要實(shí)現(xiàn)界面Intent跳轉(zhuǎn)和信息傳遞。任務(wù)描述【功能描述】本任務(wù)將設(shè)計(jì)一款界面跳轉(zhuǎn)的軟件使用線性布局技術(shù)來設(shè)計(jì)登錄系統(tǒng)界面實(shí)現(xiàn)歡迎界面跳轉(zhuǎn)到主界面點(diǎn)擊“跳轉(zhuǎn)到音樂室”按鈕,跳轉(zhuǎn)到音樂室【基本框架】基本框架如圖3.1-3.3所示,將框架圖轉(zhuǎn)換成的效果如圖3.4-3.6所示。任務(wù)描述圖3.1歡迎系統(tǒng)導(dǎo)航界面框架圖圖3.2登錄系統(tǒng)主界面框架圖圖3.3登錄系統(tǒng)音樂室界面框架圖

任務(wù)描述圖3.4歡迎系統(tǒng)導(dǎo)航界面圖3.5登錄系統(tǒng)主界面圖3.6登錄系統(tǒng)音樂室界面任務(wù)技能技能點(diǎn)1Activity介紹1Activity簡介Acitvity是一個(gè)顯示在屏幕上的用戶交互界面,是用戶可以見到的界面,進(jìn)一步說,Activity的每個(gè)界面都是獨(dú)立的,主要是用戶體驗(yàn)不同的Android應(yīng)用程序。應(yīng)用除了可以訪問自己的Activity,也可以訪問其它APP的Activity,這一點(diǎn)會在下面的項(xiàng)目中講到。任務(wù)技能2Activity生命周期Activity有生命周期,跟人的出生和死亡一樣,Activity實(shí)例是由系統(tǒng)創(chuàng)建,并在不同狀態(tài)期間回調(diào)不同的方法。一個(gè)最簡單的完整的Activity生命周期會按照如下順序回調(diào):onCreate()->onStart()->onResume()->onPause()->onStop()->onDestroy()。Android的生命周期如圖3.7所示。任務(wù)技能圖3.7Activity生命周期任務(wù)技能Activity生命周期里可以看出,系統(tǒng)在終止應(yīng)用程序進(jìn)程時(shí)會依次調(diào)用三個(gè)方法,即onPause()、onStop()和onDestroy()。onPause()方法排在了最前面,由此可見Activity在失去焦點(diǎn)時(shí)就可能被銷毀,而onStop()和onDestroy()方法就可能不會執(zhí)行。所以大多數(shù)在onPause()方法中保存當(dāng)前Activity狀態(tài),這樣才能保證在任何時(shí)候終止進(jìn)程時(shí)都可以執(zhí)行保存Activity狀態(tài)的代碼。任務(wù)技能技能點(diǎn)2Intent介紹1Intent簡介Intent用于封裝程序的“調(diào)用意圖”。兩個(gè)Activity之間,一般把需要交換的數(shù)據(jù)封裝成Bundle對象,然后將Bundle對象作為參數(shù)傳入,就可以實(shí)現(xiàn)兩個(gè)Activity之間的數(shù)據(jù)交換。任務(wù)技能(1)Intent對象大致包括7大屬性:ComponentName、Action、Category、Data、Type、Extra、Flag。顯式Intent是指定了ComponentName屬性的Intent即已經(jīng)明確了它將要啟動(dòng)哪個(gè)組件,反之沒有指定ComponentName屬性的Intent被稱為隱式IntentAction是標(biāo)識符,當(dāng)一個(gè)Activity需要和外部的Activity或者廣播一起完成某個(gè)功能時(shí)候,就會發(fā)出一個(gè)Intent,在intent-filter添加相應(yīng)的Action。在SDK中定義了一系列標(biāo)準(zhǔn)動(dòng)作,如表3.1所示任務(wù)技能任務(wù)技能Category代表Intent的種類,Android上啟動(dòng)Activity可以用程序列表、桌面圖標(biāo)、點(diǎn)擊Home激活桌面等多種方式,Category則用來標(biāo)識這些Activity的圖標(biāo)會出現(xiàn)在哪些啟動(dòng)的上下文環(huán)境里Data保存需要傳遞的數(shù)據(jù)格式,比如:tel:///Type主要是為了對data的類型做進(jìn)一步的說明,一般來說,設(shè)置data屬性為null,Type屬性才有效,如果data屬性不設(shè)置為null,系統(tǒng)會自動(dòng)根據(jù)data中的協(xié)議來分析data的數(shù)據(jù)類型

Extra用來保存過程中傳遞的數(shù)據(jù)通過設(shè)置Flag,可以設(shè)置Activity是哪種啟動(dòng)模式任務(wù)技能(2)Intent有兩種類型狀態(tài),分別為顯式和隱式顯式的Intent:一般這種Intent經(jīng)常用在一個(gè)應(yīng)用中。需要知道要啟動(dòng)的組件名稱,如某個(gè)Activity的包名和類名,在Intent中明確的指定了這個(gè)組件(Activity)。因?yàn)橐呀?jīng)明確的知道要啟動(dòng)的組件名稱,所以當(dāng)創(chuàng)建一個(gè)顯式Intent來啟動(dòng)一個(gè)Activity或者Service時(shí),系統(tǒng)會立刻通過你的Intent對象啟動(dòng)那個(gè)組件。任務(wù)技能隱式Intent:與顯示Intent最大的區(qū)別是隱式Intent不知道要啟動(dòng)的組件名稱,但是知道Intent動(dòng)作要執(zhí)行什么動(dòng)作,比如需要拍照、錄像、查看地圖等。一般這種Intent用在不同的應(yīng)用之間傳遞信息。當(dāng)你創(chuàng)建一個(gè)隱式Intent,需要在清單文件中指定intent-filter,系統(tǒng)會根據(jù)intent-filter找匹配的組件,如果你發(fā)送的Intent匹配到一個(gè)intent-filter,系統(tǒng)會把你的Intent傳遞到對應(yīng)的組件,并且啟動(dòng)它。如果找到多個(gè)匹配的intent-filter對應(yīng)的應(yīng)用程序,則會彈出一個(gè)對話框,該對話框會讓你選擇哪個(gè)應(yīng)用程序接收你的Intent。。任務(wù)技能

2Intent使用方法(1)啟動(dòng)一個(gè)Activity,具體實(shí)現(xiàn)方法如下所示(2)啟動(dòng)Service,具體實(shí)現(xiàn)方法如下所示。任務(wù)技能(3)啟動(dòng)Broadcast,具體實(shí)現(xiàn)方法如下所示。任務(wù)技能3Intent實(shí)現(xiàn)步驟(1)通過Intent可以調(diào)用并啟動(dòng)其它應(yīng)用程序,如撥打電話程序,具體實(shí)現(xiàn)方法如下所示。任務(wù)技能(2)使用電話功能需要在AndroidManifest.xml文件中添加資源權(quán)限方法,具體實(shí)現(xiàn)方法如下所示。任務(wù)技能(3)Intent不僅能夠調(diào)用應(yīng)用程序,還能實(shí)現(xiàn)應(yīng)用程序內(nèi)部Activity跳轉(zhuǎn)與數(shù)據(jù)的傳遞。在MainActivity中實(shí)現(xiàn)向SecondaryActivity發(fā)送無請求的意圖,具體實(shí)現(xiàn)方法如下所示。任務(wù)技能數(shù)據(jù)傳遞后需要在跳轉(zhuǎn)Activity中獲取數(shù)據(jù),具體實(shí)現(xiàn)方法如下所示。任務(wù)技能在MainActivity中實(shí)現(xiàn)向SecondaryActivity發(fā)送帶請求碼的意圖,具體實(shí)現(xiàn)方法如下所示。任務(wù)技能接收請求后再意圖中填充返回內(nèi)容并設(shè)置返回碼,具體實(shí)現(xiàn)方法如下所示。任務(wù)技能(4)當(dāng)SecondaryActivity結(jié)束,程序?qū)⒎祷豈ainActivity界面。MainActivity中的onActivityResult()方法將被回調(diào),具體實(shí)現(xiàn)方法如下所示。任務(wù)實(shí)施第一步:在Eclipse中創(chuàng)建一個(gè)Android工程,命名為“歡迎系統(tǒng)”,并設(shè)計(jì)界面。如圖3.4-3.6所示。第二步:在src文件夾中下建立MainActivity.java文件和MenuActivity.java文件,實(shí)現(xiàn)三秒后導(dǎo)航界面跳轉(zhuǎn)到主界面。第三步:在src文件夾中下建立OtherActivity.java文件點(diǎn)擊主界面“跳轉(zhuǎn)到音樂室”按鈕,實(shí)現(xiàn)跳轉(zhuǎn)功能。第四步:運(yùn)行程序,運(yùn)行結(jié)果如圖3.3-3.5所示。任務(wù)拓展【拓展目的】

熟悉并掌握界面跳轉(zhuǎn)及Intent傳參等技巧【拓展內(nèi)容】本任務(wù)將設(shè)計(jì)一款利用Intent傳參跳轉(zhuǎn)的“校園系統(tǒng)”軟件。效果如圖3.8、3.9所示。圖3.8校園系統(tǒng)主界面

圖3.9校園系統(tǒng)餐廳界面【拓展步驟】1設(shè)計(jì)思路:單擊GirdView單個(gè)條目后,可跳轉(zhuǎn)到對應(yīng)界面并將信息傳遞到該界面。2在Eclipse中創(chuàng)建一個(gè)Android工程,命名為“校園系統(tǒng)”,并設(shè)計(jì)界面。如圖3.7、3.8所示:在src文件夾中下建立MainActivity.java文件和GridViewAdpater.java文件,并實(shí)現(xiàn)GridView內(nèi)容填充。具體如代碼CORE0303所示。在src文件夾中下建立OtherExhibition.java文件,實(shí)現(xiàn)GirdView單擊條目事件跳轉(zhuǎn)到OtherExhibition界面并實(shí)現(xiàn)Intent傳參,根據(jù)傳遞的信息更改OtherExhibition界面。根據(jù)傳遞的信息更改OtherExhibition界面。任務(wù)拓展任務(wù)總結(jié)本項(xiàng)目主要介紹了用Android實(shí)現(xiàn)Activity之間的跳轉(zhuǎn)和頁面信息傳遞的相關(guān)知識和技能,通

溫馨提示

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

評論

0/150

提交評論