新四季網

資源訪問方法及裝置的製作方法

2023-05-17 04:47:11

專利名稱:資源訪問方法及裝置的製作方法
技術領域:
本發明主要涉及移動終端上基於插件的web應用程式開發技術,尤其涉及一種資源訪問方法及裝置。
背景技術:
隨著移動互聯時代的到來,無線上網速度大規模提升,智能終端越來越被消費者青睞,如目前的蘋果手機作業系統(IOS)、安卓(Android)、Windows Phone幾大智能生態系統。隨著終端性能及上網速度的提升,基於瀏覽器的網頁(web)應用在與本地應用的比較中,凸顯出明顯的優勢,超文本標記語言(HTML) 5+層疊樣式表(CSS)+Javascript (JS)的模型視圖和控制(MVC)開發模式越來越被接受。HTML5沿襲以往web技術的同時,增加了很多方便的標籤,如對表單、音頻視頻的支持,使得音頻視頻等應用成為網際網路應用的下一 個熱點Javascript解釋性語言幾乎能實現終端上想要的一切功能,且開發簡單;CSS將樣式處理與其他分開,能實現web應用的風格多樣性,可定製性,顯現眾多優勢。Web應用程式的用戶界面(UI)繪製依附於系統瀏覽器的web視圖(webview),包括文檔對象模型(DOM)解析及Javascript語句的執行。然而Web應用程式不僅僅需要與網絡伺服器的交互,也需要具備多種多樣的功能,如調用終端的照相機拍攝照片,調用全球定位系統(GPS)模塊獲取實時地理位置信息等,這就涉及到與本地資源的交互訪問和應用對需訪問資源的配置管理。

發明內容
本發明實施例提供了一種資源訪問方法及裝置,以解決如何採用HTML5+CSS+Javascript訪問本地資源的問題。本發明實施例提供了一種資源訪問方法,該方法包括JS 側調用 Java 側;所述Java側調用底層系統資源接口。優選地,所述JS側調用Java側之前,所述方法還包括添加預配置的JS文件與Java文件的對應關係。 優選地,所述JS側調用Java側包括所述JS側採用默認的或重構的顯示提示對話框方法向所述Java側發送請求,該請求包括輪詢請求。優選地,所述JS側調用Java側之後,所述方法還包括所述Java側調用所述JS偵Ij。優選地,所述Java側調用所述JS側包括所述Java側建立一個發送隊列,將需要運行的JS語句放入該發送隊列中;所述Java側接收所述JS側定時發送的輪詢請求,從該發送隊列獲取當前JS語句,將當前JS語句作為返回值返回給所述JS側。本發明實施例還提供了一種資源訪問裝置,該裝置包括第一調用模塊,用於JS側調用Java側;第二調用模塊,用於Java側調用所述JS側。 優選地,所述裝置還包括插件管理模塊,用於加載配置文件,該配置文件中包含JS文件與Java文件的對應關係;加載模塊,用於加載所述插件管理模塊,以便所述第一調用模塊或所述第二調用模塊執行調用操作。
·
優選地,所述第一調用模塊,具體用於所述JS側採用默認的或重構的顯示提示對話框方法向所述Java側發送請求,該請求包括輪詢請求。優選地,所述第二調用模塊,具體用於所述Java側建立一個發送隊列,將需要運行的JS語句放入該發送隊列中;所述Java側接收所述JS側定時發送的輪詢請求,從該發送隊列獲取當前JS語句,將當前JS語句作為返回值返回給所述JS側。優選地,所述第一調用模塊,具體用於所述JS側檢測重構的顯示提示對話框方法中的參數符合預定格式時,向所述Java側發送所述請求。上述資源訪問方法及裝置,對上層開發人員可見的只有Javascript接口,這樣基於本發明的框架採用前端web開發技術,就能開發出能在Android平臺運行的程序,使得基於Android平臺開發移動互聯應用的門檻大大降低,從而可以更好地豐富終端的功能。


