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

基于java的荒漠治理數據管理軟件的設計與開發

2020-12-23 05:47:19王春輝孫陽黃耀燁楊靈軍邱悅章張文健徐夢竹
軟件 2020年10期
關鍵詞:數據處理

王春輝 孫陽 黃耀燁 楊靈軍 邱悅章 張文健 徐夢竹

摘? 要: 為了讓研究團隊在內部更加方便地進行實驗數據的輸入、共享、導出等處理,在Windows 10操作系統下利用Java語言設計開發出一款數據管理類桌面應用程序軟件。該軟件分為登陸系統和功能系統兩部分,滿足了用戶團隊的基本需求,為他們對西北干旱荒漠化地區的區域環境研究提供了一定的技術支持。

關鍵詞: 數據處理;桌面應用程序;Java

中圖分類號: TP317? ? 文獻標識碼: A? ? DOI:10.3969/j.issn.1003-6970.2020.10.022

本文著錄格式:王春輝,孫陽,黃耀燁,等. 基于java的荒漠治理數據管理軟件的設計與開發[J]. 軟件,2020,41(10):9294+125

【Abstract】: In order to facilitate the research team to input, share, export and other processing of experimental data, a data management desktop application software is designed and developed by using java language under Windows 10 operating system. The software is divided into two parts: landing system and functional system, which meet the basic needs of the user team and provide some technical support for them to study the regional environment in the arid and desertification area of Northwest China.

【Key words】: Data processing; Desktop applications; Java

0? 引言

西北干旱荒漠區位于國家生態安全格局“兩屏三帶”的北方防沙帶,是國家“一帶一路”的重點建設區域,由于該區干旱風大、植被退化、土地沙化嚴重,所以生態系統極其脆弱。為研究西北干旱荒漠區煤炭開發對區域生態影響規律,構建礦區受損生態系統恢復與重建技術體系,研究團隊一直在當地收集數據并進行分析。本軟件供科研團隊內部使用,研究人員將使用科研儀器測得的數據進行輸入、更新、管理、共享,實現對研究區域環境的檢測,從而為改善當地環境,提高生態建設做出貢獻。

1? 開發技術概述

1.1? 編程語言與開發環境

Java語言是一門基礎的編程語言,具有面向對象、平臺獨立等多個優勢,在軟件開發中得到了廣泛的應用。Java提供了豐富的工具包,方便了開發者的使用,增強了功能的設計。本軟件采用Windows 10操作系統下的Eclipse作為開發平臺,開發環境為JDK1.8。

1.2? 開發的關鍵技術

(1)JavaFx

JavaFX是一個功能強大的圖形和多媒體處理工具包,便于開發者來設計、創建、測試、調試和部署桌面應用程序。JavaFX的UI設計功能強大,可以通過純Java代碼進行UI界面的設計,也可以通過FXML語言進行設計,設計完成后編譯為后綴為“fxml”文件供后端調用。FXML是基于XML的一種聲明性標記語言,用來定義應用的用戶口,后端通過聲明相應控件的用戶口與FXML文件中的控件進行配對,完成調用,大大增加了UI界面設計的方便性,簡潔性和可視性[1]。

(2)Java Swing

Swing是一個Java設計的GUI工具包,是Java基礎類的一部分,提供了許多優質的屏幕顯示器件,如表、分割窗格等[2]。Swing使用純Java代碼寫成,其組件采用MVC的設計,實現了GUI組件的顯示邏輯和數據邏輯的分離,提供了更多的靈活性。

(3)Java POI

POI是“Poor Obfuscation Implementation”的首字母縮寫,意為“簡潔版的模糊實現”。它是用Java語言編寫的免費開源的跨平臺的 Java API,提供API給Java程式對Microsoft Office格式檔案讀和寫的功能,允許開發成員使用Java程序創建、修改、顯示和設計Microsoft Office文件[3]。

(4)MySQL數據庫

MySQL是一個可用于各種流行操作系統平臺的關系數據庫系統,它具有客戶機/服務器體系結構的分布式數據庫管理系統,使用結構化查詢語言(SQL)進行數據庫管理[4]。本軟件的開發初期,使用本地MySQL進行軟件數據管理的調試,軟件開發成功后,進行云端數據庫的連接,使數據文件實現聯網共享。

