Android系統(tǒng)應(yīng)用程序的開(kāi)發(fā)方法、運(yùn)行方法、運(yùn)行裝置制造方法
【專利摘要】本發(fā)明公開(kāi)一種Android系統(tǒng)應(yīng)用程序開(kāi)發(fā)方法,包括如下步驟:創(chuàng)建UI處理類;在UI模板繼承系統(tǒng)Handler類,并實(shí)現(xiàn)用于響應(yīng)主Activity界面事件的接口,在UI模板中抽象出業(yè)務(wù)子類所具有的一般UI操作方法;在UI模板中抽象出業(yè)務(wù)模板,業(yè)務(wù)模板封裝有業(yè)務(wù)子類所具有的一般業(yè)務(wù)方法,所述一般業(yè)務(wù)方法用于通過(guò)調(diào)用UI處理類中的靜態(tài)UI處理方法向主Activity發(fā)送消息;通過(guò)UI模板、業(yè)務(wù)模板以及UI處理類開(kāi)發(fā)業(yè)務(wù)子模塊,所述業(yè)務(wù)子模塊抽象有業(yè)務(wù)子類。本發(fā)明還公開(kāi)一種Android系統(tǒng)應(yīng)用程序運(yùn)行方法及運(yùn)行裝置。
【專利說(shuō)明】Android系統(tǒng)應(yīng)用程序的開(kāi)發(fā)方法、運(yùn)行方法、運(yùn)行裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種Android系統(tǒng)應(yīng)用程序的開(kāi)發(fā)方法、運(yùn)行方法、運(yùn)行裝置。
【背景技術(shù)】
[0002]Android軟件傳統(tǒng)的設(shè)計(jì)框架常常是采用多個(gè)Activity進(jìn)行跳轉(zhuǎn)來(lái)實(shí)現(xiàn)界面的切換,各個(gè)Activity之間相互獨(dú)立,而數(shù)據(jù)的交互則一般是通過(guò)Intent作為傳遞的媒介,在界面數(shù)量較多且每個(gè)界面布局都基本相似的時(shí)候,若還是采用傳統(tǒng)的方式來(lái)實(shí)現(xiàn)則會(huì)造成資源浪費(fèi)和大量重復(fù)的代碼,而且不利于優(yōu)化和拓展。
[0003]另外,安卓系統(tǒng)下內(nèi)核為所有進(jìn)程分配的進(jìn)程內(nèi)存空間是統(tǒng)一的、固定的、有限的,一般為24M,具體由內(nèi)核定制時(shí)決定。而目前發(fā)展趨勢(shì)是市場(chǎng)對(duì)安卓程序的要求是做得越來(lái)越絢麗,界面元素越來(lái)越復(fù)雜,所以開(kāi)發(fā)時(shí)若采用多個(gè)Activity直接跳轉(zhuǎn)的框架方式,很快就會(huì)耗盡進(jìn)程內(nèi)存,導(dǎo)致程序內(nèi)存不足,引發(fā)OOM(Out Of Memory) 0而如果引入Activity的內(nèi)存釋放機(jī)制,貝U需要針對(duì)Activity的生命周期做處理,該處理存在如下問(wèn)題:一則實(shí)際沒(méi)有太大效果,Android虛擬機(jī)自己會(huì)在合適的時(shí)候釋放內(nèi)存,二則稍有不慎則很容易引發(fā)應(yīng)用程序運(yùn)行異常(RuntimeException),比如Activity在onResumeO的時(shí)候引用到一些已經(jīng)被系統(tǒng)回收的資源會(huì)引發(fā)空指針異常(NullPointerException)或者其他一些異常(位圖回收異常(ThrowlfRecycledException))。
[0004]此外傳統(tǒng)的設(shè)計(jì)框架搭建而成的應(yīng)用程序,常常是只有一個(gè)獨(dú)立的apk(AndroidPackage, Android安裝包)的應(yīng)用程序,所有的UI圖片資源都打包整合入同一個(gè)apk中,應(yīng)用程序Π采用布局文件進(jìn)行。這樣做的好處是Π圖片資源直接被編譯成了二進(jìn)制文件,java讀寫較高效,而且UI布局文件設(shè)計(jì)應(yīng)用程序界面較為方便,代碼簡(jiǎn)潔。但是這種設(shè)計(jì)框架存在一個(gè)很大的問(wèn)題,即程序升級(jí)和新功能添加時(shí)較為困難,因?yàn)榧词箖H僅更改一小段代碼,也需要更新整個(gè)apk包,對(duì)用戶的流量很高的要求;而且一旦需要更新apk,則系統(tǒng)每次都會(huì)彈出程序安裝提示框,影響用戶體驗(yàn)。
【發(fā)明內(nèi)容】
[0005]為解決上述現(xiàn)有技術(shù)問(wèn)題,本發(fā)明提供一種Android系統(tǒng)應(yīng)用程序開(kāi)發(fā)方法、應(yīng)用程序運(yùn)行方法。
[0006]本發(fā)明采用的一個(gè)技術(shù)方案是:
[0007]提供一種Android系統(tǒng)應(yīng)用程序開(kāi)發(fā)方法,包括如下步驟:創(chuàng)建UI處理類,所述UI處理類中保存有消息傳遞過(guò)程中的消息類型標(biāo)志,并封裝有靜態(tài)Π處理方法;在瓜模板繼承系統(tǒng)Handler類,并實(shí)現(xiàn)用于響應(yīng)主Activity界面事件的接口,在UI模板中抽象出業(yè)務(wù)子類所具有的一般UI操作方法;在UI模板中抽象出業(yè)務(wù)模板,業(yè)務(wù)模板封裝有業(yè)務(wù)子類所具有的一般業(yè)務(wù)方法,所述一般業(yè)務(wù)方法用于通過(guò)調(diào)用UI處理類中的靜態(tài)Π處理方法向主Activity發(fā)送消息;通過(guò)Π模板、業(yè)務(wù)模板以及Π處理類開(kāi)發(fā)業(yè)務(wù)子模塊,所述業(yè)務(wù)子模塊抽象有業(yè)務(wù)子類。[0008]本發(fā)明采用的另一個(gè)技術(shù)方案是:
[0009]提供一種Android系統(tǒng)應(yīng)用程序運(yùn)行方法,所述應(yīng)用程序由所述的Android系統(tǒng)應(yīng)用程序開(kāi)發(fā)方法開(kāi)發(fā)生成,所述Android系統(tǒng)應(yīng)用程序運(yùn)行方法具體包括:應(yīng)用程序啟動(dòng)應(yīng)用程序進(jìn)程后開(kāi)啟一個(gè)資源包加載進(jìn)程;資源包加載進(jìn)程從外部存儲(chǔ)器加載資源包至內(nèi)存中的進(jìn)程空間,資源包是以布局文件中資源ID號(hào)為關(guān)鍵字打包所有應(yīng)用程序中需要用到的資源的數(shù)據(jù)包;業(yè)務(wù)子類通過(guò)調(diào)用Π處理類中的靜態(tài)Π處理方法向主Activity發(fā)送消息;主Activity將消息交到UI模板中進(jìn)行處理,所述UI處理類中保存有消息傳遞過(guò)程中的消息類型標(biāo)志,并封裝有靜態(tài)Π處理方法;UI模板根據(jù)消息類型,選擇與業(yè)務(wù)子類相應(yīng)的UI操作方法并根據(jù)UI操作方法做出響應(yīng),進(jìn)行界面展示,其中UI模板繼承系統(tǒng)Handler類,并通過(guò)接口響應(yīng)主Activity發(fā)送的消息。
[0010]本發(fā)明的有益效果是:本發(fā)明的Android系統(tǒng)的應(yīng)用程序開(kāi)發(fā)方法、運(yùn)行方法及裝置,將相關(guān)的代碼集中封裝在一起,UI模板及封裝業(yè)務(wù)子類的業(yè)務(wù)模板這一邏輯結(jié)構(gòu)使得在增加新的子業(yè)務(wù)模塊時(shí)極為方便,只需增加少量代碼便可以實(shí)現(xiàn)功能,并提升了程序資源的加載效率以及實(shí)現(xiàn)了靜默安裝,同時(shí)大大減小了更新程序時(shí)對(duì)用戶流量的要求,極大的提高了代碼的利用效率,方便管理和優(yōu)化。
【專利附圖】
【附圖說(shuō)明】
[0011]圖1是本發(fā)明一實(shí)施方式中一種Android系統(tǒng)應(yīng)用程序開(kāi)發(fā)方法的執(zhí)行流程圖;
[0012]圖2是圖1中步驟S104的具體實(shí)現(xiàn)方法流程圖;
[0013]圖3是本發(fā)明一實(shí)施方式中一種Android系統(tǒng)應(yīng)用程序運(yùn)行方法的執(zhí)行流程圖?!揪唧w實(shí)施方式】
[0014]為詳細(xì)說(shuō)明本發(fā)明的技術(shù)內(nèi)容、構(gòu)造特征、所實(shí)現(xiàn)目的及效果,以下結(jié)合實(shí)施方式并配合附圖詳予說(shuō)明。
[0015]請(qǐng)參閱圖1,是本發(fā)明一實(shí)施方式中一種Android系統(tǒng)應(yīng)用程序開(kāi)發(fā)方法的執(zhí)行流程圖,該Android系統(tǒng)應(yīng)用程序開(kāi)發(fā)方法包括如下步驟:
[0016]步驟S101、創(chuàng)建Π處理類,所述Π處理類中保存有消息傳遞過(guò)程中的消息類型標(biāo)志,并封裝有靜態(tài)UI處理方法;
[0017]其中,所述靜態(tài)Π處理方法包括顯示進(jìn)度條、顯示提示對(duì)話框,顯示自定義吐司提示等。具體地,UI模版實(shí)現(xiàn)靜態(tài)Π處理方法目的是為了使終端軟件更加友好,例如,通用進(jìn)度條和提示框來(lái)實(shí)現(xiàn)在等待界面的進(jìn)度條展示和在操作完成界面的消息提示。
[0018]步驟S102、在UI模板繼承系統(tǒng)Handler類,并實(shí)現(xiàn)用于響應(yīng)主Activity界面事件的接口,在UI模板中抽象出業(yè)務(wù)子類所具有的一般UI操作方法,所述接口包括OnClickListener>onKeyDown>onTouch、dispatchTouchEvent 接 P。
[0019]具體地,步驟S102的作用在于:由于每個(gè)應(yīng)用子模塊都要響應(yīng)用戶輸入,比如點(diǎn)擊、選擇下拉、滑動(dòng)等,所以UI模版實(shí)現(xiàn)通用接口來(lái)響應(yīng)Activity的界面事件;另外,由于每個(gè)子模塊都會(huì)在子線程或者異步任務(wù)里面處理一些較為耗時(shí)的操作,操作完成后需要通知前端進(jìn)行下一步處理,所以UI模版繼承Handler類來(lái)實(shí)現(xiàn)流程的跳轉(zhuǎn)。
[0020]步驟S103、在UI模板中抽象出業(yè)務(wù)模板,業(yè)務(wù)模板封裝有業(yè)務(wù)子類所具有的一般業(yè)務(wù)方法,所述一般業(yè)務(wù)方法用于通過(guò)調(diào)用Π處理類中的靜態(tài)Π處理方法向主Activity發(fā)送消息,所述一般業(yè)務(wù)方法包括初始化控件、用戶點(diǎn)擊響應(yīng)onClick、流程確認(rèn)跳轉(zhuǎn)MsgOk、流程取消跳轉(zhuǎn)MsgCancle。
[0021]步驟S104、通過(guò)UI模板、業(yè)務(wù)模板以及UI處理類開(kāi)發(fā)業(yè)務(wù)子模塊,所述業(yè)務(wù)子模塊抽象有業(yè)務(wù)子類。
[0022]具體地,步驟S103U04的作用在于,在Π模版之下繼續(xù)抽象出業(yè)務(wù)模板類,封裝出最一般的業(yè)務(wù)處理方法,然后根據(jù)具體子業(yè)務(wù)再抽象出具體業(yè)務(wù)子模塊,最后各個(gè)業(yè)務(wù)子模塊只需實(shí)現(xiàn)各自不同的方法并根據(jù)各自的具體業(yè)務(wù)布局文件加載不同資源即可,為后期增加各種子業(yè)務(wù)提供了極大的方便。
[0023]請(qǐng)參閱圖2,是圖1中步驟S104的具體實(shí)現(xiàn)方法流程圖。所述步驟S104具體包括如下步驟:
[0024]步驟S1041、以資源ID號(hào)為關(guān)鍵字打包所有應(yīng)用程序需要用到的資源。
[0025]步驟S1042、通過(guò)類裝載器裝載子業(yè)務(wù)子模塊對(duì)應(yīng)的業(yè)務(wù)子類并將其實(shí)例化,然后加載與業(yè)務(wù)子類對(duì)應(yīng)的業(yè)務(wù)布局文件,所述業(yè)務(wù)布局文件包含資源ID號(hào)。
[0026]步驟S1043、在初始化控件中找到業(yè)務(wù)子類對(duì)應(yīng)的控件,并設(shè)置監(jiān)聽(tīng)的主Activity界面事件。
[0027]步驟S1044、重載用戶點(diǎn)擊響應(yīng)onClick并添加相應(yīng)按鈕的處理事件。
[0028]步驟S1045、重載流程確認(rèn)跳轉(zhuǎn)MsgOk和流程取消跳轉(zhuǎn)MsgCancle,并在流程確認(rèn)跳轉(zhuǎn)和流程取消跳轉(zhuǎn)中添加自定義消息的處理函數(shù)。
[0029]以手機(jī)充值業(yè)務(wù)為例,應(yīng)用開(kāi)發(fā)者只需要四步就可以完成手機(jī)充值子模塊的開(kāi)發(fā)。第一步實(shí)例化UI模板子類并加載UI布局,每個(gè)子業(yè)務(wù)模塊都是一個(gè)UI模板子類,開(kāi)發(fā)者需要通過(guò)類裝載器裝載并實(shí)例化,實(shí)例化成功之后需要加載對(duì)應(yīng)的布局顯示UI界面;第二步在initViews里面找到對(duì)應(yīng)的控件并設(shè)置監(jiān)聽(tīng)事件,比如按鈕的點(diǎn)擊事件、下拉框的選擇事件、滾動(dòng)視圖的滾動(dòng)事件;第三步重載onClick并添加相應(yīng)按鈕的處理事件;第四步重載MsgOk和MsgCancle,由于MsgOk和MsgCancle可以自動(dòng)幫應(yīng)用開(kāi)發(fā)者實(shí)現(xiàn)流程的跳轉(zhuǎn),所以開(kāi)發(fā)者只需要在MsgOk和MsgCancle里面添加自定義消息的處理函數(shù)即可,如果需要處理父類的消息亦可重載。
[0030]如此Android應(yīng)用程序開(kāi)發(fā)變得簡(jiǎn)單,而且終端軟件可拓展性極強(qiáng),用極小的代價(jià)便可開(kāi)發(fā)一個(gè)新的功能模塊。首先,應(yīng)用程序進(jìn)程空間里只有一個(gè)Activity,不會(huì)出現(xiàn)多個(gè)Activity入棧而引發(fā)程序00M ;其次,不必在每個(gè)Activity里面都重載Handler,對(duì)每個(gè)消息都映射一個(gè)處理函數(shù),減輕了工作量和代碼冗余量;最后,不需要在Activity的特定生命周期里添加對(duì)內(nèi)存釋放的處理,UI模板的業(yè)務(wù)子類在切換的時(shí)候會(huì)自動(dòng)調(diào)用onClose方法,onClose方法自動(dòng)負(fù)責(zé)一些資源的釋放,如果開(kāi)發(fā)者需要做些額外的工作,亦可重載模板子類的onClose方法。
[0031]請(qǐng)參閱圖3,是本發(fā)明一實(shí)施方式中一種Android系統(tǒng)應(yīng)用程序運(yùn)行方法的執(zhí)行流程圖。該應(yīng)用程序由上述Android系統(tǒng)應(yīng)用程序開(kāi)發(fā)方法開(kāi)發(fā)生成。
[0032]該Android系統(tǒng)應(yīng)用程序運(yùn)行方法具體包括步驟。
[0033]步驟S201、應(yīng)用程序啟動(dòng)應(yīng)用程序進(jìn)程后開(kāi)啟一個(gè)資源包加載進(jìn)程。
[0034]步驟S202、資源包加載進(jìn)程從外部存儲(chǔ)器加載資源包至內(nèi)存中的進(jìn)程空間,資源包是以布局文件中資源ID號(hào)為關(guān)鍵字打包所有應(yīng)用程序中需要用到的資源的數(shù)據(jù)包。
[0035]在步驟S201、202中,布局文件引用的文件資源僅僅只標(biāo)識(shí)資源ID號(hào),并不真正引入任何資源,由于事先已經(jīng)將存放在外部存儲(chǔ)器的文件數(shù)據(jù)導(dǎo)入以內(nèi)存形式存在的進(jìn)程空間,而內(nèi)存間的數(shù)據(jù)轉(zhuǎn)移速度非???,在這個(gè)過(guò)程中用戶層面是感覺(jué)不到任何延遲、遲滯現(xiàn)象的,其界面的展示速度和流暢程度甚至比傳統(tǒng)的資源文件與應(yīng)用程序布局文件整合在一起的方式還要快。
[0036]基于上述方案,應(yīng)用程序安裝時(shí)需要兩個(gè)文件:一個(gè)是程序apk,另一個(gè)是資源包。采用這種思路設(shè)計(jì)的系統(tǒng),安裝用的apk極少情況會(huì)超過(guò)IM的容量,主要的容量在資源包。一般功能較復(fù)雜的系統(tǒng)安裝用的apk容量只在200k?300k左右。需要更新Π資源(皮膚、界面特效等)時(shí)只需要更新資源包,實(shí)現(xiàn)了應(yīng)用程序更新時(shí)靜默安裝的用戶特性。為進(jìn)一步減少用戶更新時(shí)耗費(fèi)的流量,可以針對(duì)各業(yè)務(wù)功能拆分不同的資源包,只更新有變化業(yè)務(wù)對(duì)應(yīng)的資源包。
[0037]步驟S203、業(yè)務(wù)子類通過(guò)調(diào)用UI處理類中的靜態(tài)UI處理方法向主Activity發(fā)送消息,所述UI處理類中保存有消息傳遞過(guò)程中的消息類型標(biāo)志,并封裝有靜態(tài)UI處理方法。
[0038]步驟S204、主Activity將消息交到UI模板中進(jìn)行處理,Π模板繼承系統(tǒng)Handler類,并通過(guò)接口響應(yīng)主Activity發(fā)送的消息。
[0039]步驟S205、UI模板根據(jù)消息類型,選擇與業(yè)務(wù)子類相應(yīng)的UI操作方法并根據(jù)UI操作方法做出響應(yīng),進(jìn)行界面展示。
[0040]其中,所述界面展示具體步驟為:
[0041]步驟S2051、應(yīng)用程序從布局文件獲得的資源ID號(hào),以資源ID號(hào)為索引從資源包加載進(jìn)程的進(jìn)程空間檢索獲得對(duì)應(yīng)的資源,并將資源導(dǎo)入應(yīng)用程序的進(jìn)程空間。
[0042]步驟S2052、應(yīng)用程序根據(jù)資源ID號(hào)加載對(duì)應(yīng)控件并顯示。
[0043]下面對(duì)本發(fā)明一種Android系統(tǒng)應(yīng)用程序運(yùn)行裝置的技術(shù)方案進(jìn)行詳細(xì)闡述,所述應(yīng)用程序由上述的Android系統(tǒng)應(yīng)用程序開(kāi)發(fā)方法開(kāi)發(fā)生成,所述Android系統(tǒng)應(yīng)用程序運(yùn)行裝置具體包括開(kāi)啟模塊、加載模塊、業(yè)務(wù)子模塊、消息轉(zhuǎn)交模塊、界面展示模塊。
[0044]開(kāi)啟模塊用于當(dāng)應(yīng)用程序啟動(dòng)應(yīng)用程序進(jìn)程后開(kāi)啟一個(gè)資源包加載進(jìn)程;加載模塊用于調(diào)用資源包加載進(jìn)程從外部存儲(chǔ)器加載資源包至內(nèi)存中的進(jìn)程空間,資源包是以布局文件中資源ID號(hào)為關(guān)鍵字打包所有應(yīng)用程序中需要用到的資源的數(shù)據(jù)包;業(yè)務(wù)子模塊用于通過(guò)業(yè)務(wù)子類通過(guò)調(diào)用Π處理類中的靜態(tài)Π處理方法向主Activity發(fā)送消息,所述UI處理類中保存有消息傳遞過(guò)程中的消息類型標(biāo)志,并封裝有靜態(tài)Π處理方法;消息轉(zhuǎn)交模塊用于采用主Activity將消息交到UI模板中進(jìn)行處理,UI模板繼承系統(tǒng)Handler類,并通過(guò)接口響應(yīng)主Activity發(fā)送的消息;界面展示模塊用于通過(guò)Π模板根據(jù)消息類型,選擇與業(yè)務(wù)子類相應(yīng)的UI操作方法并根據(jù)UI操作方法做出響應(yīng),進(jìn)行界面展示。
[0045]其中,所述界面展示模塊具體包括資源導(dǎo)入子模塊和顯示子模塊。資源導(dǎo)入子模塊用于通過(guò)應(yīng)用程序從布局文件獲得的資源ID號(hào),以資源ID號(hào)為索引從資源包加載進(jìn)程的進(jìn)程空間檢索獲得對(duì)應(yīng)的資源,并將資源導(dǎo)入應(yīng)用程序的進(jìn)程空間。顯示子模塊用于通過(guò)應(yīng)用程序根據(jù)資源ID號(hào)加載對(duì)應(yīng)控件并顯示。
[0046]本發(fā)明的Android系統(tǒng)應(yīng)用程序的開(kāi)發(fā)方法、運(yùn)行方法及裝置,將相關(guān)的代碼集中封裝在一起,Π模板及封裝業(yè)務(wù)子類的業(yè)務(wù)模板這一邏輯結(jié)構(gòu)使得在增加新的子業(yè)務(wù)模塊時(shí)極為方便,只需增加少量代碼便可以實(shí)現(xiàn)功能,并提升了程序資源的加載效率以及實(shí)現(xiàn)了靜默安裝,同時(shí)大大減小了更新程序時(shí)對(duì)用戶流量的要求,極大的提高了代碼的利用效率,方便管理和優(yōu)化。
[0047]以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種Android系統(tǒng)應(yīng)用程序開(kāi)發(fā)方法,其特征在于,包括如下步驟: 創(chuàng)建Π處理類,所述Π處理類中保存有消息傳遞過(guò)程中的消息類型標(biāo)志,并封裝有靜態(tài)UI處理方法; 在UI模板繼承系統(tǒng)Handler類,并實(shí)現(xiàn)用于響應(yīng)主Activity界面事件的接口,在UI模板中抽象出業(yè)務(wù)子類所具有的一般Π操作方法; 在UI模板中抽象出業(yè)務(wù)模板,業(yè)務(wù)模板封裝有業(yè)務(wù)子類所具有的一般業(yè)務(wù)方法,所述一般業(yè)務(wù)方法用于通過(guò)調(diào)用UI處理類中的靜態(tài)Π處理方法向主Activity發(fā)送消息;通過(guò)Π模板、業(yè)務(wù)模板以及Π處理類開(kāi)發(fā)業(yè)務(wù)子模塊,所述業(yè)務(wù)子模塊抽象有業(yè)務(wù)子類。
2.根據(jù)權(quán)利要求1所述的一種Android系統(tǒng)應(yīng)用程序開(kāi)發(fā)方法,其特征在于,所述接口 包括 OnClickListener、onKeyDown、onTouch、dispatchTouchEvent 接口,所述一般業(yè)務(wù)方法包括初始化控件、用戶點(diǎn)擊響應(yīng)onCI i ck、流程確認(rèn)跳轉(zhuǎn)MsgOk、流程取消跳轉(zhuǎn)MsgCancle0
3.根據(jù)權(quán)利要求2所述的一種Android系統(tǒng)應(yīng)用程序開(kāi)發(fā)方法,其特征在于,所述“通過(guò)Π模板、業(yè)務(wù)模板以及創(chuàng)建Π處理類開(kāi)發(fā)業(yè)務(wù)子模塊”具體包括如下步驟: 以資源ID號(hào)為關(guān)鍵字打包所有應(yīng)用程序需要用到的資源; 通過(guò)類裝載器裝載子業(yè)務(wù)子模塊對(duì)應(yīng)的業(yè)務(wù)子類并將其實(shí)例化,然后加載與業(yè)務(wù)子類對(duì)應(yīng)的業(yè)務(wù)布局文件,所述業(yè)務(wù)布局文件包含資源ID號(hào); 在初始化控件中找到業(yè)務(wù)子類對(duì)應(yīng)的控件,并設(shè)置監(jiān)聽(tīng)的主Activity界面事件; 重載用戶點(diǎn)擊響應(yīng)onClick并添加相應(yīng)按鈕的處理事件; 重載流程確認(rèn)跳轉(zhuǎn)MsgOk和流程取消跳轉(zhuǎn)MsgCancle,并在流程確認(rèn)跳轉(zhuǎn)和流程取消跳轉(zhuǎn)中添加自定義消息的處理函數(shù)。
4.根據(jù)權(quán)利要求1所述的一種Android系統(tǒng)應(yīng)用程序開(kāi)發(fā)方法,其特征在于,所述靜態(tài)UI處理方法包括顯示進(jìn)度條、顯示提示對(duì)話框,顯示自定義吐司提示等。
5.一種Android系統(tǒng)應(yīng)用程序運(yùn)行方法,其特征在于,所述應(yīng)用程序由權(quán)利要求1-4任意一項(xiàng)所述的Android系統(tǒng)應(yīng)用程序開(kāi)發(fā)方法開(kāi)發(fā)生成,所述Android系統(tǒng)應(yīng)用程序運(yùn)行方法具體包括: 應(yīng)用程序啟動(dòng)應(yīng)用程序進(jìn)程后開(kāi)啟一個(gè)資源包加載進(jìn)程; 資源包加載進(jìn)程從外部存儲(chǔ)器加載資源包至內(nèi)存中的進(jìn)程空間,資源包是以布局文件中資源ID號(hào)為關(guān)鍵字打包所有應(yīng)用程序中需要用到的資源的數(shù)據(jù)包; 業(yè)務(wù)子類通過(guò)調(diào)用UI處理類中的靜態(tài)Π處理方法向主Activity發(fā)送消息,所述Π處理類中保存有消息傳遞過(guò)程中的消息類型標(biāo)志,并封裝有靜態(tài)Π處理方法; 主Activity將消息交到UI模板中進(jìn)行處理,UI模板繼承系統(tǒng)Handler類,并通過(guò)接口響應(yīng)主Activity發(fā)送的消息; UI模板根據(jù)消息類型,選擇與業(yè)務(wù)子類相應(yīng)的UI操作方法并根據(jù)UI操作方法做出響應(yīng),進(jìn)行界面展示。
6.根據(jù)權(quán)利要求5所述的一種Android系統(tǒng)應(yīng)用程序運(yùn)行方法,其特征在于, 所述界面展示步驟具體為: 應(yīng)用程序從布局文件獲得的資源ID號(hào),以資源ID號(hào)為索引從資源包加載進(jìn)程的進(jìn)程空間檢索獲得對(duì)應(yīng)的資源,并將資源導(dǎo)入應(yīng)用程序的進(jìn)程空間; 應(yīng)用程序根據(jù)資源ID號(hào)加載對(duì)應(yīng)控件并顯示。
7.根據(jù)權(quán)利要求5所述的一種Android系統(tǒng)應(yīng)用程序運(yùn)行方法,其特征在于,所述接口包括 OnClickListener> onKeyDown> onTouch、dispatchTouchEvent 接 P。
8.一種Android系統(tǒng)應(yīng)用程序運(yùn)行裝置,其特征在于,所述應(yīng)用程序由權(quán)利要求1-4任意一項(xiàng)所述的Android系統(tǒng)應(yīng)用程序開(kāi)發(fā)方法開(kāi)發(fā)生成,所述Android系統(tǒng)應(yīng)用程序運(yùn)行裝置具體包括: 開(kāi)啟模塊,用于當(dāng)應(yīng)用程序啟動(dòng)應(yīng)用程序進(jìn)程后開(kāi)啟一個(gè)資源包加載進(jìn)程; 加載模塊,用于調(diào)用資源包加載進(jìn)程從外部存儲(chǔ)器加載資源包至內(nèi)存中的進(jìn)程空間,資源包是以布局文件中資源ID號(hào)為關(guān)鍵字打包所有應(yīng)用程序中需要用到的資源的數(shù)據(jù)包; 業(yè)務(wù)子模塊,用于通過(guò)業(yè)務(wù)子類通過(guò)調(diào)用Π處理類中的靜態(tài)Π處理方法向主Activity發(fā)送消息,所述Π處理類中保存有消息傳遞過(guò)程中的消息類型標(biāo)志,并封裝有靜態(tài)UI處理方法; 消息轉(zhuǎn)交模塊,用于采用主Activity將消息交到UI模板中進(jìn)行處理,UI模板繼承系統(tǒng)Handler類,并通過(guò)接口響應(yīng)主Activity發(fā)送的消息; 界面展示模塊,用于通過(guò)Π模板根據(jù)消息類型,選擇與業(yè)務(wù)子類相應(yīng)的Π操作方法并根據(jù)UI操作方法做出響應(yīng),進(jìn)行界面展示。
9.根據(jù)權(quán)利要求8所述`的一種Android系統(tǒng)應(yīng)用程序運(yùn)行裝置,其特征在于,所述界面展示模塊具體包括: 資源導(dǎo)入子模塊,用于通過(guò)應(yīng)用程序從布局文件獲得的資源ID號(hào),以資源ID號(hào)為索引從資源包加載進(jìn)程的進(jìn)程空間檢索獲得對(duì)應(yīng)的資源,并將資源導(dǎo)入應(yīng)用程序的進(jìn)程空間; 顯示子模塊,用于通過(guò)應(yīng)用程序根據(jù)資源ID號(hào)加載對(duì)應(yīng)控件并顯示。
10.根據(jù)權(quán)利要求8所述的一種Android系統(tǒng)應(yīng)用程序運(yùn)行裝置,其特征在于,所述接口包括 OnClickListener> onKeyDown> onTouch、dispatchTouchEvent 接 P。
【文檔編號(hào)】G06F9/445GK103729188SQ201310754143
【公開(kāi)日】2014年4月16日 申請(qǐng)日期:2013年12月31日 優(yōu)先權(quán)日:2013年12月31日
【發(fā)明者】黃海峰, 林小泉 申請(qǐng)人:福建三元達(dá)軟件有限公司