freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于android平臺的校園通軟件設(shè)計(編輯修改稿)

2025-02-12 13:32 本頁面
 

【文章內(nèi)容簡介】 圖的特殊類,來實現(xiàn)界面與界面之間的跳轉(zhuǎn)。一個意圖描述了一個應(yīng)用程序想要做什么。在意圖的描述結(jié)構(gòu)中,含有兩個重要的數(shù)據(jù)結(jié)構(gòu):動作和動作對應(yīng)的數(shù)據(jù)。典型的動作類型包括MAIN、VIEW、PICK、EDIT等等,而動作對應(yīng)的數(shù)據(jù)則以URI的形式表示。例如:顯示一個聯(lián)系人信息的界面,可以創(chuàng)建一個意圖,并將它的動作設(shè)置成VIEW,數(shù)據(jù)設(shè)置成表示這個人信息的URI。除此之外,還有一個被稱作意圖過濾器(IntentFiher)的相關(guān)類。當發(fā)生一個有效的目的請求時,意圖過濾器用來描述一個活動能夠處理什么意圖。如上例中所描述,想要正常顯示一個聯(lián)系人信息的界面,必須聲明一個意圖過濾器,它說明當有聯(lián)系人數(shù)據(jù)要被在界面上顯示時,知道如何處理它們。從一個界面跳轉(zhuǎn)到另一個界面是由解析各種意圖實現(xiàn)的。例如:一個活動使用startActivity(myIntent)來調(diào)用其他活動時,系統(tǒng)會查找所有已經(jīng)安裝的應(yīng)用程序的意圖過濾器,并從中挑選出能夠匹配myIntent意圖的活動。隨后,這個新的活動接收到意圖(myIntent)的通知并開始運行。當startActivity方法被調(diào)用,解析意圖的處理過程隨之發(fā)生,這個機制有以下兩個突出的優(yōu)點:活動可以通過一個以意圖形式產(chǎn)生的請求來重用其他組件的功能。活動可以在任何時候被一個具有等價意圖過濾器的新活動所替代。當想要編寫代碼來對外部事件做一些處理時,可以使用意圖接收器。意圖接收器并不顯示UI界面,它是通過NotificationManager來通知用戶他們感興趣的事件發(fā)生了。,()來注冊自己的意圖接收器。當一個意圖接收器被觸發(fā)時,系統(tǒng)會根據(jù)需要來啟動應(yīng)用程序。服務(wù)是具有長生命周期并且沒有用戶界面的代碼。在Android中,每個應(yīng)用程序都是有自己的userID及在自己的進程中執(zhí)行。這樣做的好處是,可以保護系統(tǒng)及應(yīng)用程序,避免被其他不正常的應(yīng)用程序所影響??梢园衙總€進程想像成是一個黑盒子,彼此不會互相影響,連內(nèi)存的資料都無法共享。如果應(yīng)用程序之間想要共享數(shù)據(jù),就需要使用用內(nèi)容提供者。一個內(nèi)容提供者就是一個類,它實現(xiàn)了一個標準的方法集合。其他的應(yīng)用程序可以使用這些方法來保存和檢索此內(nèi)容提供者處理過的數(shù)據(jù)。 Intent的詳細解析在一個Android應(yīng)用中,主要是由四種組件組成的,這四種組件可參考上一節(jié)的內(nèi)容。而這四種組件是獨立的,它們之間可以互相調(diào)用,協(xié)調(diào)工作,最終組成一個真正的Android應(yīng)用。在這些組件之間的通訊中,主要是由意圖協(xié)助完成的。意圖負責(zé)對應(yīng)用中一次操作的動作、動作對應(yīng)的數(shù)據(jù)、附加數(shù)據(jù)進行描述,Android則根據(jù)此意圖的描述,負責(zé)找到相應(yīng)的組件,將意圖傳遞給它,并完成組件的調(diào)用。因此,意圖在這里起著一個媒體中介的作用,專門提供組件之間互相調(diào)用的相關(guān)信息,實現(xiàn)調(diào)用者與被調(diào)用者之間的解耦。例如,在一個聯(lián)系人維護的應(yīng)用中,當在一個聯(lián)系人列表屏幕(假設(shè)對應(yīng)的Activity為listActivity)上,點擊某個聯(lián)系人后,希望能夠調(diào)出此聯(lián)系人的詳細信息,為了實現(xiàn)這個目的,listActivity需要構(gòu)造一個Intent,這個Intent用于告訴系統(tǒng),要做“查看”動作,此動作對應(yīng)的查看對象是“某聯(lián)系人”,然后調(diào)用startActivity(intent intent),將構(gòu)造的Intent傳入,系統(tǒng)會根據(jù)此intent中的描述。系統(tǒng)會調(diào)用找到的Activity,即為detailActivity,最終傳入Intent,detailActivitv則會根據(jù)此Intent中的描述,執(zhí)行相應(yīng)的操作。 Intent的抽象描述在Android參考文檔中,對意圖的定義是執(zhí)行某操作的一個抽象描述。該抽象描述的具體內(nèi)容如下:首先,它是要執(zhí)行的動作的一個簡要描述,如查看、修改等,Android定義了一套標準動作。此外,還可以根據(jù)應(yīng)用的需要,定義自己的動作,并可定義相應(yīng)的活動來處理自定義的動作。其次,是執(zhí)行動作要操作的數(shù)據(jù),Android采用指向數(shù)據(jù)的一個URI方式來實現(xiàn)。另外,除了動作和數(shù)據(jù)這兩個重要屬性外,還有一些附加屬性:類別:被執(zhí)行動作的附加信息。例如LAUNCHER_CATEGORY表示意圖的接受者應(yīng)該在Launcher中作為頂級應(yīng)用出現(xiàn)。而ALTERNATIVECATEGORY表示當前的意圖是一系列的可選動作中的一個,這些動作可以在同一個數(shù)據(jù)上執(zhí)行。數(shù)據(jù)類型:顯式指定意圖的數(shù)據(jù)類型。一般意圖的數(shù)據(jù)類型能夠根據(jù)數(shù)據(jù)本身進行判定,但是通過設(shè)置這個屬性,可以強制采用指定的類型。組件:指定意圖的目標組件的類名稱。通常Android會根據(jù)意圖中包含的其它屬性的信息,比如動作、數(shù)據(jù)/數(shù)據(jù)類型、類別進行查找,最終找到一個與之匹配的目標組件。附加信息:是其它所有附加信息的集合。使用附加信息可以為組件提供擴展信息,比如,如果要執(zhí)行“發(fā)送電子郵件”這個動作,可以將電子郵件的標題、正文等保存在附加信息里,傳給電子郵件發(fā)送組件??傊瑒幼?、數(shù)據(jù)/數(shù)據(jù)類型、類別和附加信息一起形成了一種語言。這種語言使系統(tǒng)能夠理解諸如“查看某聯(lián)系人的詳細信息”之類的短語。隨著應(yīng)用不斷的加入到系統(tǒng)中,它們可以添加新的動作、數(shù)據(jù)/數(shù)據(jù)類型和類別來擴展這種語言。應(yīng)用也可以提供自己的活動來處理已經(jīng)存在的這樣的“短語”,從而改變這些“短語”的行為。 Android如何解析Intent在應(yīng)用中,可以以兩種形式來使用Intent:(l)直接意圖:指定了組件屬性的意圖。通過指定具體的組件類,通知應(yīng)用啟動對應(yīng)的組件。(2)間接意圖:沒有指定組件屬性的意圖。這些意圖需要包含足夠的信息,這樣系統(tǒng)才能根據(jù)這些信息,在所有的可用組件中,確定滿足此意圖的組件。對于直接意圖,Android不需要去做解析,因為目標組件已經(jīng)很明確,Android需要解析的是那些間接意圖,通過解析,將意圖映射給可以處理此意圖的活動、意圖接收器或服務(wù)。,最終找到匹配的意圖。在這個解析過程中,Android是通過意圖的動作、數(shù)據(jù)類型、類別這三個屬性來進行判斷的,判斷方法如下:如果意圖指明定了動作,則目標組件的意圖過濾器的動作列表中就必須包含有這個動作,否則不能匹配。如果意圖沒有提供數(shù)據(jù)類型,系統(tǒng)將從數(shù)據(jù)中得到數(shù)據(jù)類型。和動作一樣,目標組件的數(shù)據(jù)類型列表中必須包含意圖的數(shù)據(jù)類型,否則不能匹配。如果意圖中的數(shù)據(jù)不是content:類型的URI,而且意圖也沒有明確指定它的數(shù)據(jù)類型,將根據(jù)意圖中數(shù)據(jù)的格式(比如:或者mailto:)進行匹配。同上,意圖的格式必須出現(xiàn)在目標組件的格式列表中。如果意圖指定了一個或多個類別,這些類別必須全部出現(xiàn)在組建的類別列表中。比如意圖中包含了兩個類別:LAUNCHER_CATEGORY和ALTERNATIVEC_CATEGORY,解析得到的目標組件必須至少包含這兩個類別。 Android活動的生命周期Android平臺是個手機作業(yè)系統(tǒng)。撇掉其他功能不談,手機的特性,就是應(yīng)該能隨時在未完成目前動作的時候,暫停正在使用的功能,切換到接電話、接收短信模式,而且在接完電話回到應(yīng)用程序時,還希望能看到一樣的內(nèi)容。現(xiàn)在用戶使用智能手機,大多已習(xí)慣使用多工的作業(yè)系統(tǒng)(如windowsMobile),可以在用手機聽音樂的同時,執(zhí)行其他多個程序。同時執(zhí)行多個程序有它的明顯好處,但也有它的缺點。每多執(zhí)行一個應(yīng)用程序,就會多耗費一些系統(tǒng)內(nèi)存,而手機里的內(nèi)存是相當有限的。當同時執(zhí)行的程序過多,或是關(guān)閉的程序沒有正確釋放掉內(nèi)存,系統(tǒng)運行時就會覺得越來越慢,甚至不穩(wěn)定。為了解決這個問題,Android引入了一個新的機制—生命周期。Android應(yīng)用程序的生命周期是由Android框架進行管理,而不是由應(yīng)用程序直接控制。通常,每一個應(yīng)用程序(入口一般會是一個活動的onCreate方法),都會占據(jù)一個進程。當系統(tǒng)內(nèi)存即將不足的時候,會依照優(yōu)先級自動進行進程的回收。不管是使用者或開發(fā)者,都無法確定應(yīng)用程序何時會被回收。關(guān)于進程的生命周期將在下一節(jié)中介紹,本節(jié)主要介紹活動的生命周期。一個活動類別除了OnCreate方法之外,還預(yù)先定義了onPause(暫停)、OnResume(繼續(xù))等的基本方法,當從一個活動切換到另一個活動的時候,原來的活動將經(jīng)過一連串的狀態(tài)改變。開發(fā)者可以在程序中添加一些各狀態(tài)相對應(yīng)的流程,每次活動狀態(tài)改變時,就會執(zhí)行相對應(yīng)的流程。要讓用戶有好的使用體驗,活動需要在各個周期中負責(zé)保管狀態(tài)、恢復(fù)狀態(tài)、傳送資料等工作。Android的虛擬機是使用堆棧管理。主要有四種狀態(tài):(l)活動狀態(tài)活動狀態(tài)是指用戶啟動應(yīng)用程序或活動后,活動運行中的狀態(tài)。在Android平臺上,同一個時刻只會有一個活動處于活動或運行狀態(tài)。其他的活動都處于未啟動、停止或是暫停的狀態(tài)。(2)暫停狀態(tài)暫停狀態(tài)是指當活動暫時暗下來,退到背景畫面的狀態(tài)。當警告對話框或電話來了時,都會讓原來運行的活動退到背景畫面。新出現(xiàn)的警告對話框等界面元件蓋住了原來的活動畫面。活動處在暫停狀態(tài)時,用戶無法與原活動互動。(3)停止狀態(tài)停止狀態(tài)是指有其他活動正在執(zhí)行,而這個活動己經(jīng)離開屏幕,不再動作的狀態(tài)。通過按返回鍵,可以調(diào)出所有處于停止狀態(tài)的應(yīng)用程序列表。處于停止狀態(tài)的活動,還可以通過通知來喚醒。(4)已回收或未啟動狀態(tài)已回收或未啟動狀態(tài)是指活動尚未被啟動、已經(jīng)被手動終止或己經(jīng)被系統(tǒng)回收的狀態(tài)。要手動終止活動,可以在程序中調(diào)用finish方法。如果是被系統(tǒng)回收,可能是因為內(nèi)存不足了,所以系統(tǒng)根據(jù)內(nèi)存不足時的回收規(guī)則,將處于停止狀態(tài)的活動所占用的內(nèi)存回收。圖31 Android活動生命周期圖31所示的七個狀態(tài)又可以歸納成三組:(l)資源分配(創(chuàng)建/銷毀)完整的活動生命周期由創(chuàng)建狀態(tài)開始,由銷毀狀態(tài)結(jié)束。創(chuàng)建時分配資源,銷毀時釋放資源。(2)可見與不可見(啟動/重新啟動/停止)當活動運行到啟動狀態(tài)時,就可以在屏幕上看到這個活動。相反地,當活動運行到停止狀態(tài)時,這個活動就會從屏幕上消失。當用戶按下返回鍵回到上一個活動時,會先到重新啟動狀態(tài),再到一般的啟動狀態(tài)。(3)用戶取得屏幕的控制權(quán)(繼續(xù)/暫停)當有個警告對話框、短信、電話等信息進入時,原來的活動會進入暫停狀態(tài),暫時放棄屏幕的控制權(quán),被中斷到背景去,將前景交給優(yōu)先級高的事件。當這些優(yōu)先級高的事件處理完后,活動就改進入繼續(xù)狀態(tài),此時又取得屏幕的控制權(quán)。 活動的運作流程由實際運行來看,我們可以歸納出所有Android應(yīng)用程序都遵循的運作流程:(l)一般啟動啟動一個活動的基本流程為onCreate一onstart一onResume。該流程首先分配資源給這個活動(創(chuàng)建狀態(tài)),然后將活動的內(nèi)容顯示到屏幕上(啟動狀態(tài))。在一切就緒后,取得屏幕的控制權(quán)(恢復(fù)狀態(tài)),用戶可以開始使用這個程序。(2)調(diào)用另一個活動調(diào)用另一個活動的基本流程為onpause(l)一onCreate(2)一onstart(2)一0nResume(2)一onStop(l)。該流程首先凍結(jié)原來的活動,再交出屏幕控制權(quán)。直到活動2完成一般啟動流程后,活動1才會被停止。(3)回到原來活動回到原來活動的基本流程為onPause(2)一onRestart(1)一onstart(l)一onResume(1)一onstop(2)一onDestroy(2)。另外按返回鍵也可以回到原來的活動。(4)退出結(jié)束退出結(jié)束的基本流程為onPause一onStop一onDestroy。如果程序中有直接調(diào)用finish方法來關(guān)閉活動的話,系統(tǒng)會跳過先凍結(jié)的階段,直接暫停,停止,然后銷毀。(5)回收后再啟動回收后再啟動的基本流程為oncreate一onstart一onresume。如果被回收掉的活動一旦又重新被調(diào)用時,會像一般啟動一樣再次調(diào)用活動的onCreate方法。當在模擬器上已經(jīng)執(zhí)行過多個應(yīng)用程序,只要按下返回鍵,就會開啟最近一次開啟過的活動。所以如果要讓再次被創(chuàng)建的活動跟原來開啟過的一樣,那么在活動之間切換時,就要保存資料:即在每次活動運行到暫?;蛲V範顟B(tài)時先保存資料,然后在創(chuàng)建時將資料讀出來。 4 Android校園通軟件的設(shè)計與實現(xiàn) 研究目標(1) 了解Android應(yīng)用程序的設(shè)計和開發(fā)過程;(2) 使用多種組件進行Android 平臺校園資訊軟件的開發(fā)。本軟件是基于Eclipse的開發(fā)環(huán)境,在Android平臺上的手機校園資訊軟件。 需求分析本軟件是Android平臺的一個校園資訊程序,啟動程序后查閱學(xué)校相關(guān)資訊包括在學(xué)校吃住娛樂風(fēng)景等各方面的訊息。從上面的描述中可以基本了解軟件的功能需求:(1) 首先是學(xué)校電影院每周電影的更新;(2) 其次有學(xué)校的各種資料;(3) 各種校園活動及周邊娛樂設(shè)施的信息;(4) 校園校景美圖查看;(5) 校園生活手冊;(6) 擴展內(nèi)容“我的資料”,及“更多”兩個Activity。 UI界面設(shè)計根據(jù)需求分析可以知道,應(yīng)用程序應(yīng)包含五個主要的用戶界面,這里需要進一步分析每個用戶界面中應(yīng)該包括哪些顯示內(nèi)容。在首頁中,需要對學(xué)校的大致情況做以介紹,并且有每周影訊的功能。在“分類”中,有各種學(xué)校的相關(guān)資料。包括娛樂,電影,紀錄片,校景,公開課及生活。另外,還有擴展內(nèi)容“我的資料”及“更多”兩個選項卡如圖41所示。 圖41 用戶界面草圖 程序模塊設(shè)計 從功能需求上分析可以看出,整個應(yīng)用程序應(yīng)劃分為5個模塊,分別是首頁、分類、搜索、我的資料和擴展功能區(qū)。 首頁介紹學(xué)校的一個總體情況,分類是整個軟件的核心,其中包括了軟件的各種主要功能,搜索是一個數(shù)據(jù)庫搜索系統(tǒng),我的資料是個人資料和數(shù)據(jù)的一個整合和提供了一些簡單的小服務(wù),更多則是后期的一些擴展功能。 在完成用戶界面設(shè)計、數(shù)據(jù)庫設(shè)計和模塊設(shè)計后,至此程序設(shè)計階段基本完成。 軟件功能圖《校園通》軟件首頁分類娛樂影院信息電影紀錄片校景查詢熱門查詢更多我的資料我的課程我的備忘我的日程我的分享圖42 軟件功能圖 文件結(jié)構(gòu)與用途在程序開發(fā)階段
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1