欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于移動(dòng)終端的跨平臺(tái)的文檔閱讀器及其實(shí)現(xiàn)方法與流程

文檔序號(hào):12270918閱讀:473來源:國(guó)知局

本發(fā)明屬于移動(dòng)應(yīng)用開發(fā)領(lǐng)域,特別涉及一種基于移動(dòng)終端的跨平臺(tái)的文檔閱讀器及其實(shí)現(xiàn)方法。



背景技術(shù):

目前,智能移動(dòng)終端得到了普及,移動(dòng)應(yīng)用軟件隨之得到了快速的發(fā)展,各個(gè)應(yīng)用市場(chǎng)中上架的適合手機(jī)、平板等終端的應(yīng)用也越來越多,而很多應(yīng)用都有查看各種文檔的需求。

現(xiàn)在市場(chǎng)上有很多android版本和IOS版本的PDF、TXT、Office等類型的文檔閱讀器,但這些閱讀器普遍存在不能跨平臺(tái)使用和同時(shí)兼容不同格式文檔的問題。另一方面,隨著HTML5技術(shù)的成熟,越來越多的移動(dòng)端開發(fā)者開始使用HTML5+Android/IOS的混合開發(fā)方式來實(shí)現(xiàn)跨平臺(tái)技術(shù),基于這種開發(fā)方式,本發(fā)明不僅解決了文檔閱讀器跨平臺(tái)的問題,還解決了多文檔格式兼容問題。



技術(shù)實(shí)現(xiàn)要素:

【要解決的技術(shù)問題】

本發(fā)明的目的是提供一種基于移動(dòng)終端的跨平臺(tái)的文檔閱讀器及其實(shí)現(xiàn)方法,以解決目前的閱讀器不能跨平臺(tái)使用和同時(shí)兼容不同格式文檔的問題。

【技術(shù)方案】

本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的。

本發(fā)明首先涉及一種基于移動(dòng)終端的跨平臺(tái)的文檔閱讀器的實(shí)現(xiàn)方法,包括以下步驟:

A、開發(fā)文檔閱讀器的原生模塊,最終用戶通過打開文檔模塊傳入要打開文檔的路徑,所述文檔閱讀器的原生模塊包括Android原生閱讀器和iOS原生閱讀器,所述Android原生閱讀器為用Android原生代碼開發(fā)的能夠兼容不同類型文檔的Android閱讀器,所述iOS原生閱讀器是用iOS原生代碼開發(fā)的能夠兼容不同類型文檔的iOS閱讀器;

B、通過設(shè)備識(shí)別模塊獲得當(dāng)前設(shè)備類型;

C、如果當(dāng)前設(shè)備的類型為Android類型,則調(diào)用javascriptInterface函數(shù)接口,javascriptInterface函數(shù)接口調(diào)用Android原生閱讀器打開文檔;

D、如果當(dāng)前設(shè)備的類型為iOS類型,則構(gòu)建打開文檔閱讀器的URL并調(diào)用URL發(fā)生器,URL攔截器攔截到URL后,解析出需要調(diào)用的iOS方法名及文檔路徑,URL攔截器調(diào)用iOS原生閱讀器,打開文檔。

作為一種優(yōu)選的實(shí)施方式,所述設(shè)備識(shí)別模塊通過HTML DOM userAgent屬性判斷瀏覽器類型并確定該瀏覽器所在的設(shè)備是否為iOS類型,若不是iOS類型,則該設(shè)備為Android類型。

作為另一種優(yōu)選的實(shí)施方式,所述URL發(fā)生器用于動(dòng)態(tài)創(chuàng)建一個(gè)iframe并為該iframe設(shè)置src屬性,所述URL攔截器通過攔截src屬性值得到文檔路徑。

作為另一種優(yōu)選的實(shí)施方式,所述步驟A還包括:在Eclipse環(huán)境和Xcode環(huán)境下進(jìn)行文檔閱讀器的原生模塊開發(fā)。

作為另一種優(yōu)選的實(shí)施方式,所述文檔的類型為PDF、TXT或Office。

本發(fā)明還涉及一種基于移動(dòng)終端的跨平臺(tái)的文檔閱讀器,包括Android原生閱讀器、iOS原生閱讀器、設(shè)備識(shí)別模塊、URL發(fā)生器、URL攔截器、打開文檔模塊、javascriptInterface函數(shù)接口、iOS類型打開模塊和Android類型打開模塊,

所述Android原生閱讀器是用Android原生代碼開發(fā)的能夠兼容不同類型文檔的Android閱讀器;

所述iOS原生閱讀器是用iOS原生代碼開發(fā)的能夠兼容不同類型文檔的iOS閱讀器;

