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