2? 軟件設計實現

本軟件是一款面向科研團隊內部使用的數據管理軟件,分為登陸系統和功能系統兩部分,軟件流程圖如圖1所示。登陸系統中,用戶注冊成功后,即可登陸功能界面,若用戶忘記密碼,則可以通過注冊郵箱和注冊用戶名找回密碼。用戶分為兩類,一類為學生,主要負責數據的輸入與更新;另一類為老師,老師通過負責課題的不同進行分類,主要負責數據文件的管理。功能系統中,用戶登陸成功進入功能頁面后,學生可以根據不同的課題進行相應的數據的輸入和導出本地文件,并且可以查看自己輸入保存的數據文件和對自己已經輸入的數據文件進行更新。老師可以查看自己負責課題下的所有數據文件,并可以進行數據的更新,數據文件的刪除和本地導出。

2.1? 登陸系統

登陸系統分為三個部分,分別是用戶注冊、用戶登陸、密碼找回。三個子功能界面可以相互進行跳轉。

(1)用戶注冊

用戶注冊需要填寫以下信息:用戶名、密碼、確認密碼、郵箱和身份。若注冊用戶的身份為老師,則需要對自己負責的課題進行選擇,若為學生,則不需要。若注冊信息出現不符合要求的填寫,如:用戶名重復、兩次輸入密碼不一致等,會進行相應的提示。

(2)用戶登陸

用戶登陸需要填寫以下信息:用戶名和密碼。通過對已經注冊的信息進行檢索,當用戶名和密碼一致時,用戶登陸成功,同時把登陸成功的用戶名傳遞到功能系統的主界面進行調用。當用戶名和密碼出現錯誤時,進行相應的提示。界面之間的傳值使用了HashMap,首先在類中定義一個HashMap表用于存儲用戶名。當登陸信息無誤時,將相應的用戶名寫入表中,并在功能系統讀出保存的用戶名,即實現了界面之間值的傳遞。

(3)密碼找回

當用戶忘記密碼時,可以通過用戶名和郵箱找回密碼,并進行相應的提示。若用戶名和郵箱也忘記時,可以通過管理員登陸數據庫后臺進行查看。

2.2? 功能系統

功能系統中,根據用戶身份的不同,用戶在數據查看和功能使用上會有不同的權限。

(1)功能系統主界面

主界面起導航作用,其界面如圖2所示。在界面的上半部分,輸入你要創建的數據文件的文件名,輸入數據文件擬定的行數和列數(行數和列數在數據文件輸入界面可進行修改),選定數據文件屬于的課題,點擊“創建表單”即可完成創建并跳轉到數據輸入界面。在界面的下半部分,在文本框輸入數據文件名稱即可查看相應的數據。首先點擊“查看數據文件”,界面右方的“Filenameob”表中會出現你有權查看的數據文件,然后將數據文件名填寫到文本框中,點擊“顯示數據文件”,即可看到相應的數據。

(2)數據文件創建

創建文件成功后,點擊“數據上傳”將輸入的數據上傳到數據庫,點擊“數據導出”后可以將數據以“xls”為后綴的文件保存到本地。點擊“增加一行”與“增加一列”,表格分別增加一行與一列。點擊“刪除該行”,表格將刪除選定的行。點擊“刪除該列”,表格將刪除最后一列。

(3)數據文件更新

查看數據文件時,可實現“數據文件創建”中所有的操作,從而實現對數據的更新。如果你是學生用戶,在對數據進行添加、刪除、修改等處理后,點擊“數據更新”即實現對數據文件的更新。如果你是老師用戶,在學生用戶可進行操作的基礎上上,點擊“刪除該文件”還可以實現對該數據文件的刪除。數據文件查看界面如圖3。

3? 開發難點總結

在項目策劃過程中,擬采用JavaFX進行所有界面的編寫和后端的開發。項目開發過程中,發現JavaFX對于表格的創建不如Java Swing更適合本軟件的開發,其不同在于有關數據表單的處理。JavaFX在數據顯示方面更具方便性,但不便于創建空表單和數據輸入。Java Swing可以使用Table控件的相關類動態地創建空表單和顯示數據,并可以在空表格中自由地輸入數據,更加適合本軟件功能界面的開發。