所述打開文檔模塊用于傳入要打開文檔的路徑;

所述設(shè)備識(shí)別模塊用于獲得當(dāng)前設(shè)備類型;

所述Android類型打開模塊被配置成:如果當(dāng)前設(shè)備的類型為Android類型,則調(diào)用javascriptInterface函數(shù)接口,javascriptInterface函數(shù)接口調(diào)用Android原生閱讀器打開文檔;

所述iOS類型打開模塊被配置成:如果當(dāng)前設(shè)備的類型為iOS類型,則構(gòu)建打開文檔閱讀器的URL并調(diào)用URL發(fā)生器,URL攔截器攔截到URL后,解析出需要調(diào)用的iOS方法名及文檔路徑,URL攔截器調(diào)用iOS原生閱讀器,打開文檔。

作為一種優(yōu)選的實(shí)施方式,所述設(shè)備識(shí)別模塊具體被配置成:通過HTML DOM userAgent屬性判斷瀏覽器類型并確定該瀏覽器所在的設(shè)備是否為iOS類型,若不是iOS類型,則該設(shè)備為Android類型。

作為另一種優(yōu)選的實(shí)施方式,所述URL發(fā)生器用于動(dòng)態(tài)創(chuàng)建一個(gè)iframe并為該iframe設(shè)置src屬性,所述URL攔截器通過攔截src屬性值得到文檔路徑。

作為另一種優(yōu)選的實(shí)施方式,所述文檔的類型為PDF、TXT或Office。

【有益效果】

本發(fā)明提出的技術(shù)方案具有以下有益效果:

本發(fā)明實(shí)現(xiàn)了跨平臺(tái)且兼容不同類型文檔的閱讀器,能夠根據(jù)文檔傳入的路徑,判斷文檔類型,并選擇合適的方式打開文檔,供用戶閱讀,提升了用戶體驗(yàn)。

附圖說明

圖1為本發(fā)明的實(shí)施例一提供的基于移動(dòng)終端的跨平臺(tái)的文檔閱讀器的原理框圖。

具體實(shí)施方式

為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將對(duì)本發(fā)明的具體實(shí)施方式進(jìn)行清楚、完整的描述。

實(shí)施例一

圖1為本發(fā)明實(shí)施例一提供的基于移動(dòng)終端的跨平臺(tái)的文檔閱讀器的原理框圖。如圖1所示,該閱讀器包括Android原生閱讀器、iOS原生閱讀器、設(shè)備識(shí)別模塊、URL發(fā)生器、URL攔截器、打開文檔模塊、javascriptInterface函數(shù)接口、iOS類型打開模塊和Android類型打開模塊。

Android原生閱讀器是用Android原生代碼開發(fā)的能夠兼容不同類型文檔的Android閱讀器。iOS原生閱讀器是用iOS原生代碼開發(fā)的能夠兼容不同類型文檔的iOS閱讀器。其中,文檔的類型為PDF、TXT或Office。

打開文檔模塊用于傳入要打開文檔的路徑。

設(shè)備識(shí)別模塊用于獲得當(dāng)前設(shè)備類型。具體地,設(shè)備識(shí)別模塊被配置成:通過HTML DOM userAgent屬性判斷瀏覽器類型并確定該瀏覽器所在的設(shè)備是否為iOS類型,若不是iOS類型,則該設(shè)備為Android類型。

Android類型打開模塊被配置成:如果當(dāng)前設(shè)備的類型為Android類型,則調(diào)用javascriptInterface函數(shù)接口,javascriptInterface函數(shù)接口調(diào)用Android原生閱讀器打開文檔。

URL發(fā)生器用于動(dòng)態(tài)創(chuàng)建一個(gè)iframe并為該iframe設(shè)置src屬性,URL攔截器通過攔截src屬性值得到文檔路徑。

iOS類型打開模塊被配置成:如果當(dāng)前設(shè)備的類型為iOS類型,則構(gòu)建打開文檔閱讀器的URL并調(diào)用URL發(fā)生器,URL攔截器攔截到URL后,解析出需要調(diào)用的iOS方法名及文檔路徑,URL攔截器調(diào)用iOS原生閱讀器,打開文檔。

實(shí)施例一中的閱讀器的實(shí)現(xiàn)方法可以參考下述具體方法實(shí)施例。

實(shí)施例二

實(shí)施例二為一種基于移動(dòng)終端的跨平臺(tái)的文檔閱讀器的實(shí)現(xiàn)方法,該方法包括以下步驟:

