一種Android應(yīng)用程序開發(fā)方法
【專利摘要】本發(fā)明提供一種Android應(yīng)用程序開發(fā)方法及系統(tǒng),針對需要調(diào)用隱藏接口的應(yīng)用程序的開發(fā),所述Android應(yīng)用程序開發(fā)方法包括:在Android應(yīng)用程序開發(fā)環(huán)境中增加適配層模塊;并將所述適配層模塊編譯到所述應(yīng)用程序中;所述適配層模塊用于保證開發(fā)所述應(yīng)用程序時能正常編譯,且開發(fā)的所述應(yīng)用程序能正常運行。本發(fā)明的技術(shù)方案可以使開發(fā)人員在windows系統(tǒng)下使用軟件開發(fā)系統(tǒng)對具有隱藏接口的系統(tǒng)平臺進行應(yīng)用程序開發(fā),不僅保證了在windows系統(tǒng)下使用Android開發(fā)系統(tǒng)的正常編譯,而且能夠在windows系統(tǒng)下對所生成的應(yīng)用程序安裝包進行調(diào)試驗證,并且很好的保證了開發(fā)的應(yīng)用程序的兼容性。
【專利說明】—種Android應(yīng)用程序開發(fā)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種軟件開發(fā)方法及系統(tǒng),特別是涉及一種Android應(yīng)用程序開發(fā)方法及系統(tǒng)。
【背景技術(shù)】
[0002]目前,很多手機廠商采用Android系統(tǒng)來作為手機的操作系統(tǒng)。對于采用Android作為操作系統(tǒng)的手機廠商通常會針對自己的手機產(chǎn)品對其操作系統(tǒng)進行了一些定制,包括定制一些其手機系統(tǒng)平臺的隱藏接口,這些隱藏接口接口通常用于其開發(fā)手機的系統(tǒng)功能或Π界面的實現(xiàn)。對于采用了隱藏接口的手機上的應(yīng)用程序的而開發(fā)目前通常是采用Android的反射機制來進行調(diào)用。但由于不同系統(tǒng)平臺上的隱藏接口也可能對應(yīng)不同的隱藏接口實現(xiàn)方式,這種采用反射機制的調(diào)用方式并不能保證開發(fā)出來的應(yīng)用程序的兼容性。
[0003]對于采用了特定的系統(tǒng)接口的手機上的應(yīng)用程序的開發(fā),通常需要在Linux系統(tǒng)下進行開發(fā),并需要將整個Android源代碼導(dǎo)入到Android開發(fā)系統(tǒng)中。這樣對所開發(fā)的應(yīng)用程序進行編譯時也需要將整個Android源代碼編譯一遍,這個過程就非常的漫長,開發(fā)的時間也大大的延長了。而且,通常很多的應(yīng)用程序開發(fā)者對Linux系統(tǒng)下的整體開發(fā)環(huán)境也沒有在windows系統(tǒng)下的整體開發(fā)環(huán)境那么熟悉,很容易因為缺少某個Linux驅(qū)動程序?qū)е抡{(diào)試設(shè)備無法連接到電腦,從而導(dǎo)致開發(fā)人員在Linux系統(tǒng)下開發(fā)時,對應(yīng)用程序進行驗證也需要較長的時間來處理解決和應(yīng)用程序開發(fā)本身關(guān)系不大的問題,大大降低了開發(fā)效率。
【發(fā)明內(nèi)容】
[0004]鑒于以上所述現(xiàn)有技術(shù)的缺點,本發(fā)明的目的在于提供一種Android應(yīng)用程序開發(fā)方法及系統(tǒng),用于解決現(xiàn)有技術(shù)中在Android手機中需要調(diào)用隱藏接口的應(yīng)用程序無法在windows系統(tǒng)下進行開發(fā)的問題。
[0005]為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種Android應(yīng)用程序開發(fā)方法,所述Android應(yīng)用程序開發(fā)方法應(yīng)用于需要調(diào)用隱藏接口的應(yīng)用程序的開發(fā),同一功能隱藏接口包括一種或多種實現(xiàn)方式,所述同一功能隱藏接口的多種實現(xiàn)方式分別對應(yīng)于不同的系統(tǒng)平臺,所述Android應(yīng)用程序開發(fā)方法包括:在Android應(yīng)用程序開發(fā)環(huán)境中增加適配層模塊,所述適配層模塊用于為開發(fā)的應(yīng)用程序提供所述同一功能隱藏接口的多種實現(xiàn)方式的統(tǒng)一適配接口,在所述應(yīng)用程序調(diào)用所述統(tǒng)一適配接口時,所述適配層模塊根據(jù)所述應(yīng)用程序所運行的系統(tǒng)平臺來調(diào)用對應(yīng)的隱藏接口 ;將所述適配層模塊編譯到所述應(yīng)用程序中。
[0006]優(yōu)選地,所述Android應(yīng)用程序開發(fā)方法應(yīng)用于windows系統(tǒng)中。
[0007]優(yōu)選地,所述Android應(yīng)用程序開發(fā)環(huán)境包括eclipse。
[0008]優(yōu)選地,所述Android應(yīng)用程序開發(fā)方法包括將所述統(tǒng)一適配接口中的實現(xiàn)體修改為與Android標準接口的實現(xiàn)體一致。
[0009]優(yōu)選地,所述Android應(yīng)用程序開發(fā)方法包括在Android操作系統(tǒng)源碼中建立一個與src文件夾同級的適配層文件夾,將適配層相關(guān)代碼添加到所述適配層文件夾中,并將所述適配層文件夾添加到所述Android開發(fā)系統(tǒng)的編譯路徑中。
[0010]優(yōu)選地,所述Android應(yīng)用程序開發(fā)方法中所述編譯路徑包括Android buildpath。
[0011 ] 優(yōu)選地,所述Android應(yīng)用程序開發(fā)方法中,所述適配層相關(guān)代碼包括用于實現(xiàn)以下功能的代碼:根據(jù)所述應(yīng)用程序運行的系統(tǒng)平臺,調(diào)用對應(yīng)的隱藏接口實現(xiàn)。
[0012]優(yōu)選地,所述Android應(yīng)用程序開發(fā)方法包括,將所述不同系統(tǒng)平臺的隱藏接口相關(guān)代碼復(fù)制到所述適配層文件夾。
[0013]優(yōu)選地,所述Android應(yīng)用程序開發(fā)方法中的所述隱藏接口包括針對手機特有功能設(shè)計的接口。
[0014]優(yōu)選地,各種不同功能的所述隱藏接口分別對應(yīng)不同的統(tǒng)一匹配接口。
[0015]本發(fā)明還提供一種Android應(yīng)用程序開發(fā)系統(tǒng),所述Android應(yīng)用程序開發(fā)系統(tǒng),用于需要調(diào)用隱藏接口的應(yīng)用程序的開發(fā),同一功能隱藏接口包括一種或多種實現(xiàn)方式,所述同一功能隱藏接口的多種實現(xiàn)方式分別對應(yīng)于不同的系統(tǒng)平臺,所述Android應(yīng)用程序開發(fā)系統(tǒng)包括:增加適配層模塊,配置于所述Android應(yīng)用程序的開發(fā)環(huán)境中,用于為開發(fā)的應(yīng)用程序提供所述同一功能隱藏接口的多種實現(xiàn)方式的統(tǒng)一適配接口,并在所述應(yīng)用程序調(diào)用所述統(tǒng)一適配接口時根據(jù)所述應(yīng)用程序所運行的系統(tǒng)平臺來調(diào)用對應(yīng)的隱藏接□。
[0016]如上所述,本發(fā)明的一種Android應(yīng)用程序開發(fā)方法及系統(tǒng),具有以下有益效果:采用本發(fā)明的開發(fā)方法可以使開發(fā)人員在windows系統(tǒng)下使用軟件開發(fā)系統(tǒng)對具有隱藏接口的系統(tǒng)平臺進行應(yīng)用程序開發(fā),不僅保證了在windows系統(tǒng)下使用Android開發(fā)系統(tǒng)的正常編譯,而且能夠在windows系統(tǒng)下對所生成的應(yīng)用程序安裝包進行調(diào)試驗證,并且很好的保證了開發(fā)的應(yīng)用程序的兼容性。
【專利附圖】
【附圖說明】
[0017]圖1顯示為本 發(fā)明的一種Android應(yīng)用程序開發(fā)方法的流程示意圖。
[0018]圖2顯示為本發(fā)明的一種Android應(yīng)用程序開發(fā)方法開發(fā)的應(yīng)用程序接口調(diào)用關(guān)系不意圖。
[0019]元件標號說明
[0020]SI ~S2步驟
【具體實施方式】
[0021]以下通過特定的具體實例說明本發(fā)明的實施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點與功效。本發(fā)明還可以通過另外不同的【具體實施方式】加以實施或應(yīng)用,本說明書中的各項細節(jié)也可以基于不同觀點與應(yīng)用,在沒有背離本發(fā)明的精神下進行各種修飾或改變。
[0022]需要說明的是,本實施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實際實施時的組件數(shù)目、形狀及尺寸繪制,其實際實施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。
[0023]本發(fā)明提供一種Android應(yīng)用程序開發(fā)方法,所述Android應(yīng)用程序開發(fā)方法應(yīng)用于需要調(diào)用隱藏接口的應(yīng)用程序的開發(fā)。Android應(yīng)用程序包括Java應(yīng)用程序,目前在Android上的應(yīng)用程序大多數(shù)為Java應(yīng)用程序。同一功能隱藏接口包括一種或多種實現(xiàn)方式,所述同一功能隱藏接口的多種實現(xiàn)方式分別對應(yīng)于不同的系統(tǒng)平臺。各種不同功能的所述隱藏接口分別對應(yīng)不同的統(tǒng)一匹配接口。如圖1所示,所述Android應(yīng)用程序開發(fā)方法包括:步驟SI,在應(yīng)用程序開發(fā)中增加適配層模塊;步驟S2,將所述適配層模塊編譯到所述應(yīng)用程序中。
[0024]在一個實施例中,所述手機操作系統(tǒng)為Android操作系統(tǒng),所述手機操作系統(tǒng)上的隱藏接口包括與手機具體硬件密切相關(guān)的功能性接口,包括系統(tǒng)功能和性能上的接口,特別包括Π界面相關(guān)的接口。這些隱藏接口相應(yīng)的實現(xiàn)代碼通常與手機的生產(chǎn)廠商對手機的定制密切相關(guān),由手機的生產(chǎn)廠商開發(fā)并作為手機操作系統(tǒng)的隱藏接口提供。這些接口的功能涉及電話、短信、設(shè)置模塊等。由于這些隱藏接口或隱藏接口是由手機的生產(chǎn)廠家針對手機的系統(tǒng)應(yīng)用特有的功能而設(shè)計的并提供實現(xiàn)代碼的。所述隱藏接口雖然是公共接口,但并不是開放的,它是手機廠商在Android操作系統(tǒng)的基礎(chǔ)上根據(jù)生產(chǎn)的手機設(shè)計的隱藏接口。所述平臺系統(tǒng)的不同可以包括軟件上的不同,即同一硬件平臺上的不同軟件版本。所述平臺系統(tǒng)的不同也可以包括硬件上不同。開發(fā)人員在標準軟件開發(fā)系統(tǒng)SDK上進行開發(fā)時是無法調(diào)用這些接口的。這些接口有些是針對系統(tǒng)應(yīng)用特有的功能而設(shè)計,比如關(guān)機、重啟等功能。有些接口之所以隱藏是由于功能的不完善,不能保證系統(tǒng)升級后對該接口的變動和兼容。為此采用的應(yīng)用程序開發(fā)方法在調(diào)用隱藏接口的應(yīng)用代碼和隱藏接口之間,加入一適配層模塊。所述適配層模塊針對不同的解決方案,不同的Android版本,對應(yīng)用調(diào)用的隱藏接口進行了適配。這樣應(yīng)用程序開發(fā)系統(tǒng)在開發(fā)應(yīng)用程序時既保證了應(yīng)用程序所特有的功能的完整,又保證了應(yīng)用程序的通用性。這樣在開發(fā)的應(yīng)用程序APK裝入手機后,對于調(diào)用framework層和應(yīng)用代碼之間,就加入一層即適配層,以匹配調(diào)用應(yīng)用程序運行的平臺的隱藏接口。針對不同的解決方案,不同的Android版本,對應(yīng)用調(diào)用的隱藏接口進行了適配。這樣既保證了開發(fā)的系統(tǒng)應(yīng)用所特有的功能的完整,又保證了應(yīng)用的通用性。
[0025]步驟SI,在應(yīng)用程序開發(fā)中增加適配層模塊。所述適配層模塊用于為開發(fā)的應(yīng)用程序提供所述同一功能隱藏接口的多種實現(xiàn)方式的統(tǒng)一適配接口,在所述應(yīng)用程序調(diào)用所述統(tǒng)一適配接口時,所述適配層根據(jù)所述應(yīng)用程序所運行的系統(tǒng)平臺調(diào)用對應(yīng)的隱藏接口實現(xiàn)方式。在Android開發(fā)系統(tǒng)中增加適配層模塊的具體實現(xiàn)包括在Android操作系統(tǒng)源碼中建立一個與src文件夾同級的適配層文件夾,所述適配層相關(guān)代碼添加到所述適配層文件夾中,并將所述適配層文件夾添加到所述Android開發(fā)系統(tǒng)的編譯路徑中。所述Android操作系統(tǒng)源碼包括手機操作系統(tǒng)源碼,即能夠編譯成在所述廠商手機上運行的手機Android操作系統(tǒng)的源代碼。所述源代碼包括src,res等子目錄。具體地,在一個實施例中,所述Android應(yīng)用程序開發(fā)方法包括在源代碼中建立一個和src文件夾同級的文件夾,該文件夾可以取名為PAL,并將與隱藏接口相關(guān)的代碼放入到所述適配層文件夾PAL中。所述與隱藏接口相關(guān)的代碼包括在不同系統(tǒng)平臺上的隱藏接口的實現(xiàn)代碼,以及實現(xiàn)同一功能隱藏代碼的各種實現(xiàn)方式的統(tǒng)一適配接口有關(guān)的適配代碼。所述統(tǒng)一適配接口有關(guān)的代碼能夠?qū)崿F(xiàn)根據(jù)開發(fā)的系統(tǒng)平臺不同而調(diào)用相應(yīng)的隱藏接口實現(xiàn)。在不同的實施例中,所述隱藏接口在不同平臺上的實現(xiàn)不同,所述實現(xiàn)不同包括所述隱藏接口的實現(xiàn)在不同平臺上屬于不同的類,也可能隱藏接口有所不同,或者隱藏接口實現(xiàn)的具體代碼不同。對于在不同平臺上實現(xiàn)同一功能的隱藏接口對應(yīng)著同一個統(tǒng)一適配接口 ;對于在不同平臺上實現(xiàn)不同功能的隱藏接口對應(yīng)著不同的統(tǒng)一適配接口。通過適配層模塊,應(yīng)用程序不直接調(diào)用平臺的隱藏接口,而是調(diào)用統(tǒng)一適配接口,通過統(tǒng)一適配接口在調(diào)用運行平臺上的隱藏接口。各種不同功能的所述隱藏接口分別對應(yīng)不同的統(tǒng)一匹配接口。通過對Android標準接口 Android, jar進行分析,該包中的所有接口的具體實現(xiàn)體為:throw new RuntimeExcept1n( “Stub ! ”)。也就是說,在 Android 開發(fā)系統(tǒng)eclipse中進行開發(fā)時,只檢查該接口是否存在,而不關(guān)心該接口的具體實現(xiàn)。因此,用戶需要將所述適配模塊上的統(tǒng)一適配接口所屬的類接口中的方法體修改為與Android標準接口相同,即將所述適配模塊上的統(tǒng)一適配接口所屬的類接口中的方法體修改為throw newRuntimeExcept1n( “Stub ! ”)。
[0026]步驟S2,將所述適配層模塊編譯到所述應(yīng)用程序中的具體實現(xiàn)包括:在Android開發(fā)系統(tǒng)中將所述適配層文件夾PAL添加到Android編譯路徑中。此時Android開發(fā)系統(tǒng)開發(fā)的調(diào)用了隱藏接口的應(yīng)用程序在編譯時就不會報錯。這樣,相當于在調(diào)用的framework層和應(yīng)用代碼之間加入了適配層,應(yīng)用程序通過調(diào)用適配層間接調(diào)用隱藏接口,即應(yīng)用程序調(diào)用適配層的統(tǒng)一適配接口,適配層的統(tǒng)一適配接口再調(diào)用隱藏接口。此時,應(yīng)用程序的調(diào)用關(guān)系如圖2 所不。
[0027]在一個具體的實施例中,所述手機操作系統(tǒng)為高通的平臺,所述手機具備雙SIM卡功能,所述手機操作系統(tǒng)的隱藏接口包括對是否雙SIM卡判斷的接口。所述雙SIM卡接口是高通平臺的隱藏接口,并不同Android操作系統(tǒng)的公共接口。所述雙SM卡判斷接口isMultiSimEnable O在高通的不同平臺上也有很大不同。例如,在高通的4.1平臺上,所述isMultiSimEnable O是放在TelephonyManager類中的。但在在高通的4.3平臺上,所述isMultiSimEnable O卻是放在MSimTelephonyManager類中的。這樣,開發(fā)應(yīng)用在高通的
4.1平臺上的調(diào)用了隱藏接口 isMultiSimEnable O的應(yīng)用程序則不能在高通的4.3平臺上運行。即出現(xiàn)平臺的兼容性問題。為此,可以在手機平臺上增加一個適配層。具體的實現(xiàn)包括建立一個與src文件夾同級的適配層文件夾PAL,并增加一個統(tǒng)一的雙SM判斷接口,這個統(tǒng)一的雙SM判斷接口就屬于一個統(tǒng)一適配接口。所述統(tǒng)一的雙SM判斷接口可以判斷手機的平臺,并根據(jù)不同的手機平臺確定調(diào)用的平臺對應(yīng)的隱藏接口。所述統(tǒng)一的雙SIM判斷接口可以放在FxTelephonemanager類中,并將該代碼放置到適配層PAL文件夾中。為此還需要將所述實現(xiàn)隱藏接口的相關(guān)代碼,包括在高通的4.1平臺上的TelephonyManager類以及在高通的4.3平臺上的MSimTelephonyManager類,復(fù)制到所述適配層PAL文件夾中。將 FxTelephonmanager 和 TelephonyManager 接口 中方法體修改為 throw newRuntimeExcept1n (" Stub !")。同時在高通的 4.I 平臺上的 TelephonyManager 類以及在高通的4.3平臺上的MSimTelephonyManager類編譯的包名路徑必須和源代碼中的包名路徑保持一致。最后,需要在Android開發(fā)系統(tǒng)eclipse中將所述適配層文件夾PAL添加到Android編譯路徑j(luò)ava build path中,這樣,Android開發(fā)系統(tǒng)eclipse在編譯時會將所述適配層文件夾PAL打包到apk中,即對應(yīng)用程序編譯包括了對適配層文件夾PAL中的代碼的編譯,并將對適配層文件夾PAL中的代碼的編譯打包到所述應(yīng)用程序中。
[0028]這時,當用戶將所編寫的應(yīng)用程序編譯成應(yīng)用程序安裝包,即apk安裝包,并將所述apk安裝包安裝到相應(yīng)的手機中后。安裝的應(yīng)用程序會從手機中的Android歸檔文件包framework, jar中讀取相關(guān)接口,而該包會包含Android操作系統(tǒng)源碼中的所有接口,包括隱藏接口。此時,如圖2所示,應(yīng)用程序既可以調(diào)用系統(tǒng)平臺公共接口,也可以通過適配層來調(diào)用隱藏接口,即通過調(diào)用適配層,適配層再調(diào)用隱藏接口。這樣既保證了開發(fā)的系統(tǒng)應(yīng)用所特有的功能的完整,又保證了應(yīng)用的通用性。
[0029]采用本發(fā)明的Android應(yīng)用程序開發(fā)方法開發(fā)不僅可以在Iinux系統(tǒng)的Android開發(fā)系統(tǒng)上針對具有隱藏接口的手機系統(tǒng)平臺進行在所述手機系統(tǒng)平臺上運行的應(yīng)用程序的開發(fā),而且可以在windows系統(tǒng)的Android開發(fā)系統(tǒng)上開發(fā)針對具有隱藏接口的手機系統(tǒng)平臺的應(yīng)用程序。所述Android開發(fā)系統(tǒng)包括eclipse。
[0030]本發(fā)明還提供一種Android應(yīng)用程序開發(fā)系統(tǒng),所述Android應(yīng)用程序開發(fā)系統(tǒng)用于需要調(diào)用隱藏接口的應(yīng)用程序的開發(fā),同一功能隱藏接口包括一種或多種實現(xiàn)方式,所述同一功能隱藏接口的多種實現(xiàn)方式分別對應(yīng)于不同的系統(tǒng)平臺,所述Android應(yīng)用程序開發(fā)系統(tǒng)包括:在Android應(yīng)用程序開發(fā)環(huán)境中增加適配層模塊,配置于所述Android應(yīng)用程序的開發(fā)環(huán)境中,所述適配層模塊用于為開發(fā)的應(yīng)用程序提供所述同一功能隱藏接口的多種實現(xiàn)方式的統(tǒng)一適配接口,并在所述應(yīng)用程序調(diào)用所述統(tǒng)一適配接口時,所述適配層模塊根據(jù)所述應(yīng)用程序所運行的系統(tǒng)平臺來調(diào)用對應(yīng)的隱藏接口。
[0031]所述Android應(yīng)用程序開發(fā)系統(tǒng)應(yīng)用于需要調(diào)用隱藏接口的應(yīng)用程序的開發(fā)。同一功能隱藏接口包括一種或多種實現(xiàn)方式,所述同一功能隱藏接口的多種實現(xiàn)方式分別對應(yīng)于不同的系統(tǒng)平臺。各種不同功能的所述隱藏接口分別對應(yīng)不同的統(tǒng)一匹配接口。
[0032]在一個實施例中,所述手機操作系統(tǒng)為Android操作系統(tǒng),所述手機操作系統(tǒng)上的隱藏接口包括與手機具體硬件密切相關(guān)的功能性接口,包括系統(tǒng)功能和性能上的接口,特別包括Π界面相關(guān)的接口。這些隱藏接口相應(yīng)的實現(xiàn)代碼通常與手機的生產(chǎn)廠商對手機的定制密切相關(guān),由手機的生產(chǎn)廠商開發(fā)并作為手機操作系統(tǒng)的隱藏接口提供。這些接口的功能涉及電話、短信、設(shè)置模塊等。由于這些隱藏接口或隱藏接口是由手機的生產(chǎn)廠家針對手機的系統(tǒng)應(yīng)用特有的功能而設(shè)計的并提供實現(xiàn)代碼的。所述隱藏接口雖然是公共接口,但并不是開放的,它是手機廠商在Android操作系統(tǒng)的基礎(chǔ)上根據(jù)生產(chǎn)的手機設(shè)計的隱藏接口。所述平臺系統(tǒng)的不同可以包括軟件上的不同,即同一硬件平臺上的不同軟件版本。所述平臺系統(tǒng)的不同也可以包括硬件上不同。開發(fā)人員在標準軟件開發(fā)系統(tǒng)SDK上進行開發(fā)時是無法調(diào)用這些接口的。這些接口有些是針對系統(tǒng)應(yīng)用特有的功能而設(shè)計,比如關(guān)機、重啟等功能。有些接口之所以隱藏是由于功能的不完善,不能保證系統(tǒng)升級后對該接口的變動和兼容。為此Android應(yīng)用程序開發(fā)系統(tǒng)在調(diào)用隱藏接口的應(yīng)用代碼和隱藏接口之間,加入一適配層模塊。所述適配層模塊針對不同的解決方案,不同的Android版本,對應(yīng)用調(diào)用的隱藏接口進行了適配。這樣應(yīng)用程序開發(fā)系統(tǒng)在開發(fā)應(yīng)用程序時既保證了應(yīng)用程序所特有的功能的完整,又保證了應(yīng)用程序的通用性。
[0033]應(yīng)用程序開發(fā)系統(tǒng)是在Android應(yīng)用程序開發(fā)環(huán)境中增加適配層模塊。所述適配層模塊用于為在應(yīng)用程序開發(fā)系統(tǒng)上開發(fā)的應(yīng)用程序提供所述同一功能隱藏接口的多種實現(xiàn)方式的統(tǒng)一適配接口,在所述應(yīng)用程序調(diào)用所述統(tǒng)一適配接口時,所述適配層根據(jù)所述應(yīng)用程序所運行的系統(tǒng)平臺調(diào)用對應(yīng)的隱藏接口實現(xiàn)方式。具體地,在Android應(yīng)用程序開發(fā)系統(tǒng)中增加適配層模塊的具體實現(xiàn)包括在Android操作系統(tǒng)源碼中建立一個與src文件夾同級的適配層文件夾,所述適配層相關(guān)代碼添加到所述適配層文件夾中,并將所述適配層文件夾添加到所述Android開發(fā)系統(tǒng)的編譯路徑中。并且,在Android開發(fā)系統(tǒng)中還需要將所述適配層文件夾PAL添加到Android編譯路徑中。所述Android操作系統(tǒng)源碼包括手機操作系統(tǒng)源碼,即能夠編譯成在所述廠商手機上運行的手機Android操作系統(tǒng)的源代碼。所述源代碼包括src,res等子目錄。具體地,在一個實施例中,所述Android應(yīng)用程序開發(fā)方法包括在源代碼中建立一個和src文件夾同級的文件夾,該文件夾可以取名為PAL,并將與隱藏接口相關(guān)的代碼放入到所述適配層文件夾PAL中。所述與隱藏接口相關(guān)的代碼包括在不同系統(tǒng)平臺上的隱藏接口的實現(xiàn)代碼,以及實現(xiàn)同一功能隱藏代碼的各種實現(xiàn)方式的統(tǒng)一適配接口有關(guān)的適配代碼。所述統(tǒng)一適配接口有關(guān)的代碼能夠?qū)崿F(xiàn)根據(jù)開發(fā)的系統(tǒng)平臺不同而調(diào)用相應(yīng)的隱藏接口實現(xiàn)。在不同的實施例中,所述隱藏接口在不同平臺上的實現(xiàn)不同,所述實現(xiàn)不同包括所述隱藏接口的實現(xiàn)在不同平臺上屬于不同的類,也可能隱藏接口有所不同,或者隱藏接口實現(xiàn)的具體代碼不同。對于在不同平臺上實現(xiàn)同一功能的隱藏接口對應(yīng)著同一個統(tǒng)一適配接口 ;對于在不同平臺上實現(xiàn)不同功能的隱藏接口對應(yīng)著不同的統(tǒng)一適配接口。通過適配層模塊,應(yīng)用程序不直接調(diào)用平臺的隱藏接口,而是調(diào)用統(tǒng)一適配接口,通過統(tǒng)一適配接口在調(diào)用運行平臺上的隱藏接口。各種不同功能的所述隱藏接口分別對應(yīng)不同的統(tǒng)一匹配接口。通過對Android標準接口 Android, jar進行分析,該包中的所有接口的具體實現(xiàn)體為:throw new RuntimeExcept1n( “Stub ! ”)。也就是說,在Android開發(fā)系統(tǒng)eclipse中進行開發(fā)時,只檢查該接口是否存在,而不關(guān)心該接口的具體實現(xiàn)。因此,用戶需要將所述適配模塊上的統(tǒng)一適配接口所屬的類接口中的方法體修改為與Android標準接口相同,即將所述適配模塊上的統(tǒng)一適配接口所屬的類接口中的方法體修改為 throw new RuntimeExcept1n( “Stub ! ”)。
[0034]由于在Android應(yīng)用程序開發(fā)系統(tǒng)中將所述適配層文件夾PAL添加到Android編譯路徑中。此時Android應(yīng)用程序開發(fā)系統(tǒng)開發(fā)的調(diào)用了隱藏接口的應(yīng)用程序在編譯時就不會報錯。這樣Android應(yīng)用程序開發(fā)系統(tǒng)提供的隱藏接口調(diào)用為:通過調(diào)用適配層模塊間接調(diào)用隱藏接口,即應(yīng)用程序代碼調(diào)用適配層模塊的統(tǒng)一適配接口,適配層模塊的統(tǒng)一適配接口再調(diào)用隱藏接口。此時,Android應(yīng)用程序開發(fā)系統(tǒng)提供的應(yīng)用程序接口調(diào)用關(guān)系如圖2所示。
[0035]綜上所述,本發(fā)明的一種Android應(yīng)用程序開發(fā)方法及系統(tǒng)可以使開發(fā)人員在windows系統(tǒng)下使用軟件開發(fā)系統(tǒng)對具有隱藏接口的手機系統(tǒng)平臺進行應(yīng)用程序開發(fā),不僅保證了在windows系統(tǒng)下使用Android開發(fā)系統(tǒng)的正常編譯,而且能夠在windows系統(tǒng)下對所生成的應(yīng)用程序安裝包進行調(diào)試驗證,并且很好的保證了開發(fā)的應(yīng)用程序的兼容性。所以,本發(fā)明有效克服了現(xiàn)有技術(shù)中的種種缺點而具高度產(chǎn)業(yè)利用價值。
[0036]上述實施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此技術(shù)的人士皆可在不違背本發(fā)明的精神及范疇下,對上述實施例進行修飾或改變。因此,舉凡所屬【技術(shù)領(lǐng)域】中具有通常知識者在未脫離本發(fā)明所揭示的精神與技術(shù)思想下所完成的一切等效修飾或改變,仍應(yīng)由本發(fā)明的權(quán)利要求所涵蓋。
【權(quán)利要求】
1.一種Android應(yīng)用程序開發(fā)方法,應(yīng)用于需要調(diào)用隱藏接口的應(yīng)用程序的開發(fā),同一功能隱藏接口包括一種或多種實現(xiàn)方式,所述同一功能隱藏接口的多種實現(xiàn)方式分別對應(yīng)于不同的系統(tǒng)平臺,其特征在于,所述Android應(yīng)用程序開發(fā)方法包括: 在Android應(yīng)用程序開發(fā)環(huán)境中增加適配層模塊,所述適配層模塊用于為所開發(fā)的應(yīng)用程序提供所述同一功能隱藏接口的多種實現(xiàn)方式的統(tǒng)一適配接口,在所述應(yīng)用程序調(diào)用所述統(tǒng)一適配接口時,所述適配層模塊根據(jù)所述應(yīng)用程序所運行的系統(tǒng)平臺來調(diào)用對應(yīng)的隱藏接口 ; 將所述適配層模塊編譯到所述應(yīng)用程序中。
2.根據(jù)權(quán)利要求1所述的Android應(yīng)用程序開發(fā)方法,其特征在于:所述Android應(yīng)用程序開發(fā)方法應(yīng)用于windows系統(tǒng)中。
3.根據(jù)權(quán)利要求1所述的Android應(yīng)用程序開發(fā)方法,其特征在于:所述Android應(yīng)用程序開發(fā)環(huán)境包括eclipse。
4.根據(jù)權(quán)利要求1或3所述的Android應(yīng)用程序開發(fā)方法,其特征在于:所述Android應(yīng)用程序開發(fā)方法包括將所述統(tǒng)一適配接口中的實現(xiàn)體修改為與Android標準接口的實現(xiàn)體一致。
5.根據(jù)權(quán)利要求1所述的Android應(yīng)用程序開發(fā)方法,其特征在于:所述Android應(yīng)用程序開發(fā)方法包括在源碼中建立一個與src文件夾同級的適配層文件夾,將適配層相關(guān)代碼添加到所述適配層文件夾中,并將所述適配層文件夾添加到所述Android開發(fā)系統(tǒng)的編譯路徑中。
6.根據(jù)權(quán)利要求5所述的Android應(yīng)用程序開發(fā)方法,其特征在于:所述Android應(yīng)用程序開發(fā)方法中所述編譯路徑包括Android build path。
7.根據(jù)權(quán)利要求5所述的Android應(yīng)用程序開發(fā)方法,其特征在于:所述Android應(yīng)用程序開發(fā)方法中,所述適配層相關(guān)代碼包括用于實現(xiàn)以下功能的代碼:根據(jù)所述應(yīng)用程序運行的系統(tǒng)平臺,調(diào)用對應(yīng)的隱藏接口實現(xiàn)。
8.根據(jù)權(quán)利要求5所述的Android應(yīng)用程序開發(fā)方法,其特征在于:所述Android應(yīng)用程序開發(fā)方法包括,將所述不同系統(tǒng)平臺的隱藏接口相關(guān)代碼復(fù)制到所述適配層文件夾。
9.根據(jù)權(quán)利要求1所述的Android應(yīng)用程序開發(fā)方法,其特征在于:各種不同功能的所述隱藏接口分別對應(yīng)不同的統(tǒng)一匹配接口。
10.一種Android應(yīng)用程序開發(fā)系統(tǒng),用于需要調(diào)用隱藏接口的應(yīng)用程序的開發(fā),同一功能隱藏接口包括一種或多種實現(xiàn)方式,所述同一功能隱藏接口的多種實現(xiàn)方式分別對應(yīng)于不同的系統(tǒng)平臺,其特征在于:所述Android應(yīng)用程序開發(fā)系統(tǒng)包括: 增加適配層模塊,配置于所述Android應(yīng)用程序的開發(fā)環(huán)境中,用于為開發(fā)的應(yīng)用程序提供所述同一功能隱藏接口的多種實現(xiàn)方式的統(tǒng)一適配接口,并在所述應(yīng)用程序調(diào)用所述統(tǒng)一適配接口時根據(jù)所述應(yīng)用程序所運行的系統(tǒng)平臺來調(diào)用對應(yīng)的隱藏接口。
【文檔編號】G06F9/44GK104035778SQ201410294221
【公開日】2014年9月10日 申請日期:2014年6月26日 優(yōu)先權(quán)日:2014年6月26日
【發(fā)明者】王磊 申請人:上海斐訊數(shù)據(jù)通信技術(shù)有限公司