• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于安卓平臺的地圖集展示應用程序開發(fā)

      2018-01-19 11:35謝三五張志新李昕
      軟件導刊 2018年10期
      關鍵詞:安卓控件視圖

      謝三五 張志新 李昕

      摘要:傳統(tǒng)地理信息地圖集產(chǎn)品一般為紙質(zhì)圖件或電子圖片。在電子產(chǎn)業(yè)迅速發(fā)展的時代,紙質(zhì)成果攜帶不方便、保存成本高,而保存于成果數(shù)據(jù)庫的電子圖片也常常在項目結束后被很快封存,宣傳與展示受限的缺陷日益凸顯?;诎沧恳苿佣藨贸绦蜷_發(fā)平臺設計開發(fā)地圖集展示應用程序,可實現(xiàn)移動端的電子地圖集瀏覽與展示。該應用程序能解決大型圖片在安卓移動端的瀏覽受限問題,操作便捷流暢,能很好地為用戶展現(xiàn)各類豐富的地圖集產(chǎn)品,為地圖集制作方提供了出版物展示的新模式。

      關鍵詞:安卓;移動端;地圖集;地理信息

      DOIDOI:10.11907/rjdk.181245

      中圖分類號:TP319

      文獻標識碼:A 文章編號:1672-7800(2018)010-0114-03

      英文摘要Abstract:Usually, the traditional Geographic Information Atlas products are paper-made maps or electronic images. In the era of rapid development of the electronics industry, paper-made maps are inconvenient to carry, and the cost of preservation is high. Electronic image saved in the achievement database are often sealed up for safekeeping soon after the project is completed. The limitations of propaganda and exhibition are becoming more and more serious. Design and development of the atlas exhibition application based on the platform of android mobile application development can implement the mobile browse and exhibition of electronic atlas. The application can release the restrictions on Android mobile browse of large images, and it operates conveniently and smoothly. The application can commendably exhibit all kinds of Atlas products for users. And it provides a new mode for the atlas producers to exhibit their publications.

      英文關鍵詞Key Words:Android; mobile; atlas; geographic information

      0 引言

      隨著計算機與通信網(wǎng)絡技術的迅猛發(fā)展,手機、平板電腦等便攜移動終端不僅僅是通訊網(wǎng)絡的終端,還逐漸成為互聯(lián)網(wǎng)應用終端,因此移動終端的服務和軟件有著廣闊的發(fā)展空間,尤其是在市場潛力巨大的安卓(Android)平臺上[1-2]。目前在移動應用軟件市場上,各類矢量地圖、導航地圖應用產(chǎn)品非常豐富,一些大眾化的電子圖書閱讀與圖片瀏覽應用軟件也層出不窮,如王華旭[3]重點研究了人臉識別與內(nèi)容分類技術,開發(fā)了智能手機相冊應用;黃凱[4]研究開發(fā)的圖片管理器,完善了對圖片的格式支持、瀏覽、修改等管理功能;陸詠梅等[5]研究了在移動端全屏瀏覽批量圖片的技術,旨在提高用戶體驗。然而,此類研究主要針對常用圖片,目前市場上很難找到針對專題地理信息地圖集的閱讀應用。在該情況下,推出基于安卓移動終端的地圖集產(chǎn)品正逢其時,同時也是出版行業(yè)與移動互聯(lián)時代對接的一次創(chuàng)新型嘗試。

      本文設計可滿足安卓移動終端要求的電子地圖集產(chǎn)品格式,同時研發(fā)應用程序(“微地圖”APP),建立APP形式的地圖集出版物展示新模式,將收集到的地圖集數(shù)據(jù)成果放在移動平臺上進行發(fā)布、交流與展示。該形式相比于紙質(zhì)閱讀具有更大的信息量與更強的便捷性。APP展示的地圖集產(chǎn)品,不僅為熱愛研究地圖產(chǎn)品特色的地圖行業(yè)專業(yè)人員提供相互學習與借鑒的資源,同時也向大眾提供旅游、歷史、專題查詢等各類地圖服務。

      由于圖集圖片具有內(nèi)容豐富、清晰度高、數(shù)據(jù)量大的特點,因此,本文重點研究針對大型圖片的瀏覽處理技術,創(chuàng)新性地實現(xiàn)了流暢的手勢縮放瀏覽。

      1 總體設計

      1.1 環(huán)境框架設計

      由于移動設備對網(wǎng)絡環(huán)境與數(shù)據(jù)承載能力的要求非常高,本文設計采用離線服務,圖集產(chǎn)品集成在安裝包中,在APP界面中以類似書架的形式進行展示。考慮到客戶端容量,對實際上架的圖集產(chǎn)品進行內(nèi)容選取與格式壓縮,以達到最優(yōu)運行速度與內(nèi)容豐富度的平衡。

      本文APP的開發(fā)使用Eclipse平臺,該平臺是一個開放源代碼、基于Java的可擴展開發(fā)平臺,其本身是一個框架和一組服務,可利用插件組件構建開發(fā)環(huán)境。開發(fā)工具包為Android SDK,通過ADT插件接口進行工作。

      考慮到屏幕制式的差別(屏幕密度與尺寸差異),同時制作手機和HD平板兩個版本。

      1.2 數(shù)據(jù)模型設計

      設計完成地圖集產(chǎn)品的分類模式(政區(qū)、旅游、歷史等)、數(shù)據(jù)格式(圖集產(chǎn)品掃描格式)、各圖集展示產(chǎn)品分辨率(DPI)、數(shù)據(jù)量大小規(guī)范等基礎數(shù)據(jù)信息。根據(jù)這些基礎信息,選擇APP展示的地圖集,確立整體數(shù)據(jù)量大小。

      設計完成后,對各圖集進行標準格式化,形成規(guī)范的位圖資源,以方便應用程序調(diào)用。

      1.3 功能模型設計

      設計完成APP程序的界面布局與功能模塊。APP初次啟動時,首先進入過場歡迎圖片,內(nèi)容為制作方的簡短介紹與背景產(chǎn)品,通過手勢滑動進行瀏覽,結束后進入主界面。主界面設計原則為:風格統(tǒng)一、特點突出、功能顯示清晰。主界面布局如圖1所示。

      2 主要功能實現(xiàn)

      2.1 地圖產(chǎn)品展示模塊

      每個圖集產(chǎn)品均在APP中體現(xiàn)其信息,包括封面圖片、標題、產(chǎn)品介紹與分類信息。通過點擊主界面 “書架”上的列表或上方廣告,選擇相應圖集后,進入地圖瀏覽界面?!皶堋崩^承自安卓的ListView類,并通過技術手段進行了改進。

      進入地圖瀏覽頁面后,通過手勢縮放動作,利用Android SDK的相關類設計巨幅地圖瀏覽功能,實時獲取屏幕范圍的真實分辨率內(nèi)容,可解決一般方法對圖片大小的限制。在頁面中設計了前后翻頁、頁碼選擇及跳轉(zhuǎn)功

      能,地圖瀏覽頁面可進行橫豎屏實時切換。通過這些功能組合,為用戶提供良好的瀏覽體驗。

      2.2 分類與檢索模塊

      在首頁可以分類瀏覽圖集,也可通過模糊搜索檢索相關產(chǎn)品。同時,設計檢索失敗相關提示,以方便用戶快速閱覽使用。模塊功能局部界面如圖2所示。

      2.3 其它模塊

      介紹單位的人員實力、地圖生產(chǎn)能力、技術特色、聯(lián)系方式等信息。點擊右上方 “關于”按鈕,進入后可查閱軟件版本與幫助信息,并可再次瀏覽歡迎頁面,以方便用戶了解制作方與APP的詳細信息。

      3 關鍵技術

      3.1 屏幕適配技術

      在移動設備(手機、平板)市場上,產(chǎn)品豐富程度呈指數(shù)態(tài)勢增長。不同設備的物理尺寸(單位:英寸)、設備分辨率(單位:像素)和屏幕密度(單位:DPI)各不相同。為了解決各類不同密度屏幕的界面布局問題,本文采取兩種措施保證屏幕的正常顯示。

      一是在XML布局文件中對控件高寬采用相對布局(Relative Layout)方式,并且在定義長寬時,使用wrap_content(根據(jù)內(nèi)容適配)或fill_parent(匹配父控件),以保證在屏幕上展示時尺寸大小合適,同時避免使用像素等單位。

      二是在手機版本和HD版本布局開發(fā)時,對各類控件的尺寸設置均采用密度無關的像素單位(Density-independent pixel—dip)(控件為DP、文字為SP)。該單位根據(jù)設備的物理尺寸和DPI密度進行對應像素轉(zhuǎn)換,以匹配不同的硬件設備屏幕。

      本文針對目前主流的移動設備進行統(tǒng)計,對其物理尺寸特征與密度進行分析,以此決定開發(fā)中各控件的大小水平。以一個高度為100dp的控件為例,其在真實手機屏幕中的實際像素占比情況如表1所示。

      通過表1可以得出,在手機版本開發(fā)中,以dp為單位設置控件大小,在使用率較高的手機中,均可得到一致的顯示比例,而不會呈現(xiàn)明顯的顯示比例不均的情況。因此,只需在工程中設計一個版本的布局,便可支持大部分的手機屏幕顯示,HD平板設計同理。

      3.2 安卓列表欄自帶問題修復

      在利用Android SDK開發(fā)列表欄時,傳統(tǒng)方法是布置ListView控件,使用BaseAdapter類實現(xiàn)數(shù)據(jù)填充。安卓系統(tǒng)開發(fā)的默認機制是:對屏幕中可視的列表內(nèi)容部分進行緩存,對于由于屏幕大小有限需要下拉才能顯示的內(nèi)容則未放入緩沖,以節(jié)約系統(tǒng)資源。但是如果采用此類默認機制進行開發(fā),在用戶滑動列表欄瀏覽時,會造成列表內(nèi)容顯示混亂。原因在于:在某行滑動出屏幕時,系統(tǒng)開始對列表視圖進行數(shù)據(jù)重構,重構時會復用滑動之前的視圖緩存,而不是對新視圖進行重新填充,從而造成混亂。

      為解決該問題,本文采用繼承自BaseAdapter的ListViewAdapter類進行數(shù)據(jù)填充,并對類中的getView方法進行改進。有某行滑出屏幕時,視為存在變化的視圖(ConvertView)。若ConvertView為空,進行布局與數(shù)據(jù)填充;若收到新的ConvertView,復用布局視圖。針對這兩種情況,不管視圖是否重用,都重新設置數(shù)據(jù)。

      使用一個內(nèi)部類持有布局文件中相關視圖的引用,在每次視圖復用時,通過引用進行加載,比傳統(tǒng)加載新視圖的方法能更好地提高效率。

      3.3 大型圖片瀏覽技術

      在安卓開發(fā)中,圖片加載的一般思路是使用setImageBitmap或setImageResource等方法設置一張大圖,這些函數(shù)最終都是通過Java的createBitmap完成的,非常消耗資源,也容易造成系統(tǒng)運行崩潰。

      本文設計了一個繼承自安卓SurfaceView父類的ImageSurfaceView類進行大型圖片加載與手勢移動、縮放等操作,擴展其對過大緩存數(shù)據(jù)的支持功能。主要工作機制是:根據(jù)設備屏幕的像素范圍形成一個真實分辨率繪制區(qū)域Viewport(屏幕實際像素范圍),每一次屏幕渲染只針對屏幕可視部分,從而減少不必要的圖片處理。在Viewport周圍給定一個具有外擴范圍的圖片緩存范圍Cache(緩存區(qū)域范圍),每當有手勢動作拖動圖片進行范圍重繪時,利用Cache中已緩存好的內(nèi)容進行補充,在手勢動作完成時繪制Viewport內(nèi)容。通過這種動態(tài)加載機制,可解決因圖片過大導致無法顯示或系統(tǒng)崩潰的問題,以及重繪時速度過慢的問題。

      4 軟件評價與展望

      4.1 離線與在線形式優(yōu)劣勢對比

      本文設計的APP為本地離線形式,地圖集產(chǎn)品打包封裝于APP安裝包中,在客戶端進行安裝后,程序占用存儲空間較大是其劣勢,但其優(yōu)勢是:安裝完成后不會再因圖片大小或網(wǎng)絡環(huán)境因素影響用戶使用體驗。

      解決程序數(shù)據(jù)量大的方式是采用在線形式進行地圖集瀏覽,其優(yōu)勢是占用存儲空間小,用戶可選擇瀏覽的產(chǎn)品更多,但其劣勢為:網(wǎng)絡環(huán)境的優(yōu)劣對用戶的使用體驗影響較大,瀏覽大型圖片時可能造成等待時間過長,并且在蜂窩移動網(wǎng)絡下流量消耗大,經(jīng)濟性較差。

      4.2 軟件總體評價

      4.2.1 實用性與可靠性

      本文完成的應用程序主體功能明確、操作直觀便捷,對于地圖集制作相關專業(yè)用戶與對地圖感興趣的公眾用戶而言,實用價值較高。程序整體系統(tǒng)結構合理,在真機測試中使用2011年的中低端配置,對大型圖片進行操作時,響應速度快,整體可靠性高。

      4.2.2 可擴展性與前瞻性

      本文開發(fā)使用的Eclipse平臺是目前安卓系統(tǒng)APP開發(fā)的主流軟件平臺之一。開發(fā)中,功能的設計與實現(xiàn)完全依據(jù)軟件開發(fā)行業(yè)規(guī)范,能夠滿足后期對擴展性的基本要求。

      在部分功能的實現(xiàn)上,本文采用自定義列表顯示、大型圖片緩存等技術方法,在保障項目正常運作的同時,也為將來的優(yōu)化與擴展打下良好基礎。

      參考文獻:

      [1] 陳人騏.基于Android手機的電子地圖服務軟件設計與實現(xiàn)[D].成都:電子科技大學,2012.

      [2] 吳想想.基于Android平臺軟件開發(fā)方法的研究與應用[D].北京:北京郵電大學,2011.

      [3] 王華旭.基于Android平臺的智能手機相冊的設計與實現(xiàn)[D].廣州:中山大學,2014.

      [4] 黃凱.基于Android的圖片管理器設計與實現(xiàn)[D].濟南:山東大學,2013.

      [5] 陸詠梅,俞震,陶洪峰.移動終端圖片智能瀏覽系統(tǒng)[J].通訊世界,2017(2):84-85.

      [6] 萬利成.手機相冊系統(tǒng)的設計與實現(xiàn)[D].長春:吉林大學,2016.

      [7] 陳星,江蘭帆.基于Google Android平臺的移動開發(fā)研究[J].福建電腦,2008(11):156-157.

      [8] 李寶韓.基于Android的PhoneGap平臺研究及其跨移動平臺媒體框架的擴展[D].廣州:華南理工大學,2012.

      [9] 張毅,張志國.基于Google Android平臺平板電腦應用程序開發(fā)[J].科技信息,2011(10):632-633.

      [10] 楊瀟亮.基于安卓操作系統(tǒng)的應用軟件開發(fā)[J].電子制作,2014(19):45-46.

      [11] 顧兆申.基于iOS平臺的圖片集成處理器的設計[D].大連:大連海事大學,2017.

      [12] 翟宇.基于Android系統(tǒng)下的校園三維地圖的開發(fā)和研究[D].晉中:山西農(nóng)業(yè)大學,2015.

      [13] 舒賢華.基于Android平臺的手機Web地圖服務設計[D].大連:大連海事大學,2009.

      [14] 鐘鍵.圖片瀏覽軟件設計[J].電腦編程技巧與維護,2016(9):76-77.

      [15] 吳曉泉.Android室內(nèi)矢量地圖SDK的設計與實現(xiàn)[D].北京:北京郵電大學,2014.

      [16] 黃現(xiàn)云.基于Android平臺電子閱讀客戶端的設計與實現(xiàn)[D].北京:北京交通大學,2014.

      (責任編輯:黃 健)

      猜你喜歡
      安卓控件視圖
      文物表情包
      視圖
      Y—20重型運輸機多視圖
      SA2型76毫米車載高炮多視圖
      一種基于安卓系統(tǒng)的手機側抓包分析方法
      ASP.NET服務器端驗證控件的使用
      安卓L未至安卓M來了!安卓首泄漏M系統(tǒng)
      Spreadsheet控件在Delphi數(shù)據(jù)庫系統(tǒng)中的編程與應用
      碌曲县| 安阳市| 犍为县| 宁安市| 浦北县| 钦州市| 金乡县| 泊头市| 蒲城县| 金沙县| 日喀则市| 红河县| 阳朔县| 酉阳| 无锡市| 即墨市| 平度市| 芒康县| 潞城市| 比如县| 宜兴市| 思茅市| 华坪县| 石渠县| 凉山| 新郑市| 灵武市| 沈阳市| 贵港市| 昆明市| 五华县| 那坡县| 荥经县| 南丹县| 鄂尔多斯市| 丹凤县| 和平区| 青浦区| 平定县| 麟游县| 历史|