(1)、開發(fā)文檔閱讀器的原生模塊,可以在Eclipse環(huán)境和Xcode環(huán)境下進(jìn)行文檔閱讀器的原生模塊開發(fā),最終用戶通過打開文檔模塊傳入要打開文檔的路徑,所述文檔閱讀器的原生模塊包括Android原生閱讀器和iOS原生閱讀器,所述Android原生閱讀器為用Android原生代碼開發(fā)的能夠兼容不同類型文檔的Android閱讀器,所述iOS原生閱讀器是用iOS原生代碼開發(fā)的能夠兼容不同類型文檔的iOS閱讀器。文檔的類型為PDF、TXT或Office。

具體地,iOS端實(shí)現(xiàn)能打開不同類型文檔的原生閱讀器,iOS是通過依賴QuickLook框架實(shí)現(xiàn)的多格式文檔預(yù)覽,通過把傳入的文檔路徑解析成相應(yīng)的url路徑,由QuickLook框架識(shí)別文檔路徑及格式打開文檔,具題實(shí)現(xiàn)是通過QLPreviewControllerDelegate代理方法,示例代碼如下:

(id<QLPreviewItem>)previewController:(QLPreviewController

*)controller previewItemAtIndex:(NSInteger)index{

NSURL*url=[NSURL fileURLWithPath:path];

Return url;

}

其中path為傳入的文檔路徑,若傳入文檔為txt格式文檔一般是又編碼格式的,ios系統(tǒng)9.0以下的版本是不能自動(dòng)識(shí)別編碼之后的txt中文文檔,直接預(yù)覽文檔會(huì)出現(xiàn)亂碼情況,如果需要兼容所有系統(tǒng)版本,那么這里需要進(jìn)行文檔編碼格式轉(zhuǎn)換,本發(fā)明實(shí)施例具體解決txt文檔編碼的方法如下:

首先判斷txt文檔的是否編碼,若沒有編碼,直接通過QuickLook框架進(jìn)行路徑解析,預(yù)覽次文檔;若是編碼過的txt文檔,進(jìn)行編碼方式轉(zhuǎn)換,再通過QuickLook框架進(jìn)行路徑解析。編碼過的txt文檔編碼格式一般為UNICODE編碼或者ANSI編碼(-2147482591,-2147482062),本發(fā)明實(shí)施例通過將原始文檔轉(zhuǎn)換成NSUTF16StringEncoding編碼格式進(jìn)行txt文檔閱讀。

(2)、通過設(shè)備識(shí)別模塊獲得當(dāng)前設(shè)備類型。具體地,該步驟中,設(shè)備識(shí)別模塊通過HTML DOM userAgent屬性判斷瀏覽器類型并確定該瀏覽器所在的設(shè)備是否為iOS類型,若不是iOS類型,則該設(shè)備為Android類型。

(3)、如果當(dāng)前設(shè)備的類型為Android類型,則調(diào)用javascriptInterface函數(shù)接口,javascriptInterface函數(shù)接口調(diào)用Android原生閱讀器打開文檔。

(4)、如果當(dāng)前設(shè)備的類型為iOS類型,則構(gòu)建打開文檔閱讀器的URL并調(diào)用URL發(fā)生器,URL攔截器攔截到URL后,解析出需要調(diào)用的iOS方法名及文檔路徑,URL攔截器調(diào)用iOS原生閱讀器,打開文檔。該步驟中,URL發(fā)生器用于動(dòng)態(tài)創(chuàng)建一個(gè)iframe并為該iframe設(shè)置src屬性,URL攔截器通過攔截src屬性值得到文檔路徑。

從以上實(shí)施例可以看出,本發(fā)明實(shí)施例實(shí)現(xiàn)了跨平臺(tái)且兼容不同類型文檔的閱讀器,能夠根據(jù)文檔傳入的路徑,判斷文檔類型,并選擇合適的方式打開文檔,供用戶閱讀,提升了用戶體驗(yàn)。

需要說明,上述描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部實(shí)施例,也不是對(duì)本發(fā)明的限制?;诒景l(fā)明的實(shí)施例,本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
贵德县| 康乐县| 池州市| 丰城市| 香港| 西吉县| 青神县| 井研县| 宜兴市| 襄城县| 宣恩县| 遵化市| 米泉市| 巴里| SHOW| 东兴市| 兴隆县| 浮山县| 潼南县| 大田县| 张家界市| 万载县| 得荣县| 华宁县| 鄂托克前旗| 岑巩县| 德江县| 万全县| 尉氏县| 临西县| 宕昌县| 策勒县| 安化县| 莒南县| 穆棱市| 衡东县| 夹江县| 万年县| 玉田县| 阜康市| 商都县|