圖I是本發明資源訪問方法實施例的流程圖;圖2是本發明資源訪問方法的框架調用層次示意圖;圖3是本發明的插件管理模塊的結構示意圖;圖4是本發明資源訪問裝置實施例的結構示意圖。
具體實施例方式為使本發明的目的、技術方案和優點更加清楚明白,下文中將結合附圖對本發明的實施例進行詳細說明。需要說明的是,在不衝突的情況下,本申請中的實施例及實施例中的特徵可以相互任意組合。使用HTML5+CSS+Javascript的MVC開發模式開發web應用,使之運行在Android系統的瀏覽器內核webkit上。其中,為了豐富應用功能與用戶體驗,需要訪問終端設備的本地資源,如傳感器、照相機等。由於Android對外提供的API是Java接口,這就涉及到Javascript跨語言訪問Java的實現。同時,為實現對資源的訪問權限控制,具體應用需採用插件管理的方式按需配置本地資源。本發明實施例提供了一種資源訪問方法,如圖I所示,該方法包括
步驟101、Javascript 側調用 Java 側;步驟102、Java側調用底層系統資源接口。上述資源訪問方法的框架調用層次如圖2所示,其中,Javascript調用Java實現過程如下Javascript調用Java需要實現Javascript和Java側的消息傳遞,為了實現消息傳遞,利用了 Javascript中的顯示提示對話框prompt 方法。Javascript中的prompt 方法用於收集用戶關於特定問題的反饋信息,該方法產生一個帶有短字符串消息的問題和「確定」、「取消」按鈕的模式對話框,提示用戶輸入上述問題的答案並選擇單擊其中一個按鈕表示確定還是取消該提示框。如果用戶單擊了 「確定」按鈕則將該答案返回,若單擊了「取消」按鈕或者直接關閉則返回空(null)值。此方法的語法如下 prompt (text, defaultText)表I參數含義表
參數描述
text可選,要在對話框中顯示的純文本(而不是HTML格式
的文本)
defaultText 可選,默認的輸入文本該方法通過參數text傳入一個字符串,代表需要用戶回答的問題。通過參數defaultText傳入一個默認的字符串,該參數一般可設定為空。當用戶填入問題的答案並單擊「確定」按鈕後,該答案作為prompt 方法的返回值返回;當用戶單擊「取消」按鈕時,prompt 方法返回 null。該實施例利用prompt方法可以進行字符串交互的特性來實現和Java的交互。瀏覽器內核在成功調用IoadURLO方法後,對prompt 的解析會將text和defaultText參數傳入,並調用onJavascriptPromptO方法。本發明重構該方法,實現一套自定義格式text和defaultText參數的格式,Java側檢測text參數和defaultText參數符合自定義格式
時,貝1J進行Javascript對Java的請求調用,否則進行prompt 方法的默認行為-彈出
可交互的對話框。據此,實現了 Javascript對Java側的請求傳遞。另外,在所述Javascript側調用Java側之後,所述方法還可以包括所述Java側調用所述Javascript偵lj。其中,Java側調用Javascript側的實現過程如下本實施例在Java側建立一個發送隊列JSSendList, Java側將需要運行的Javascript語句放入隊列。在Javascript側設置一個間隔時間(如30ms),並利用函數setTimeout Q建立定時器,利用prompt方法向Java側發出「輪詢」請求;同上,Java側在OnJavascriptPromptO方法中,接收到輪詢請求後,取出JSSendList中的語句,將語句作為返回值返回給Javascript方法,Javascript側直接使用eval 方法執行該語句。進一步地,在該步驟101之前,所述方法還包括在配置文件中添加配置項,根據當前配置文件加載插件管理(PluginManager)模塊,如圖3所示,其中所述配置項包含Javascript文件與Java文件的對應關係。Javascript通過調用Java側接口可以實現對系統本地資源的訪問,為實現應用開發的靈活定製性,本實施例還採用了插件機制對這些資源類進行動態的配置管理,便於開發和新資源的定製擴展。
Javascript調用Java側的代碼利用了 prompt的DOM解析,傳遞到Java側的為自定義格式的字符串。一個Java功能模塊實現插件(Plugin)接口後,可以被PluginManager動態加載。PluginManager 實現兩個Hash表,Hash表一的兀素為(serviceName, className),可以通過service名稱尋找到實際類名;另一個Hash表二的兀素為(serviceName,Plugin),該表中存放serviceName對應的plugin對象。當Javascript 側請求調用 Java 時,PluginManager 收到 serviceName 字符串,在Hash表一中尋找和serviceName對應的對象,若該對象不存在,則查找Hash表二,通過反射創建對應的對象,並存忙在Hash表一中使用。取出對應serviceName的plugin對象,調用其exec接口,傳入回調ID以及args參數,即可完成對應的Java調用請求。上述資源訪問方法,對上層開發人員可見的只有Javascript接口,這樣基於本實施例的框架採用前端web開發技術,就能開發出能在Android平臺運行的程序,使得基於Android平臺開發移動互聯應用的門檻大大降低,從而可以更好地豐富終端的功能。如圖4所示,是本發明資源訪問裝置實施例的結構示意圖,可應用於終端設備上,該裝置包括第一調用模塊41和第二調用模塊42,其中第一調用模塊,用於JS側調用Java側;第二調用模塊,用於Java側調用所述JS側。另外,所述裝置還包括插件管理模塊43和加載模塊44,該插件管理模塊,用於加載配置文件,該配置文件中包含JS文件與Java文件的對應關係;該加載模塊,用於加載所述插件管理模塊,以便所述第一調用模塊或所述第二調用模塊執行調用操作。優選地,所述第一調用模塊,具體用於所述JS側採用默認的或重構的顯示提示對話框方法向所述Java側發送請求,該請求包括輪詢請求。所述第二調用模塊,具體用於所述Java側建立一個發送隊列,將需要運行的JS語句放入該發送隊列中;所述Java側接收所述JS側定時發送的輪詢請求,從該發送隊列獲取當前JS語句,將當前JS語句作為返回值返回給所述JS側。其中,所述第一調用模塊,具體用於所述JS側檢測重構的顯示提示對話框方法中的參數符合預定格式時,向所述Java側發送所述請求。上述資源訪問裝置,對上層可見的只有Javascript接口,使得基於Android平臺開發移動互聯應用的門檻大大降低,從而可以更好地完善終端的功能。為了方便描述,以終端設備上的GPS傳感器為例,闡述該發明實施例的實施步驟步驟201、在插件管理配置文件plugin, xml中添加配置項,即Javascript文件與Java文件的對應關係,這樣使用下面描述的模塊即可實現Javascript對GPS傳感器的訪問,配置項格式如下〈plugin name = " GpsModel " value = " com. example, gpsmodel " />添加後,經過pluginManager模塊的加載,就可以通過GpsModel反射訪問到相應的 com. example, gpsmodel 類了 ;步驟202、需要實現該GPS傳感器的跨語言訪問模塊(即第一調用模塊),以GPS傳感器模塊的獲取當前值接口 getCurrentGps為例,在相應的Javascript文件中,實現getCurrentGps 接口,此類接口 為異步調用接口,需實現 successcallback 和 failcallback回調。通過本實施例的Javascript調用Java實現了調用Java側功能模塊,按照返回的狀態分別執行 successcallback 和 failcallback。Java側需要做的即是對Javascript側調用的具體實現和結果的處理,如 getCurrentGps調用到達的時候,Java側繼承實現平臺提供的獲取GPS傳感器數值操作,對獲取到的傳感器值封裝成約定的JavascriptON格式,當Javascript側定時輪詢時,作為回調的結果反饋到Javascript偵lj。其中,Javascript對Java的調用,是使用的webkit內核在載入頁面時候對Javascript的解析機制,當遇到Javascript的時候,通過JAVA本地調用(JNI)調用Java側的JavascriptPrompt方法,通過擴展prompt函數實現了 Javascript對Java的調用。另外,Java對Javascript的調用使用了上次類似的原理,只是在Javascript側啟動輪詢定時器,定時發送查詢信息到Java側,當Java側有需要調用Javascript語句時,做為輪詢消息的結果返回。本領域普通技術人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關硬體完成,上述程序可以存儲於計算機可讀存儲介質中,如只讀存儲器、磁碟或光碟等。可選地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現。相應地,上述實施例中的各模塊/單元可以採用硬體的形式實現,也可以採用軟體功能模塊的形式實現。本發明不限制於任何特定形式的硬體和軟體的結合。以上實施例僅用以說明本發明的技術方案而非限制,僅僅參照較佳實施例對本發明進行了詳細說明。本領域的普通技術人員應當理解,可以對本發明的技術方案進行修改或者等同替換,而不脫離本發明技術方案的精神和範圍,均應涵蓋在本發明的權利要求範圍當中。
權利要求
1.一種資源訪問方法,其特徵在於,該方法包括 JS側調用Java側; 所述Java側調用底層系統資源接口。
2.根據權利要求I所述的方法,其特徵在於 所述JS側調用Java側之前,所述方法還包括 添加預配置的JS文件與Java文件的對應關係。
3.根據權利要求I所述的方法,其特徵在於 所述JS側調用Java側包括 所述JS側採用默認的或重構的顯示提示對話框方法向所述Java側發送請求,該請求包括輪詢請求。
4.根據權利要求1-3任一權利要求所述的方法,其特徵在於 所述JS側調用Java側之後,所述方法還包括 所述Java側調用所述JS偵1|。
5.根據權利要求4所述的方法,其特徵在於 所述Java側調用所述JS側包括 所述Java側建立一個發送隊列,將需要運行的JS語句放入該發送隊列中; 所述Java側接收所述JS側定時發送的輪詢請求,從該發送隊列獲取當前JS語句,將當前JS語句作為返回值返回給所述JS側。
6.一種資源訪問裝置,其特徵在於,該裝置包括 第一調用模塊,用於JS側調用Java側; 第二調用模塊,用於Java側調用所述JS偵U。
7.根據權利要求6所述的裝置,其特徵在於,所述裝置還包括 插件管理模塊,用於加載配置文件,該配置文件中包含JS文件與Java文件的對應關係; 加載模塊,用於加載所述插件管理模塊,以便所述第一調用模塊或所述第二調用模塊執行調用操作。
8.根據權利要求6或7所述的裝置,其特徵在於 所述第一調用模塊,具體用於 所述JS側採用默認的或重構的顯示提示對話框方法向所述Java側發送請求,該請求包括輪詢請求。
9.根據權利要求6或7所述的裝置,其特徵在於 所述第二調用模塊,具體用於 所述Java側建立一個發送隊列,將需要運行的JS語句放入該發送隊列中; 所述Java側接收所述JS側定時發送的輪詢請求,從該發送隊列獲取當前JS語句,將當前JS語句作為返回值返回給所述JS側。
10.根據權利要求8所述的裝置,其特徵在於 所述第一調用模塊,具體用於 所述JS側檢測重構的顯示提示對話框方法中的參數符合預定格式時,向所述Java側發送所述請求。
全文摘要
本發明提供了一種資源訪問方法及裝置,該資源訪問方法包括JS側調用Java側;所述Java側調用底層系統資源接口。上述資源訪問方法及裝置,對上層開發人員可見的只有Javascript接口,這樣基於本發明的框架採用前端web開發技術,就能開發出能在Android平臺運行的程序,使得基於Android平臺開發移動互聯應用的門檻大大降低,從而可以更好地豐富終端的功能。
文檔編號G06F9/46GK102799477SQ20121024573
公開日2012年11月28日 申請日期2012年7月16日 優先權日2012年7月16日
發明者王明 申請人:中興通訊股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