亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Android平臺的移動標本館App的設(shè)計與實現(xiàn)
        ——以北京林業(yè)大學為例

        2017-01-04 02:14:50
        中國林業(yè)教育 2017年1期
        關(guān)鍵詞:物種數(shù)據(jù)庫資源

        (北京林業(yè)大學信息學院,北京 100083)

        基于Android平臺的移動標本館App的設(shè)計與實現(xiàn)
        ——以北京林業(yè)大學為例

        田 萱 王 鉑 林歆睿 張海燕 陳志泊

        (北京林業(yè)大學信息學院,北京 100083)

        Android平臺憑借其穩(wěn)定性和開放性吸引了大量的用戶和開發(fā)者,成為了目前發(fā)展最快、用戶最多的移動智能操作系統(tǒng)。設(shè)計并實現(xiàn)的基于Android平臺的移動標本館App,通過移動設(shè)備和計算機網(wǎng)絡(luò),將各種信息數(shù)據(jù)庫互聯(lián)起來,為學生、教師、科研人員等提供更為方便實用、高效快捷的標本查詢途徑,對加強標本的信息化管理、傳播生態(tài)文明理念,具有很強的實踐意義。

        標本館;移動App;Android;JSON

        隨著移動互聯(lián)網(wǎng)的快速發(fā)展,手機、pad等移動設(shè)備產(chǎn)品在人們工作、學習、生活中已經(jīng)變得不可或缺。移動互聯(lián)網(wǎng)中比較常見的操作系統(tǒng)有Android、IOS,而目前占市場份額最大、發(fā)展前景最好的是Android系統(tǒng)。據(jù)調(diào)研機構(gòu)Kantar World ComTech(簡稱KWC)報告,截至2014年11月底的前3個月,Android系統(tǒng)在美國的市場份額為48.4%,占主導地位。在中國,Android系統(tǒng)的市場份額更是高達80.4%。

        在本世紀初,曾有學者提出了“21世紀植物標本館的發(fā)展方向是數(shù)字植物標本館”的概念[1]。數(shù)字化標本館,也可稱為虛擬標本館,它采用網(wǎng)絡(luò)存儲技術(shù)和Web信息化系統(tǒng),對數(shù)字化以后的標本進行管理,并提供在線的標本查詢及標本館相關(guān)的多種服務,將傳統(tǒng)的標本館進行網(wǎng)絡(luò)化、虛擬化。隨著移動互聯(lián)網(wǎng)絡(luò)的迅速發(fā)展,基于移動平臺開發(fā)的移動標本館App應用特點和優(yōu)勢日益凸顯。手機攜帶方便、信號覆蓋廣、隨時隨地獲取信息,極大地拉近了用戶與信息的距離,移動平臺的諸多優(yōu)勢將為標本館用戶帶來更大的便利[2]。因此,在移動設(shè)備端實現(xiàn)數(shù)字標本館的應用將極大地提高標本信息管理的便利性和廣大用戶的學習使用效率。

        以北京林業(yè)大學標本館為例,設(shè)計并開發(fā)出一種基于Android平臺的移動標本館App,解決了用戶實時獲取標本信息的迫切需求。它為數(shù)字化標本信息的存儲、管理提供了完備的數(shù)據(jù)庫體系支撐;標本二維碼的制作和張貼使標本信息和標本實體間的直接對應辨識成為可能;物種知識的介紹和物種類別層次的加入使系統(tǒng)的知識體系得到進一步完善。因此,移動標本館App既具有傳統(tǒng)數(shù)字標本館的優(yōu)勢,又具有移動化的特點。它不僅為用戶提供了更為便捷的標本查詢途徑,提高了標本館的使用效率,拓寬了使用范圍,而且還傳播了生態(tài)文明建設(shè)理念,開拓了學習和傳播生物多樣性知識的新渠道。

        一、移動標本館App的總體設(shè)計

        和現(xiàn)有的標本館Web系統(tǒng)端不同,移動標本館App是基于Android+Java EE框架開發(fā)的。Android平臺憑借其穩(wěn)定性和開放性吸引了大量的用戶和開發(fā)者,成為目前發(fā)展最快、用戶最多的移動智能操作系統(tǒng);輕量級的Java EE平臺以其開放、穩(wěn)定、安全、高效的突出優(yōu)勢成為許多信息化需求較高行業(yè)的首選平臺?;?Android+Java EE的系統(tǒng)架構(gòu)可同時滿足客戶端用戶體驗和服務器端復雜信息處理功能,是移動互聯(lián)應用的一種較為完善的開發(fā)模式。

        (一)系統(tǒng)的整體框架

        系統(tǒng)整體框架是一種服務器/客戶端的模式,如圖1所示??蛻舳耸窃贏ndroid移動平臺上安裝的移動標本館的App,主要提供人機交互接口,不做實質(zhì)性的業(yè)務處理工作,基本功能的實現(xiàn)主要依賴于與服務器端交互。系統(tǒng)服務器端采用Spring框架及其在其基礎(chǔ)上開發(fā)的RESTful WebServices(Representational State Transfer Web Service,表示狀態(tài)傳輸Web服務),供移動客戶端調(diào)用訪問。

        圖1 移動標本館App的框架結(jié)構(gòu)

        (二)系統(tǒng)的功能設(shè)計

        系統(tǒng)功能分為首頁、搜索模塊、二維碼模塊、分類模塊4個部分。①首頁,即基本信息介紹模塊。本館介紹和參觀須知用于介紹標本館的相關(guān)信息,學習資源和標本資源是搜索模塊功能的細化。②搜索模塊,分為物種搜索和標本搜索,可供用戶直接根據(jù)標本或物種名稱查詢所需信息。③二維碼模塊,是識別掃描標本館內(nèi)標本的二維碼,它可獲取標本信息。④分類模塊,供用戶查看植物界、動物界或菌物界物種的類別和層次。

        二、移動標本館App客戶端的設(shè)計與實現(xiàn)

        (一)App客戶端的設(shè)計

        基于Android系統(tǒng)的移動標本館App為滿足用戶不同需求,提供了物種/標本信息檢索的多種入口。①學習資源。通過學習資源類別層次檢索物種信息。②標本資源。通過標本資源,輸入標本名稱檢索標本信息。③搜索。通過搜索,直接選擇要檢索的物種/標本后,輸入物種/標本名稱查詢??蛻舳说目刂茖右哺鶕?jù)視圖層的不同,在采集客戶數(shù)據(jù)形成URI上作了個性化的處理。不同客戶入口的界面截圖如圖2所示。

        圖2 移動標本館App的客戶入口

        (二)App客戶端主要模塊的實現(xiàn)

        1.搜索模塊的實現(xiàn)

        搜索模塊的實現(xiàn)流程如下。①采集客戶數(shù)據(jù)信息。“搜索”部分整合了“學習資源”和“標本資源”2部分功能。該應用程序通過自定義控件WheelView實現(xiàn)動物、植物、病害、菌物、昆蟲、土壤、巖石的滾動選擇效果,同時通過給2個Button更改背景顏色和添加監(jiān)聽事件實現(xiàn)轉(zhuǎn)換選擇的效果。②Android系統(tǒng)端訪問RESTful Web服務接口。在REST(Representational State Transfer,表示狀態(tài)傳輸)框架中充分發(fā)掘HTTP(Hyper Text Transfer Protocol,超文本傳輸協(xié)議)自身的功能,并使用標準的HTTP方法對資源進行操作。RESTful Web 服務的工作原理就是向一個資源的URI(Uniform Resource Identifier統(tǒng)一資源標識符)發(fā)送GET(獲取)、POST(張貼)、PUT(上傳)和DELETE(刪除)等操作命令進行獲取、創(chuàng)建、修改、刪除等操作。該應用程序主要實現(xiàn)物種/標本信息檢索,即GET方法。③Android系統(tǒng)解析JSON(JavaScript Object Notation,JavaScript對象描述表示)文件?;贏ndroid系統(tǒng)的移動標本館App提供了JSON包,封裝了對于JSON格式字符串的常用操作。這個包中主要包括了JSONString、JSONToken、JSONObject、JSONArray、JSONException等5個功能類。應用程序中主要使用JSONObject(JSON對象)與JSONArray(JSON數(shù)組)分別對JSON對象與JSON數(shù)組進行解析,獲取到相應的數(shù)據(jù)之后,通過TextView的setText方法和ImageView中的setImageBitmap方法將文字和圖片顯示在客戶界面上。

        2.分類模塊的實現(xiàn)

        分類模塊的實現(xiàn)首先需要根據(jù)客戶需求讀取項目工程assets目錄下的3個文本文件,即Animal.txt、Fungi.txt和Plant.txt文件,文件記錄了標本館現(xiàn)有標本所對應物種的類別層次信息;之后將讀取的字符流轉(zhuǎn)換為JSON數(shù)據(jù),通過自定義的Aapter(適配器)實現(xiàn)物種類別層次信息的顯示,實現(xiàn)流程如圖3所示。

        (1)獲取選擇信息??蛻敉ㄟ^Spinner控件選擇標本類型,同時移動標本館App獲取客戶選擇信息,系統(tǒng)通過StringBuilder和BufferedReader讀取相應的本地文本文件,以字符串的形式返回讀取結(jié)果,移動標本館APP選擇類別操作界面的截圖如圖4所示。

        (2)實現(xiàn)標本分類信息層級顯示。在界面添加ListView(列表展示)控件,用列表的形式顯示標本的類別層次信息;編寫listview_item.xml文件,用來控制ListView中每一項的形式及顯示的內(nèi)容。移動應用程序獲取從文本文件中讀取的標本類別層級字符串,創(chuàng)建JSONObject(JSON對象),通過getJSONArray函數(shù)獲取JSONArray(JSON數(shù)組),以此為參數(shù)調(diào)用自定義的Aapter(適配器)接口,更新ListView。

        三、移動標本館App服務器端的設(shè)計與實現(xiàn)

        (一)服務器端的設(shè)計

        服務器端主要采用Spring框架來實現(xiàn)[3-4],并選用JSON作為數(shù)據(jù)傳輸媒介。Spring是一個得到廣泛應用的Java EE框架,支持用@RequestMa-pping和@PathVariable等注釋進行資源標識和URI映射。JSON(JavaScript Object Notation)是基于JavaScript Programming Language(JavaScript 編程語言)的一個子集,一種輕量級的數(shù)據(jù)交換語言,具有良好的可讀與便于編寫的特性[5-6],同時也方便了機器進行解析和生成,是一種理想的數(shù)據(jù)交換語言。服務器端主要分為應用層、資源層、功能層、數(shù)據(jù)層4部分,其4層架構(gòu)如圖5所示。

        圖3 移動標本館App客戶端分類模塊的實現(xiàn)流程

        圖4 移動標本館App客戶端選擇類別的操作界面

        (1)應用層。應用層主要是形成用戶所需資源的URI,提交客戶端App返回請求。

        (2)資源層。資源層由URI和資源組成,通過對外公布標本館資源的URI來發(fā)布服務,同時資源層接受用戶請求,分析HTTP請求的方法類型,并調(diào)用功能層方法,將返回的數(shù)據(jù)用JSON封裝后返回給用戶。資源層是整個標本館系統(tǒng)的中心,是接受和響應請求的接口,也是用戶提交請求和接收數(shù)據(jù)的接口,體現(xiàn)了RESTful WebServices以資源為中心的特點。

        圖5 移動標本館App服務器端的框架結(jié)構(gòu)

        (3)功能層。功能層響應資源層的方法調(diào)度,并執(zhí)行相應的方法,實現(xiàn)與數(shù)據(jù)層的通信,同時將得到的數(shù)據(jù)返回給資源層。

        (4)數(shù)據(jù)層。數(shù)據(jù)層由數(shù)據(jù)庫和數(shù)據(jù)訪問接口組成,數(shù)據(jù)訪問接口定義了對數(shù)據(jù)庫記錄的操作。

        (二)服務器端的實現(xiàn)

        服務器端的實現(xiàn)首先需要配置web.xml和herbariumuseum-servlet.xml兩個系統(tǒng)文件,在文件中聲明DispatcherServlet(適配器程序)攔截匹配用戶自定義規(guī)則的用戶請求,并設(shè)置HttpMessageConverters(Http消息轉(zhuǎn)換器)使用JSON數(shù)據(jù)作為傳輸媒介,其交互流程如圖6所示。其中應用層主要負責接收客戶端請求并將請求轉(zhuǎn)發(fā)至資源層,后臺數(shù)據(jù)庫采用Oracle數(shù)據(jù)庫存儲數(shù)據(jù)。而資源層、功能層和數(shù)據(jù)層負責后臺數(shù)據(jù)的處理和交互,是服務器端技術(shù)實現(xiàn)的重點,因此下面主要介紹這3層的具體實現(xiàn)問題。

        (1)數(shù)據(jù)層的實現(xiàn)。移動標本館App后臺使用Spring框架中的數(shù)據(jù)庫連接類JdbcTemplate(Java Data Base Connectivity Template,Java數(shù)據(jù)庫連接模板)以簡化傳統(tǒng)JDBC數(shù)據(jù)庫操作的復雜性和繁瑣性。JdbcTemplate類由core、datasource、object和support等4個不同的包組成,使用模板方式封裝了JDBC數(shù)據(jù)庫操作。它需在herbariumuseum-context.xml文件中進行配置,首先配置一個Oracle的數(shù)據(jù)源,然后將這個數(shù)據(jù)源配置到JdbcTemplate里,接著將JdbcTemplate配置進功能層即可。

        (2)功能層的實現(xiàn)。移動標本館App對數(shù)據(jù)庫表中的相應記錄進行了持久化封裝,并將其映射為PO(Plain java Object)類。PO類由和數(shù)據(jù)表字段相對應的屬性以及對應屬性的SET和GET方法組成,并根據(jù)移動應用程序需要實現(xiàn)了List列表類及部分方法。映射模式采用了Java EE中常見的DAO(Data Access Object,數(shù)據(jù)訪問對象)組件模式。

        圖6 移動標本館App服務器端的實現(xiàn)流程

        (3)資源層的實現(xiàn)。利用Spring REST的注釋特性實現(xiàn)URI,使用@Controller注釋類在服務器的4層架構(gòu)中充當控制器并處理HTTP請求;使用@ RequestMapping注釋方法用于指定所注釋的方法將處理哪個HTTP請求,并根據(jù)客戶端的需求實現(xiàn)響應用戶物種類別層次請求的控制器ClassifiController、響應用戶物種或標本詳細信息請求的控制器DetailController、物種或標本圖片信息請求的控制器ImgController、物種或標本關(guān)鍵信息請求的控制器IntroController的響應。

        四、移動標本館App的結(jié)果展示

        本文所研究的基于Android系統(tǒng)的移動標本館App,除具備普遍意義的標本知識檢索功能、普及生物多樣性知識的突出特征外,還為教學提供輔助功能。移動標本館App部分界面截圖如圖7所示。

        圖7 移動標本館App結(jié)果展示的部分界面

        教學實際應用效果表明,該應用程序知識性強,知識體系較為完善,文字內(nèi)容詳實,圖片精美,功能模塊設(shè)計合理,實際應用中的準確性和穩(wěn)定性較好。

        該移動標本館App不僅能夠為學生、教師、科研人員等提供更為方便實用、高效快捷的標本查詢途徑,而且還對傳播生態(tài)文明理念具有很強的實踐意義。

        [1] 陳三茂,田曄林.21世紀植物標本館的發(fā)展方向——數(shù)字植物標本館[J].北京農(nóng)學院學報,2003,18(3):208-210.

        [2] FIELDING R T.Architectural styles and the design of net-work-based software architectures [D].Irvine, California:University of California, Irvine, 2000:44-47.

        [3] 計文柯.Spring技術(shù)內(nèi)幕:深入解析Spring 架構(gòu)與設(shè)計原理[M].北京:機械工業(yè)出版社,2010:121-134.

        [4] 吳艾.XML網(wǎng)頁編程教程[M].北京:希望電子出版社,2001:39-42.

        [5] 張濤,黃強,毛磊雅,等.一個基于JSON 的對象序列化算法[J].計算機工程與應用,2007,43(15):98-100.

        [6] 胡文發(fā),白中英.基于J2EE/J2ME 的JSON 數(shù)據(jù)交換的探討[J].電子設(shè)計工程,2009,17(12):102-103.

        (責任編輯 孫艷玲)

        2013年北京高等學校教育教學改革項目“以程序設(shè)計與軟件開發(fā)能力為主的應用型計算機專業(yè)核心課程體系改革與教學資源建設(shè)”;北京市大學生創(chuàng)新創(chuàng)業(yè)訓練項目“北京林業(yè)大學移動標本館的研究和建設(shè)”,項目編號S201410022071。

        猜你喜歡
        物種數(shù)據(jù)庫資源
        吃光入侵物種真的是解決之道嗎?
        英語世界(2023年10期)2023-11-17 09:18:18
        基礎(chǔ)教育資源展示
        一樣的資源,不一樣的收獲
        回首2018,這些新物種值得關(guān)注
        資源回收
        電咖再造新物種
        汽車觀察(2018年10期)2018-11-06 07:05:26
        資源再生 歡迎訂閱
        資源再生(2017年3期)2017-06-01 12:20:59
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        日本一区二区国产精品| 日本免费一区二区三区在线看| 久久无码中文字幕东京热| 一本色道久久综合亚洲精品不| 亚洲国产精品综合久久网络| 四虎影视在线影院在线观看| 动漫在线无码一区| 久久最黄性生活又爽又黄特级片| 人妖av手机在线观看| 性高湖久久久久久久久| 国产高清无码在线| 国产精品专区一区二区av免费看| 97中文字幕精品一区二区三区 | 成人中文乱幕日产无线码| 蜜桃成人无码区免费视频网站| 丰满人妻无套中出中文字幕| 一区二区三区高清视频在线| 欧美老熟妇乱子| 少妇人妻偷人精品一区二区| 国内精品视频成人一区二区| av在线播放中文专区| 国产免费a∨片在线软件| 国产成人免费a在线视频| 国产区高清在线一区二区三区| 一本色道久久综合亚洲| 又色又爽又黄还免费毛片96下载| 亚洲成年网站在线777| 国产av一区二区内射| 国产av无码专区亚洲av男同| 男人扒开女人下面狂躁小视频| 国产视频在线一区二区三区四区| 国产自拍一区二区三区| 免费国产a国产片高清网站| 婷婷开心深爱五月天播播| 亚洲女同一区二区久久| 国产日产韩国av在线| 中国国语毛片免费观看视频| 久久尤物av天堂日日综合| 午夜蜜桃视频在线观看| 国模雨珍浓密毛大尺度150p| 久久久精品国产亚洲成人满18免费网站|