999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android的PDF課件閱讀客戶端的設計與實現

2018-11-14 12:58:10
赤峰學院學報·自然科學版 2018年10期

彭 飛

(安徽信息工程學院 計算機與軟件工程學院,安徽 蕪湖 241000)

目前,市場上關于移動學習的安卓程序較多,除了可以播放學習視頻之外,絕大部分應用程序是將學習內容以網頁化的形式在客戶端進行展示,但目前高校教師團隊的課件基本都是PPT/DOC/PDF格式,在經過轉換之后,很難保證在客戶端瀏覽的格式與電腦端保持一致,那么自然會降低學習效果和效率.因此,若能設計并研發出一款在安卓客戶端直接對PPT/DOC/PDF格式的課件進行在線閱讀的移動學習應用程序,其對促進教育的發展,所帶來的社會效益都將是非常可觀的[1].

1 Android概述

安卓是一個以Linux系統內核為基礎,開放源代碼,具有高度可擴展性的智能手機操作系統,是目前市場上使用率較高的手機操作系統之一[2].

正是由于安卓系統是開放式的,在不支付任何費用的情況都可直接使用,因此在目前國內,手機生產廠商基于企業利潤或研發成本的考慮,都會選擇安卓系統作為其生產的手機操作系統[20].

PDF課件閱讀客戶端之所以選擇安卓系統作為平臺的重要原因就是由于安卓具有以下優勢:

1.1 平臺開放性

因為安卓的開放性,智能移動終端的生產廠商很大一部分都已經成為安卓聯盟中的一員,導致其擁有大量的開發者,系統用戶和應用程序也日益增多,最終也就促使了安卓系統以極快的速度走向成熟.

1.2 不受運營商的限制

安卓操作系統目前支持所有的網絡制式,包括CDMA、EV-DO、TD-SCDMA、GSM/EDGE、UMTS、Bluetooth、Wi-Fi、LTE、NFC和WiMAX.因此用戶可以不受網絡運營商的限制而連接入網絡,能夠更簡單地進行網絡數據的使用.

1.3 多種硬件選擇

由于安卓的開發性,大量的設備制造廠商的加入,因而就會推出屏幕尺寸各異、各具功能特色、性能差異巨大,但又不缺失人性化的產品[3].

2 Eclipse平臺介紹

目前企業中的安卓程序的研發人員大多數都在基于Eclipse平臺進行代碼編寫和調試工作.Eclipse平臺是一個開源的軟件項目,由于它是一套軟件框架和服務,所以就能夠通過添加不同的插件來達到開發不同應用程序的目的.目前這個平臺有眾多版本,其中就包括谷歌公司專門針對開發安卓應用程序所開發的一一個版本,被稱之為ADT-Bundle.ADT-Bundle本質上就是以Eclipse平臺為基礎,添加了ADT插件以及最新版本的安卓的SDK.研發人員就可以利用該平臺直接新建安卓工程,編寫調試代碼,打包并發布安卓應用程序,創建安卓模擬器,在模擬器上安裝并測試安卓應用程序,這樣對于安卓應用程序的研發就可以更加集中精力,提高開發效率.

3 Android客戶端的設計

3.1 系統拓撲結構

本移動客戶端的的系統拓撲結構如圖1所示.

圖1 系統拓撲圖

3.2 網絡訪問設計

HttpClient作為一個開源的、易于網絡請求的HTTP客戶端,由于其既可以發送請求,又可以接收響應,因此目前安卓項目已經集成了HttpClient用于請求發送和響應接受.安卓應用程序的開發人員能夠直接利用HttpClient進行網絡操作,來達到與Web服務器進行數據交互的目的.

在安卓程序中利用HttpClient進行網絡操作,包括發送請求和接收響應,大致包括以下幾個操作:

實例化HttpClient表示客戶端.

實例化請求對象,根據請求方式分為兩種情況:假如是GET,則實例化HttpGet類;假如是POST,則實例化HttpPost類.

