全面對(duì)Android界面系統(tǒng)進(jìn)行解析
目前,國(guó)內(nèi)已經(jīng)有一些手機(jī)設(shè)計(jì)商開(kāi)始關(guān)注和研究Android界面了,通過(guò)豐厚的獎(jiǎng)金來(lái)吸引開(kāi)發(fā)者,鼓勵(lì)更多的開(kāi)發(fā)人員從事Android手機(jī)系統(tǒng)的開(kāi)發(fā)工作。
在Windows界面中,大家都知道分成模式對(duì)話框和無(wú)模工對(duì)話框,但在手機(jī)界面中,我們也不能想象到,我個(gè)界面是很難同時(shí)顯示在一個(gè)界面中的,因主屏幕很小。所以說(shuō)在Android界面系統(tǒng)中。
界面跟我們的Windows還是有不少區(qū)別的,Android界面中同一時(shí)間只能顯示一個(gè)界面(Activity),但允許子界面中再調(diào)子界面,所以這樣想來(lái),在一個(gè)開(kāi)啟的程序中,如果調(diào)用了子界面后,其實(shí)在后面是生成了一個(gè)界面棧,如下圖可以形式象的表示出:
在系統(tǒng)中,有一個(gè)優(yōu)化處理方式是,一個(gè)程序可以且只有一個(gè)Activity,如果調(diào)用了子界面后,再把該程序隱藏到后臺(tái),如果系統(tǒng)不足時(shí),系統(tǒng)會(huì)將彈出的Activity收回,只剩下一個(gè)最原始的Activity,這個(gè)主Activity,也可以說(shuō)是程序的入口。
這代碼碼到并不復(fù)雜,我們一項(xiàng)項(xiàng)分析:
◆ Intent
這個(gè)具體我也不清楚怎么來(lái)翻譯,主要就是用于界面之間的溝通吧,當(dāng)然可能還有更多功能,以后再慢慢了解去!new Intent(MainActivity.this, NewForm.class);這里的創(chuàng)建就可以看到我們將NewForm這個(gè)類傳入了。
◆startActivity
啟動(dòng)界面函數(shù),傳入的參數(shù)也就是我們定義好的intent。
◆ startActivityForResult
這也是一個(gè)啟動(dòng)界面的函數(shù),但與startActivity的區(qū)別就是,這個(gè)方法啟動(dòng)界面后,這個(gè)界面可以將返回值傳入到父窗體中。至于這個(gè)參數(shù)1,目前還不是很了解,先用著吧。’
對(duì)于這樣的跨程序調(diào)用,Android界面中并沒(méi)有采用定位程序再定信程序集中的界面來(lái)實(shí)現(xiàn),而是采用類似于婚介所的形式,在系統(tǒng)我們安裝一個(gè)apk程序后,系統(tǒng)會(huì)自動(dòng)把里面的activity信息加載到系統(tǒng)的一個(gè)列表中。
這個(gè)列表記錄著Activity的名稱,描述,數(shù)據(jù)格式等信息,另一個(gè)程序如果想調(diào)用系統(tǒng)中其他程序的界面時(shí),只要向系統(tǒng)(婚介所)提供我需要的Activity(對(duì)象)的描述,由系統(tǒng)去篩選這個(gè)Activity,然后把結(jié)果(Intent)交給你的程序來(lái)處理。
【編輯推薦】