張 迪, 弓 正
(中國民航大學(xué) a. 工程技術(shù)訓(xùn)練中心; b. 航空自動(dòng)化學(xué)院, 天津 300300)
?
基于Android的飛機(jī)無紙化維修工作單系統(tǒng)軟件設(shè)計(jì)
張 迪a, 弓 正b
(中國民航大學(xué) a. 工程技術(shù)訓(xùn)練中心; b. 航空自動(dòng)化學(xué)院, 天津 300300)
為了解決飛機(jī)紙質(zhì)版維修工作單易損壞、難儲(chǔ)存、浪費(fèi)紙張、查詢繁瑣、圖表不清晰等缺點(diǎn)。在Android開發(fā)環(huán)境下,設(shè)計(jì)具備存儲(chǔ)、索引、內(nèi)容瀏覽、批注簽字與地面維修中心網(wǎng)絡(luò)傳輸功能的飛機(jī)無紙化維修工作單系統(tǒng)軟件。其軟件程序設(shè)計(jì)采用可擴(kuò)展標(biāo)記語言和Java語言編程相結(jié)合方式??蓴U(kuò)展標(biāo)記語言實(shí)現(xiàn)與維修人員交互的各類界面、布局、控件等可視化資源;Java語言實(shí)現(xiàn)飛機(jī)無紙化維修工作單系統(tǒng)各項(xiàng)設(shè)計(jì)功能,通過擴(kuò)展標(biāo)記語言生成的可視化資源實(shí)現(xiàn)調(diào)用和運(yùn)行。采用以基于Linux 內(nèi)核的手持式電子移動(dòng)設(shè)備為載體,實(shí)現(xiàn)飛機(jī)無紙化維修工作單系統(tǒng)軟件的運(yùn)行和維修人員的操作,為飛機(jī)維修工作單無紙化提供一種設(shè)計(jì)方法。模擬運(yùn)行和操作結(jié)果表明,該系統(tǒng)滿足了飛機(jī)維修工作單使用效率等實(shí)際需求。
Android; 飛機(jī)維修工作單; 無紙化; Java
飛機(jī)維修工作單是航空器運(yùn)營人或維修單位編寫、編譯、核對(duì)和審批出版的維修工作文件,是航空器維修工作的基本依據(jù)[1]。維修人員應(yīng)按相應(yīng)類型航空器的維修工作單完成各種維修工作并在工作單上逐項(xiàng)簽署[2]。目前,飛機(jī)維修工作單形式是通過電子版維修工作單轉(zhuǎn)化成紙質(zhì)版維修工作單,維修人員使用紙質(zhì)版維修工作單完成相應(yīng)的維修工作。
飛機(jī)紙質(zhì)版維修工作單存在易損壞、難儲(chǔ)存、浪費(fèi)紙張、查詢繁瑣、圖表不清晰等缺點(diǎn),會(huì)影響航空維修效率和安全性[3]。隨著信息技術(shù)的高速發(fā)展以及航空維修工作量的與日俱增,設(shè)計(jì)一種飛機(jī)維修工作單無紙化形式就顯得尤為重要。
Android是基于Linux開發(fā)的開源操作系統(tǒng)[4-6],專為移動(dòng)終端設(shè)計(jì)的軟件平臺(tái)。Linux是個(gè)人計(jì)算機(jī)和工作站上的類Unix操作系統(tǒng)[7],基于 Linux 內(nèi)核的操作系統(tǒng)可以用于電子移動(dòng)設(shè)備[8-10],且具有高度的開放性、豐富的硬件支持、設(shè)計(jì)寬泛、自由環(huán)境、學(xué)習(xí)資料豐富多樣等優(yōu)點(diǎn)[11-12]。因此,選擇在Android開發(fā)環(huán)境下,設(shè)計(jì)飛機(jī)無紙化維修工作單系統(tǒng)軟件。以手持式Linux 內(nèi)核電子移動(dòng)設(shè)備(如手機(jī)、平板電腦等)為載體實(shí)現(xiàn)該系統(tǒng)軟件的運(yùn)行和維修人員的操作。為了增加和滿足飛機(jī)維修工作單使用效率和實(shí)際需求,飛機(jī)無紙化維修工作單系統(tǒng)設(shè)計(jì)為不僅具備紙質(zhì)版維修工作單的常規(guī)功能,還具備集成性、索引性和網(wǎng)絡(luò)性等功能,即維修工作單存儲(chǔ)、索引、內(nèi)容瀏覽、批注與手寫簽字、與地面維修中心之間的網(wǎng)絡(luò)傳輸功能。
為實(shí)現(xiàn)上述功能的設(shè)計(jì)要求,基于Android開發(fā)環(huán)境的系統(tǒng)設(shè)計(jì)方案由6個(gè)模塊組成,分別為界面功能模塊、閱讀功能模塊、簽名批注功能模塊、保存模塊、上傳模塊和下載模塊。各設(shè)計(jì)模塊之間的關(guān)系如圖1所示,其軟件程序由兩種代碼文件組成,一種是.xml文件,采用可擴(kuò)展標(biāo)記語言編程,生成與維修人員交互的各類界面、布局、控件等可視化資源元素。另一種是.java類文件,采用Java語言編程,實(shí)現(xiàn)飛機(jī)無紙化維修工作單系統(tǒng)的各項(xiàng)設(shè)計(jì)功能,是軟件設(shè)計(jì)的核心內(nèi)容。.java類文件各項(xiàng)功能程序通過.xml文件的控件資源實(shí)現(xiàn)調(diào)用和運(yùn)行。
Android操作系統(tǒng)由5層結(jié)構(gòu)組成,從下到上分別為Linux 內(nèi)核、Android 本地庫、Android 運(yùn)行環(huán)境、應(yīng)用程序框架以及應(yīng)用程序[13-15]。通過以下5項(xiàng)配置設(shè)計(jì),搭建了實(shí)現(xiàn)飛機(jī)無紙化維修工作單系統(tǒng)軟件設(shè)計(jì)的Android開發(fā)環(huán)境:
(1) 配置JDK(Java Development Kit)開發(fā)環(huán)境。JDK是Java語言的軟件開發(fā)工具包,用于編譯Java語言程序。由于基于Android應(yīng)用軟件的核心代碼是Java語言程序,所以配置JDK環(huán)境就顯得十分重要;
(2) 配置Eclipse開發(fā)平臺(tái)。Eclipse是一個(gè)開放源代碼且基于Java語言的可擴(kuò)展開發(fā)平臺(tái),用于應(yīng)用軟件的編程。其是一個(gè)框架和一組服務(wù),需要通過插件組件構(gòu)建此開發(fā)平臺(tái)。
圖1 系統(tǒng)設(shè)計(jì)方案框圖
(3) 配置Android SDK并設(shè)置路徑。在Eclipse中進(jìn)入“Windows-Preferences”,打開Android樹狀列表并添加Android SDK路徑。
(4) 配置插件組件ADT(Android Development Tools)。ADT是Eclipse中開發(fā)Android應(yīng)用軟件的插件組件。
(5) 創(chuàng)建Android模擬器AVD(Android Virtual Device)。AVD是Android虛擬設(shè)備,實(shí)現(xiàn)基于Android應(yīng)用軟件的程序開發(fā)、運(yùn)行和調(diào)試。
3.1 界面功能的軟件設(shè)計(jì)
系統(tǒng)界面包括主界面、閱讀界面、功能選擇界面、上傳界面和下載界面等,還有各個(gè)界面的功能標(biāo)志。下面主要說明主界面功能設(shè)計(jì)。
主界面包括 “維修工作單本地瀏覽”、“維修工作單網(wǎng)絡(luò)上傳/下載”、“幫助”和“關(guān)于”4個(gè)功能標(biāo)志。單擊功能標(biāo)志跳轉(zhuǎn)至不同界面,其中:“維修工作單本地瀏覽”標(biāo)志功能是跳轉(zhuǎn)至電子移動(dòng)設(shè)備本地目錄下的文件及文件夾界面,索引和選擇維修工作單。當(dāng)進(jìn)入閱讀界面后,將顯示維修工作單的每一頁內(nèi)容,在閱讀界面上方的工具欄中有搜索、復(fù)制、手寫、高亮、標(biāo)記等輔助工具標(biāo)志;“維修工作單網(wǎng)絡(luò)上傳/下載” 標(biāo)志功能是跳轉(zhuǎn)至功能選擇界面顯示“上傳文件至服務(wù)器”和“從服務(wù)器下載文件”兩個(gè)子功能標(biāo)志,實(shí)現(xiàn)電子移動(dòng)設(shè)備的維修工作單通過局域網(wǎng)與地面維修中心服務(wù)器之間傳輸功能。
主界面布局文件main.xml的設(shè)計(jì)采用了Linear Layout方法,即線性布局。它將上述4個(gè)功能標(biāo)志布局從上至下顯示在主界面中央。在主界面功能文件main.java中設(shè)計(jì)了實(shí)現(xiàn)每個(gè)標(biāo)志功能的程序,利用setOnClickListener方法為其綁定可監(jiān)聽用戶單擊事件的監(jiān)聽器,從而單擊此標(biāo)志來啟動(dòng)對(duì)應(yīng)活動(dòng)事件。例如:單擊“維修工作單本地瀏覽” 標(biāo)志的綁定單擊事件監(jiān)聽器的部分編程代碼如下:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
View localButton=findViewById(R.id.local_button);
localButton.setOnClickListener(this);
…
public void onClick(View v){
switch (v.getId()){
case R.id.local_button:
Intent ilocalchose=new Intent (this, ChoosePDFActivity.class);
startActivity (ilocalchose);
break;
……}
程序代碼中,View localButton=findViewById(R.id.local_button)是通過id號(hào)(local_button)獲取“維修工作單本地瀏覽”標(biāo)志控件,localButton.setOnClickListener(this)語句是其綁定單擊事件監(jiān)聽器。當(dāng)監(jiān)聽到維修人員單擊該標(biāo)志動(dòng)作時(shí),調(diào)用onClick(View v)方法。該方法中設(shè)置一個(gè)case條件語句,根據(jù)被單擊標(biāo)志控件的id號(hào)來確定單擊的是哪一個(gè)標(biāo)志,再通過Intent和startActivity語句啟動(dòng)對(duì)應(yīng)的活動(dòng)事件。
3.2 閱讀功能的軟件設(shè)計(jì)
目前,飛機(jī)電子版維修工作單都采用.pdf擴(kuò)展名類型的文件。Android操作系統(tǒng)自身沒有解析.pdf文件的類,需要借助第三方libmupdf.so動(dòng)態(tài)庫來讀取.pdf文件,實(shí)現(xiàn)維修工作單的閱讀。該動(dòng)態(tài)庫搭建的MuPDF是一個(gè)微型.pdf文件閱讀器。將limupdf.so動(dòng)態(tài)庫導(dǎo)入Android工程項(xiàng)目中,建立一個(gè)包含.pdf文件閱讀器各個(gè)類的程序包。通過調(diào)用該程序包中的相關(guān)各個(gè)類實(shí)現(xiàn).pdf維修工作單閱讀功能的軟件設(shè)計(jì),其流程圖如圖2(a)所示。
單擊主界面的“維修工作單本地瀏覽”標(biāo)志,將調(diào)用ChoosePDFActivity.java類。在此類文件中,設(shè)計(jì)了一個(gè)ListAdapter控件,以列表形式顯示維修工作單文件及文件夾;設(shè)計(jì)了一個(gè)if條件語句,用于判斷文件擴(kuò)展名是否為.pdf,過濾不符合要求的文件,僅顯示.pdf維修工作單而隱藏其它擴(kuò)展名文件;使用onListItemClick()方法檢測(cè)維修人員的單擊行為,當(dāng)單擊選定的維修工作單時(shí),將獲取文件地址并啟動(dòng)MuPDFActivity.java類,同時(shí)暫停所有活動(dòng)事件。然后,使用MuPDFActivity.java類中的openFile(String path)方法接收文件地址并調(diào)用MuPDFCore.java類來解析.pdf維修工作單。MuPDFCore.java類包含了大量解析.pdf文件的相關(guān)語句,例如:countPages()、gotoPage()、getPageSize()等。在解析處理和實(shí)例化以后,傳送至ReaderView.java類獲取.pdf維修工作單的頁面信息,再傳送至PageView.java類將每一頁.pdf維修工作單轉(zhuǎn)化成一個(gè)bitmap對(duì)象,顯示在閱讀界面上。
(a)閱讀功能(b)簽名批注功能
圖2 閱讀、簽名、批注軟件設(shè)計(jì)流程圖
MuPDFActivity.java類是解析.pdf維修工作單的主程序,所有操作都需要通過其中的語句調(diào)用其它類文件。MuPDFCore.java類用于實(shí)現(xiàn).pdf維修工作單解析,獲取其高度、寬度格式和頁數(shù)等文件格式。ReaderView.java類用于獲取文件頁面信息以及實(shí)現(xiàn)輔助操作,輔助操作包括頁面的放大、縮小和翻頁等。通過調(diào)用OnGestureListener接口創(chuàng)建一個(gè)GestureDetector監(jiān)聽器來實(shí)現(xiàn)輔助操作,該監(jiān)聽器檢測(cè)維護(hù)人員在電子移動(dòng)設(shè)備閱讀界面上的動(dòng)作,并執(zhí)行相應(yīng)的輔助操作。最后,當(dāng)單擊“退出”標(biāo)志時(shí),將返回到維修工作單文件列表,以選擇和查看其它維修工作單。
3.3 簽名批注和保存功能的軟件設(shè)計(jì)
libmupdf.so動(dòng)態(tài)庫搭建的MuPDF中集成了簽名與批注功能的類文件,通過調(diào)用導(dǎo)入Android工程項(xiàng)目中.pdf文件閱讀器各個(gè)類的程序包,實(shí)現(xiàn)簽名批注功能的軟件設(shè)計(jì),其流程圖如圖2(b)所示。
在.pdf維修工作單閱讀界面上方,設(shè)計(jì)了一個(gè)工具欄。單擊工具欄中“簽名批注”標(biāo)志可調(diào)出子工具欄,子工具欄包括高亮、下劃線、刪除線、復(fù)制和手寫功能標(biāo)志。工具欄的設(shè)計(jì)采用了TopBarMode方法,每個(gè)功能標(biāo)志對(duì)應(yīng)單獨(dú)的子方法。單擊功能標(biāo)志后,通過一個(gè)if條件語句判斷操作類型,調(diào)用相應(yīng)的子方法。
其中,復(fù)制、高亮、下劃線和刪除線功能設(shè)計(jì)都先調(diào)用MuPDFReaderView.Mode.Selecting方法選擇.pdf維修工作單的文字,再執(zhí)行PageView.java類中的copySelection()方法復(fù)制文字內(nèi)容,或者調(diào)用PageView.java類中markupSelection(Annotation.Type.*)方法添加高亮顏色或下滑線刪除線。而手寫功能設(shè)計(jì)先借助GestureDetector監(jiān)聽器來檢測(cè)維修人員在電子移動(dòng)設(shè)備閱讀界面上的動(dòng)作,再調(diào)用MuPDFReaderView.Mode.Drawing方法記錄筆跡,最后調(diào)用PageView.java類中的saveDraw()方法暫時(shí)保存筆跡。其中,簽名批注功能的部分編程代碼如下:
public void OnAcceptButtonClick(View v)
{
MuPDFView pageView=(MuPDFView) mDocView.getDisplayedView();
boolean success=false;
switch (mAcceptMode) {
……
case Highlight:
if (pageView!=null)
success=pageView.markupSelection(Annotation.Type.Highlight);
mTopBarMode=TopBarMode.More;
if (!success)
showInfo(getString(R.string.no_text_selected));
break;
……}
程序代碼中,設(shè)計(jì)了一個(gè)case條件語句根據(jù)子條件來判斷調(diào)用的方法或顯示的信息,執(zhí)行相應(yīng)的功能。當(dāng)單擊某一功能標(biāo)志時(shí),mAcceptMode會(huì)被賦予對(duì)應(yīng)子條件。示例代碼中給出的是“高亮(Highlight)”功能,則mAcceptMode = AcceptMode.Highlight。當(dāng)單擊“確認(rèn)”標(biāo)志時(shí),case條件語句執(zhí)行高亮功能語句。
在維修工作單閱讀和添加簽名批注完畢后,單擊“返回”標(biāo)志退出維修工作單時(shí),設(shè)計(jì)調(diào)出一個(gè)提示窗口詢問是否保存修改。若單擊“否”標(biāo)志,則不保存修改返回維修工作單目錄頁面。若單擊“是”標(biāo)志,則由主程序MuPDFActivity.java調(diào)用MuPDFCore.java類中的save()方法將批注簽名內(nèi)容保存至該維修工作單中。
3.4 上傳功能的軟件設(shè)計(jì)
基于Android的電子移動(dòng)設(shè)備網(wǎng)絡(luò)上傳存在多種方式:Socket上傳、模擬Web通過Http協(xié)議上傳和FTP上傳。其中,F(xiàn)TP的一項(xiàng)突出的優(yōu)點(diǎn),是可在不同類型的計(jì)算機(jī)之間傳送文件[16]。因此,采用FTP上傳方式實(shí)現(xiàn)與地面維修中心的飛機(jī)維修工作單網(wǎng)絡(luò)上傳功能。
Android操作系統(tǒng)自身沒有實(shí)現(xiàn)FTP上傳功能的類,需要借助第三方commons-net開發(fā)包。通過調(diào)用import語句導(dǎo)入該開發(fā)包的子程序包,實(shí)現(xiàn)FTP上傳功能。
上傳功能程序的設(shè)計(jì)流程為輸入服務(wù)器地址、登錄名稱和密碼,選擇上傳維修工作單,嘗試連接服務(wù)器、執(zhí)行維修工作單上傳,其流程圖如圖3(a)所示。單擊功能選擇界面的“上傳文件至服務(wù)器”標(biāo)志,會(huì)調(diào)出FTP登陸信息窗口,要求維修人員完整輸入服務(wù)器地址、用戶名和密碼,該信息窗口采用彈出式Dialog方式實(shí)現(xiàn)。在文本框中輸入各項(xiàng)信息后,單擊“鏈接FTP”標(biāo)志,系統(tǒng)將自動(dòng)檢查輸入信息是否完整。若輸入不完整,則調(diào)出 “請(qǐng)將數(shù)據(jù)輸入完整” 提示信息并返回功能選擇頁面;若輸入完整,則將信息保存于后臺(tái)并調(diào)出上傳界面。
單擊上傳界面的“瀏覽目錄”標(biāo)志,進(jìn)入到維修工作單目錄頁面,瀏覽并選擇維修工作單,此程序設(shè)計(jì)與上述閱讀功能的軟件設(shè)計(jì)方法相同。返回到主界面后,單擊“上傳”標(biāo)志,將保存的登陸信息通過調(diào)用ftp.connect()、ftp.disconnect()、ftp.login()等方法嘗試連接服務(wù)器。若連接成功,則調(diào)用ftp.login()、ftp.setFileType()、FileInputStream()、ftp.storeFile()等語句實(shí)現(xiàn)將維修工作單上傳至地面維修中心服務(wù)器,并調(diào)出 “文件上傳成功!” 提示信息。若連接失敗或連接超時(shí),則調(diào)出 “FTP服務(wù)器連接失??!” 提示信息,并返回到上傳界面。其中,上傳功能的部分編程代碼如下:
(a)上傳功能(b)下載功能
圖3 網(wǎng)絡(luò)傳輸功能程序流程圖
private void uploadFile()
{
FTPClient ftp=new FTPClient(); String server=mFTPHost;
String username=mFTPUser; String password=mFTPPassword;
……
try{
ftp.setDefaultTimeout(30000); ftp.connect(server);
int reply=ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply))
{
ftp.disconnect();
Toast.makeText(getApplicationContext(), "FTP服務(wù)器連接失敗!", Toast.LENGTH_SHORT).show();
Upload.this.finish();
}
else
{
if (ftp.login(username, password))
{
ftp.enterLocalPassiveMode();
ftp.setFileType(FTP.BINARY_FILE_TYPE);
FileInputStream fis=new FileInputStream (new File(file));
ftp.storeFile(filename, fis);
}
ftp.logout();
Toast.makeText(getApplicationContext(), "文件上傳成功!"Toast.LENGTH_SHORT).show();}}
程序代碼中,String賦值語句即將保存的登錄信息賦給上傳方法語句。隨后,先嘗試連接服務(wù)器,用一個(gè)if條件語句判斷服務(wù)器的返回值。若返回值不為真,則表示連接不成功。使用Toast方法調(diào)出提示信息“FTP服務(wù)器連接失敗!”,同時(shí)停止上傳功能。若返回值為真,則維護(hù)人員用戶名和密碼登陸服務(wù)器。在文件類型設(shè)置后,啟動(dòng)FileInputStream()語句寫入.pdf維修工作單,并調(diào)用ftp.storeFile(filename, fis)語句將.pdf維修工作單上傳至地面維修中心服務(wù)器。
3.5 下載功能的軟件設(shè)計(jì)
與上傳功能設(shè)計(jì)一致,采用FTP下載方式實(shí)現(xiàn)與同一個(gè)地面維修中心服務(wù)器的飛機(jī)維修工作單網(wǎng)絡(luò)下載功能。需要借助第三方ftp4j開發(fā)包,通過調(diào)用import語句導(dǎo)入該開發(fā)包的子程序包,實(shí)現(xiàn)FTP下載功能。.pdf維修工作單上傳時(shí)可以先暫時(shí)不登陸服務(wù)器,而下載時(shí)必須先登錄服務(wù)器才能獲取.pdf維修工作單。
下載功能程序的設(shè)計(jì)流程為輸入服務(wù)器地址、登錄名及密碼,登錄服務(wù)器,登陸成功后加載服務(wù)器上維修工作單列表,選擇維修工作單并下載,其流程圖如圖3(b)所示。單擊功能選擇界面“從服務(wù)器下載文件”標(biāo)志,同樣會(huì)調(diào)出FTP登錄信息窗口。維修人員輸入各項(xiàng)信息后,單擊“鏈接FTP”標(biāo)志,系統(tǒng)將嘗試連接服務(wù)器。若網(wǎng)絡(luò)問題或是登錄信息輸入不正確,系統(tǒng)將不斷嘗試連接服務(wù)器,此時(shí)也可以手動(dòng)選擇退出并重新輸入登錄信息。若與服務(wù)器連接成功,將以列表形式列出服務(wù)器上儲(chǔ)存的維修工作單文件夾及文件名。長按維修工作單文件名可調(diào)出輔助操作工具欄,包括下載、刪除、重命名等。
維修工作單的下載路徑需要在程序語句中預(yù)先設(shè)置,維修工作單下載時(shí)將會(huì)自動(dòng)保存至該路徑下,而維修工作單的刪除和重命名通過網(wǎng)絡(luò)實(shí)現(xiàn)與地面維修中心服務(wù)器的同步修改。
下載功能設(shè)計(jì)通過調(diào)用FTPClient.download()方法及其中的mFileList.get(mSelectedPosistion).getName()和DownloadFTPDataTransferListener(mFileList.get(mSelectedPosistion).getSize())子方法實(shí)現(xiàn)。根據(jù)下載方法FTPClient.download()返回值的真假來決定是調(diào)出“下載成功”還是“下載失敗”提示信息。刪除功能設(shè)計(jì)通過mThreadPool.execute(mCmdFactory.createCmdDEL(path, isDirectory))方法并調(diào)用FTPClient.deleteDirectory()或FTPClient.deleteFile()實(shí)現(xiàn);重命名功能設(shè)計(jì)通過mThreadPool.execute(mCmdFactory.createCmdRENAME(newPath))方法并調(diào)用FTPClient.rename()實(shí)現(xiàn),以上兩項(xiàng)功能均由ExecutorService類定義。
將飛機(jī)無紙化維修工作單系統(tǒng)軟件生成可執(zhí)行文件并安裝在基于 Linux 內(nèi)核的手持式電子移動(dòng)設(shè)備上。在一個(gè)計(jì)算機(jī)使用Serv-U軟件建立FTP服務(wù)器,作為模擬地面維修中心服務(wù)器,使用本機(jī)IP地址作為服務(wù)器地址并創(chuàng)建訪問賬戶。測(cè)試并驗(yàn)證了界面功能模塊、閱讀功能模塊、簽名批注功能模塊、保存模塊、上傳模塊和下載模塊設(shè)計(jì)功能。其中,主界面和上傳界面運(yùn)行結(jié)果如圖4所示。
(a)主界面(b)上傳界面
圖4 系統(tǒng)運(yùn)行結(jié)果
為了解決飛機(jī)紙質(zhì)版維修工作單存在易損壞、難儲(chǔ)存、浪費(fèi)紙張、查詢繁瑣、圖表不清晰等缺點(diǎn)。在Android開發(fā)環(huán)境,采用可擴(kuò)展標(biāo)記語言編程,生成與維修人員交互的各類界面、布局、控件等可視化資源元素。采用Java語言編程,實(shí)現(xiàn)飛機(jī)無紙化維修工作單系統(tǒng)的存儲(chǔ)、索引、內(nèi)容瀏覽、批注簽字、與地面維修中心網(wǎng)絡(luò)傳輸功能。.java類文件各項(xiàng)功能程序通過.xml文件的控件資源實(shí)現(xiàn)調(diào)用和運(yùn)行,為飛機(jī)維修工作單無紙化提供一種設(shè)計(jì)方法。
[1] 中國民航局.MH/T 3010.4-2006 民用航空器維修管理規(guī)范第4部分:民用航空器維修工作單(卡)的編制[S].北京:中國標(biāo)準(zhǔn)出版社,2007:16-17.
[2] 中國民航局.MH/T 3010.14-2006 民用航空器維修管理規(guī)范第14部分:民用航空器航線維修規(guī)則[S].北京:中國標(biāo)準(zhǔn)出版社,2007:72-74.
[3] 張 飛,張 迪,李慶泉.無紙化維修工卡可行性的分析與研究[J].黑龍江科技信息,2012(35):85,142.
[4] 陳曉男,張海越.Android系統(tǒng)的分析與研究[J].數(shù)字技術(shù)與應(yīng)用,2013(10):112,115.
[5] 楊 略.基于Android平臺(tái)的個(gè)人移動(dòng)數(shù)字圖書館系統(tǒng)研究[J].情報(bào)探索,2012(6):98-100.
[6] 朱 明. Android環(huán)境下隱私保護(hù)的設(shè)計(jì)與實(shí)現(xiàn)[D].南京:南京理工大學(xué),2014.
[7] 龐天聰.基于Linux的網(wǎng)絡(luò)通信游戲的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2014.
[8] 谷 瓊,李 杰,龔雄興.基于Android智能手機(jī)的隱私管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2014,31(1):260-263.
[9] 王 辰,周 杰,季 櫸.基于Android平臺(tái)的實(shí)時(shí)視頻技術(shù)的實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2014,31(6):120-122,141.
[10] 胡忠望.移動(dòng)操作系統(tǒng)體系結(jié)構(gòu)的研究分析[J].計(jì)算機(jī)科學(xué),2013,40(11):53-56,93.
[11] 齊應(yīng)杰,王曉光.基于Android系統(tǒng)的移動(dòng)辦公系統(tǒng)的開發(fā)[J].電子商務(wù),2013(8):51-52.
[12] 李永杰.基于Android移動(dòng)學(xué)習(xí)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2013.
[13] 黃曉波.Android 系統(tǒng)后臺(tái)監(jiān)聽與反監(jiān)聽技術(shù)研究[D].成都:四川師范大學(xué),2013.
[14] 童承鳳,胡 慶.基于Android平臺(tái)的雙網(wǎng)雙待的研究與設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用與軟件,2012,29(2):250-253.
[15] 吳善崇,張 權(quán). Android平臺(tái)安全機(jī)制淺析[J].實(shí)驗(yàn)科學(xué)與技術(shù),2014,12(2):43-45.
[16] 戴 浩.基于FTP的文件定時(shí)傳輸軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2012,30(1):332-333.
Software Design of Aircraft Paperless Repair Order System Based on Android
ZHANGDia,GONGZhengb
(a. Engineering Training Center; b. College of Aviation Automation Engineering,Civil Aviation University of China, Tianjin 300300, China)
In order to overcome some shortcomings of the aircraft paper repair order which is easy to damage, difficult to single storage, waste paper, trivial queries, unclear chart and so on, under the development environment of Android, the paper designs a set of aircraft paperless repair order system, which has the function of storage, indexing, browsing, signature, content annotation and network transmission with ground repair center. The software program design combines extensible markup programming language with Java programming language. The extensible markup language is used to realize all kinds of interface layout, control and repair personnel interaction and visualization resources with the repair personnel interaction. The Java language is used to realize the system design function, implementation and operation through visualization resources generated by extensible markup language. The handheld electronic mobile device based on Linux kernel is used as the carrier, it realizes system operation and operation of repairing persons, provides a design method for paperless model of aircraft repair order. The results of simulation running and operation show that the system increases and satisfies aircraft repair work efficiency and actual demand.
Android; aircraft repair order; paperless; Java
2014-08-01
張 迪(1979-),男,黑龍江齊齊哈爾人,碩士,講師,主研方向?yàn)樘摂M儀器技術(shù)、檢測(cè)技術(shù)及自動(dòng)化裝置、民用航空器維修技術(shù)。Tel.:13512042387;E-mail:jerrard@sohu.com
TP 319
A
1006-7167(2015)03-0090-06