3.1? 數據本地導出

開發過程中,數據本地導出使用了兩種方法。第一種是使用字符緩沖輸出流BufferedWrite進行寫操作,首先創建一個字符緩沖輸出流對象,然后通過“write”方法將表格中的數據寫到Excel表中,代碼調試中,發現寫出的文件為空文件,故放棄該種方法。第二種是使用POI,POI實現了其對象與Excel中元素的一一對應,“HSSFWorkbook”對應于Ecxel文件,“HSSFSheet”對應于Ecxel文件中的一張表,“HSSFRow”對應于表中的列,“HSSFCell”對應于表中的單元格。依次創建好相應的對象后,將表格中的數據通過“setCellValue”寫入即可。除此以外,POI還提供了設置表格樣式的方法,功能更加豐富[5]。 數據文件導出如圖4所示。

3.2? 動態表格的創建

JavaFX創建一個表格的方式有兩種,一是通過FXML語言,創建 “TableView”控件,在對應的Controller類實現控件接口對接并且寫入數據;二是通過純Java代碼,先編寫一個表格控件,再填充數據。其缺點主要有三個方面:(1)若表格中不含有數據,則不會顯示任何單元格。(2)只能通過定義表頭來確定相應的列數,表格的行數會隨著封裝“TableView”的窗口的大小變化而變化。(3)無法隨機地在任意單元格進行數據輸入。而Java Swing中在創建表格方面,實現了上述需求。首先創建一個Jtable對象,然后給創建的Jtable對象綁定一個DefaultTableModel類。DefaultTableModel中提供了豐富的表格處理方法,可設置表格的行數和列數,簡單方便地實現了動態表格的創建,實現了基本需求。如果要進行數據顯示,則需要在行數和列數的基礎上,創建兩個相應大小的數據數組匹配表格的表頭和數據。在數組中添加相應的數據,將數組綁定在創建DefaultTableModel對象中,即可實現數據可視化。

3.3? 動態量數據的上傳

本軟件使用的是MySql數據庫,在數據上傳及數據更新時遇到兩個主要問題。一是數據表的創建,因為列數是可以改變的,所以在數據庫中創建數據表時無法通過一條通用語句實現。解決方式是先使用CREATE TABLE語句創建一個只有一列的數據表,然后根據表格的列數循環使用ALTER語句進行數據表的更新,每一次更新即添加一列,直到創建好相應的數據表。二是數據的上傳,向MySql插入數據通常采用INSERT語句,但INSERT語句只能一行一行地插入數據且每一行的數據是固定的。當表格的列數改變時,INSERT語句中的數據個數不能匹配,會出現新增數據列的數據在數據庫為空的情況。解決辦法是使用ResultSet結果集,ResultSet向數據庫插入數據時也是一行一行進行插入,與INSERT方法不同的是,ResuleSet可使用updateString方法對每一行中數據一個一個地進行寫入而非一次性寫入,實現了每一行數據量動態地改變[6]。在一行的數據寫入完成后即插入本行數據到數據表,再進行下一行數據的更新,直到寫入所有數據。

4? 結束語

本軟件較好地實現了數據輸入、數據共享和數據導出等功能,滿足了用戶的基本需求。但還需要進一步的改進和完善:一是數據輸入方面,在手動輸入的基礎上實現數據文件的導入;二是該軟件僅支持在Windows 64位系統上運行,較為單一。下面將進行相應的完善,使軟件的受眾和應用更廣[7]。

參考文獻

[1]郭強. JavaFX中列表視圖的應用與研究[J]. 數字技術與應用, 2018, 36(1): 106+108.

[2]葛萌, 歐陽宏基. JTable組件在Swing開發中的應用研究[J]. 信息技術, 2015(11): 80-82+86.

[3]劉新磊, 王琪琛, 邱天昱. 基于Java+POI的教師監考任務信息檢索系統設計[J]. 電腦編程技巧與維護, 2018(12): 102-104.