執行客戶端實例的execute方法用于進行請求,該方法的返回值為服務器響應對象,通過調用該對象的方法則可以獲取服務器響應的各項數據.

根據響應對象的屬性判斷是否正常.

如果響應正常,則獲得響應對象當中的數據.

3.3 課件閱讀設計

不同于市場上大部分移動學習客戶端都是以文本或網頁直接在界面中呈現,為保證在本客戶端中對課件的瀏覽內容和格式與在電腦端中保持一致,課件閱讀模塊是基于開源項目MuPDF案例的基礎上,從服務器端獲取課件文檔數據后,然后直接瀏覽PDF格式的文件,同時具有翻頁,放大縮小文檔的功能.

課件閱讀的時序圖如圖2所示.

圖2 課件閱讀時序圖

4 Android客戶端的實現

4.1 開發環境

本客戶端以Eclipse作為開發環境,使用Java進行研發,采用SQLite進行客戶端數據的存儲[4].下載由谷歌公司推出的專門開發安卓應用程序的集成軟件包:ADT Bundle.

4.2 網絡數據訪問

本客戶端通過調用符合REST格式的WebService接口來完成與學習資源平臺業務數據的交互,此時就需要一個公共的網絡訪問組件,那么我們把公共訪問組件封裝到HttpUtil類中,這個類是利用安卓系統SDK原生態的網絡組件HttpClient搭建,可以通過網絡地址以Get或者Post的方式向服務器請求并傳遞數據,然后獲取服務器響應的數據.利用HttpClient進行網絡訪問有下面幾步:

(1)實例化HttpClient對象,代碼如下:

HttpClient httpClient=new DefaultHttpClient();

(2)根據請求方式,實例化httpGET或httpPost對象,這些對象的創建都要傳入即將訪問的網絡地址,代碼如下:

HttpPost post=new HttpPost(url);

(3)如果有數據需要傳遞給服務器,則將數據進行封裝處理,代碼如下:

(6)解析得到的響應數據內容.

(7)關閉http連接,釋放對象資源,代碼如下:

httpClient.getConnectionManager().shutdown();

4.3 集成MuPDF項目

MuPDF是目前在安卓設備上進行PDF瀏覽領域,集成應用最多的開源項目之一,其具有小而快速的特點.而且功能齊全,支持對PDF文件進行批注、搜索等一系列功能.

本客戶端在實現課件閱讀功能時,集成了基于MuPDF的開源項目,并對界面做了實用性修改,刪除部分自帶的冗余功能.具體實現如下:

(a)下載基于MuPDF的開源項目artifex.mupdf

(b)在本客戶端項目src目錄下創建包名com.artifex.mupdf,然后將開源項目中代碼拷貝到該包下.注意:此處新建的包名不可做任何變動.

(c)將開源項目中的libmupdf.so文件復制到安卓工程中的指定的文件夾內,如圖3所示:

圖3 libmupdf.so文件位置

(d)在項目中的清單文件AndroidManifest.xml中,進行Activity的聲明注冊,代碼如下:

(e)在客戶端中進行課件閱讀時,將非加密狀態下的課件文檔路徑存入到Intent對象中,然后跳轉到步驟4聲明的MuPDFActivity,即可顯示該課件進行閱讀.代碼如下:

4.3 課件閱讀

課件閱讀是基于開源項目MuPDF的項目案例,其具有小而快速瀏覽pdf文件的特性.由于MuPDF項目只能支持文件瀏覽,而不支持二進制數據,所以當從學習資源平臺獲取加密的文檔數據之后,首先會在客戶端本地生成臨時文件,然后將臨時文件的路徑通過Intent對象傳遞給項目中瀏覽界面,進行文檔的閱讀.由于臨時文件是不加密的,就存放于本地,為了課件的安全性,需要在瀏覽界面中重寫onDestroy函數及時刪除臨時文件.

(a)將PDF文件瀏覽界面的Activity在清單文件AndroidManifest.xml進行注冊.