[4]肖奇軍, 鄭達成, 方楷生, 等. 基于Java的家電維修應用軟件設計和實現[J]. 機電工程技術, 2019, 48(11): 138-140.

[5]朱文君, 黃國權. 基于Java反射機制的POI實現Excel數據導入/導出[J]. 計算機時代, 2015(1): 38-39+47.

[6]王海文. 基于Java數組的JDBC ResultSet結果集處理的研究[J]. 硅谷, 2011(24): 103-104.

[7]張婉貞, 吳萃, 肖佳宇. 基于Java 程序的現代城市地鐵查詢系統設計[J]. 軟件, 2016, 37(3): 47-50.

猜你喜歡
數據處理
驗證動量守恒定律實驗數據處理初探
認知診斷缺失數據處理方法的比較:零替換、多重插補與極大似然估計法*
心理學報(2022年4期)2022-04-12 07:38:02
ILWT-EEMD數據處理的ELM滾動軸承故障診斷
水泵技術(2021年3期)2021-08-14 02:09:20
ADS-B數據處理中心的設計與實現
電子測試(2018年4期)2018-05-09 07:28:12
MATLAB在化學工程與工藝實驗數據處理中的應用
基于希爾伯特- 黃變換的去噪法在外測數據處理中的應用
大數據處理中基于熱感知的能源冷卻技術
計算機工程(2015年4期)2015-07-05 08:28:04
Matlab在密立根油滴實驗數據處理中的應用
數據處理能力在求職中起關鍵作用
我國首個“突發事件基礎數據處理標準”發布
主站蜘蛛池模板: 欧美中日韩在线| 一级黄色欧美| 国产精品无码AV片在线观看播放| 久久国产拍爱| 四虎国产成人免费观看| 无码av免费不卡在线观看| 99er精品视频| 久久精品国产亚洲麻豆| 国产成人h在线观看网站站| 无码精品一区二区久久久| 99久久性生片| 婷婷六月在线| 午夜免费小视频| 国产99精品久久| 亚洲AV成人一区二区三区AV| 国产毛片不卡| 免费va国产在线观看| 久久伊人操| 欧美yw精品日本国产精品| 日韩人妻精品一区| 久久精品国产在热久久2019| 国产精品3p视频| 中国丰满人妻无码束缚啪啪| 亚洲综合专区| 欧美亚洲综合免费精品高清在线观看| 无码人中文字幕| 狠狠色噜噜狠狠狠狠奇米777| 性欧美久久| 久久国产精品77777| 欧美影院久久| 久久一日本道色综合久久| 欧美日韩国产在线播放| 亚洲国产精品无码AV| 亚洲欧美自拍中文| 在线欧美日韩国产| 网友自拍视频精品区| 中文字幕在线观看日本| 欧美精品aⅴ在线视频| 成年人国产网站| 四虎精品黑人视频| 欧美日韩午夜| 一区二区三区国产精品视频| 欧美激情二区三区| 亚洲区一区| 欧洲av毛片| 成人午夜网址| 中文成人在线| 91小视频在线| www.99在线观看| 国产农村1级毛片| 99国产精品国产高清一区二区| 亚洲不卡影院| 国产资源免费观看| 国禁国产you女视频网站| 欧美三级自拍| 九九视频在线免费观看| 国产99视频精品免费观看9e| 亚洲中文字幕手机在线第一页| 内射人妻无码色AV天堂| 91免费观看视频| 国产 在线视频无码| 91久久偷偷做嫩草影院电| 欧美国产日产一区二区| 日本道综合一本久久久88| 亚洲日韩高清在线亚洲专区| 激情综合激情| 热99精品视频| 免费A∨中文乱码专区| 国产麻豆福利av在线播放| 波多野结衣久久精品| 亚洲av日韩av制服丝袜| 丰满人妻中出白浆| 久综合日韩| 女人18毛片一级毛片在线| 白浆视频在线观看| 国产精品观看视频免费完整版| 亚洲国产天堂久久综合| 亚洲精品自拍区在线观看| 亚洲欧洲日韩国产综合在线二区| 亚洲黄色视频在线观看一区| 人妻21p大胆| 亚洲黄网在线|