(b)從服務端獲取要瀏覽的課件數據,并在客戶端本地通過IO讀寫生成文件,注意此時文件處于加密狀態.

(c)將文件路徑存入到Intent對象,并通過該對象跳轉到文件瀏覽界面MuPDFActivity,代碼如下:

(d)在MuPDFActivity類中的onCreate方法內,通過Intent對象完成文件路徑的數據傳值,利用DES解密算法對文件進行解密操作,生成可直接瀏覽的文件,同時根據文件路徑刪除加密文件.

(e)進行的課件的瀏覽,實現大小變化、上頁下頁等.

(f)在MuPDFActivity類中的onDestroy方法內,負責及時刪除可直接瀏覽、不加密的課件,代碼如下:

5 結束語

Android客戶端實現了一個學習者可以利用服務器端中現有的課件等資源,在業余、閑散、碎片化的時間能夠進行學習,及時地解決了當前大部分學習客戶端軟件不能直接瀏覽課件(PPT/DOC/PDF)的弊端.為保證服務器端中的現有課件在本客戶端閱讀時與電腦端的內容格式的一致,集成并應用開源項目MuPDF實現對PDF文件的在線瀏覽.

主站蜘蛛池模板: 干中文字幕| 波多野结衣在线se| 国产亚洲欧美日韩在线一区二区三区| 大香伊人久久| 国产亚洲欧美另类一区二区| 午夜国产不卡在线观看视频| 国产av一码二码三码无码 | 97国产一区二区精品久久呦| 四虎影视永久在线精品| 欧美a级完整在线观看| 激情综合网址| 精品国产中文一级毛片在线看| 亚洲综合网在线观看| 激情综合网激情综合| 国产白浆在线观看| 国产精品9| 日本三级黄在线观看| 亚洲精品自产拍在线观看APP| 国产高清又黄又嫩的免费视频网站| 午夜三级在线| 香蕉久人久人青草青草| 国产精品女同一区三区五区| 欧美性精品| 国产一区二区精品高清在线观看| 五月婷婷综合在线视频| 国产亚洲一区二区三区在线| 亚洲人精品亚洲人成在线| 日本少妇又色又爽又高潮| 免费AV在线播放观看18禁强制| av在线5g无码天天| 朝桐光一区二区| 国产香蕉国产精品偷在线观看| 亚洲AV电影不卡在线观看| 毛片三级在线观看| 在线播放国产一区| 91九色国产在线| 天天操精品| 欧美午夜在线观看| 久久黄色影院| 72种姿势欧美久久久久大黄蕉| 国产成人a在线观看视频| 特级欧美视频aaaaaa| 亚洲一区毛片| 精品国产香蕉伊思人在线| 亚洲AV永久无码精品古装片| 国产区福利小视频在线观看尤物| 亚洲精品国产成人7777| 国产第一色| 一级毛片免费高清视频| 久久中文无码精品| 免费看的一级毛片| 国产精品免费久久久久影院无码| 91久草视频| 国产福利拍拍拍| 亚洲精品无码久久久久苍井空| 噜噜噜久久| 青青草一区二区免费精品| a欧美在线| 久久夜夜视频| 亚洲日本韩在线观看| 国产九九精品视频| 色婷婷亚洲十月十月色天| 成人在线不卡视频| 久久毛片基地| 亚洲人成网7777777国产| 粗大猛烈进出高潮视频无码| 亚洲国产一区在线观看| 一本大道香蕉高清久久| 亚洲人成网站在线播放2019| 国产精品一区二区在线播放| 成人福利在线看| 亚洲国产欧美国产综合久久| 波多野结衣一区二区三区四区视频| 欧美午夜网站| 久久午夜夜伦鲁鲁片无码免费| av在线5g无码天天| www.日韩三级| 日韩福利在线视频| 国产综合精品一区二区| 亚洲第一香蕉视频| 亚洲日本www| 久久精品只有这里有|