張靈芝
(無錫機電高等職業技術學院,江蘇 無錫 214028)
近幾年來,現代化信息技術在軟件開發領域的應用,使越來越多的軟件被應用于各個領域當中,極大地推動了各個領域的發展。與此同時,移動端設備的大量增長與應用,使人們迫切需要通過移動端軟件來對移動端設備進行更高效的利用,而這也使軟件開發商紛紛將目光投入到移動端軟件研發當中,眾多適用于移動端設備的軟件被研發與應用,使人們的生產、生活、學習需求得到了極大的滿足,并進一步促進了社會經濟的發展。如今,移動端設備的使用已經成為人們不可或缺的一部分,這也使人們對移動端軟件的開發提出了更高的要求。在移動端軟件開發中,Java是一種非常重要的軟件開發工具,它不僅能夠用于計算機軟件的開發,在安卓系統的移動端軟件開發中也有著非常巨大的作用。其具備面向對象、簡單易學、功能強大的特點,通過Java語言的應用能夠開發出一款款功能強大、安全高效的移動端軟件??梢哉f,Java語言是提高移動端軟件開發質量,實現移動端設備迅猛發展的技術保障之一。
目前,手機、IPAD、手提電腦等移動端設備已經被人們所廣泛使用,其之所以受到人們的青睞與移動端軟件有著密不可分的關系,Java開發語言工具的應用是移動端軟件發展的重要方向之一。在安卓系統開發中,Java的應用優勢主要體現在三個方面:第一,Java的應用優勢最主要體現在其面向對象的特點,使其具有基于面向對象的封裝性、繼承性、多態性,從而提供較強的交互功能。Java語言以對象為中心,以消息為驅動,區別于傳統的以過程為中心、以算法為驅動的過程式編程語言。第二,比C++語言,Java更加安全可靠。如顯式的方法聲明可以確保編譯器發現方法調用錯誤;不支持指針,可以防止內存的非法訪問;自動單元收集可以避免內存丟失等問題;解釋器運行實時檢查可以發現數組和字符串訪問是否越界等[1]。第三,Java的可移植性強。其程序運行與操作平臺無關,不同的系統只要安裝不用的JRE(Java運行環境)就可以跨系統運行。
基于Java語言的安卓系統基本架構包括應用程序、應用程序框架、程序庫、運行庫和數據庫[1]。移動端軟件的應用程序開發并不是一個獨立的任務,它是和同一系列的核心應用程序共同發布,它包括一些客戶端,短消息程序,日歷、地圖、瀏覽器等管理程序。應用程序框架與核心應用程序之間具有緊密聯系,它是開發人員訪問核心應用程序所使用的主要框架。通過Java語言的框架設計,具有重用機制,簡化了一些組件的重用頻率,便于用戶對組件的替換,極大地提高了應用交互的可能性。
在移動端軟件中,編程是移動端軟件研發的核心。編程任務量的多少直接決定著移動端軟件的研發進度,更關系到移動端軟件經濟效益的最大化實現。通過Java語言的應用能夠使設計人員隨時隨地對軟件應用框架進行訪問,并且通過Java語言編程還能降低移動端軟件框架的任務量,降低組件的重復使用頻率。
在移動端軟件中,運行庫是驅動軟件的核心部分,而運行庫中含有一個極為重要的核心庫,Java編程語言大部分功能都是由這個核心庫所提供的??梢哉f,運行庫是Java語言的關鍵內容,Java語言的特點正是由運行庫所具備的內存量、程序管理、安全性等諸多性質所決定。正是由于這些特點使得Java語言在移動端軟件中顯得尤為重要,特別是在驅動板塊與網上協議為主的移動端設備中占據極大的比例。此外,采用Java語言開發的軟硬件程序更是移動端設備的核心所在。
通過對Java語言對移動端軟件開發的應用優勢與相關影響進行闡述,下面重點研究基于Java語言的移動端軟件開發方法、要點與開發環境的搭建。
在安卓系統軟件開發中,主要是通過Java語言對軟件程序進行編寫的,在編寫完畢后會將應用程序打包成apk文件,這樣就能夠使應用程序變成一個統一的文件,在安卓系統對移動端軟件的應用程序允許安裝的情況下,系統便會對apk文件進行自動運行,當應用程序在運行過程中執行代碼時,便會對下一個程序進行自動啟動,當移動端設備發現程序中的代碼不符合應用要求時,便對停止apk文件的運行,進而終止移動端軟件的安裝。同時,移動端軟件的應用程序在自動運行過程中,不同的程序之間是存在一定獨立性的。
在對移動端軟件進行開發時,需對軟件權限、資源獲取與使用、界面設計等進行設置。權限能夠保護軟件的應用程序,避免其他不具備權限的人員對應用程序進行篡改與銷毀,開發人員可以對權限進行分配,使具備不同權限的用戶能夠在權限范圍內進行相應操作,進而實現用戶對移動端軟件的體驗過程。開發人員在設計時應加入相應的標簽,并對這些標簽進行詳細說明,在對移動端軟件的文件進行設置時,要確保文件能夠對權限具有一定的支持度。對移動端軟件的用戶界面進行開發的方法主要有XML配置與代碼直接生成,在使用XML時,應對UI進行相應的設計,并做好相對布局和線性布局工作。在對移動端軟件的資源獲取與使用進行設置時,通過Java語言來編寫文件的支持格式,以此確保在移動端軟件運行過程中應用程序能夠解析資源。此外,Java語言還能夠對移動端軟件應用程序中的非代碼進行跟蹤。
基于Java語言的安卓系統軟件開發中,Java語言能夠提供有利的開發條件,它需要對移動端軟件的應用層進行開發,開發環境的搭建本質上就是對Java環境的搭建。在應用層開發完畢后,還要對插件、Eclipse進行安裝,最后再安裝SDK??梢哉f,Java環境的搭接能夠極大程度地保障系統的正常啟動,對Java環境搭建的過程需要先對JDK進行安裝,然后再對Java的環境變量進行相應的設置。在對插件與Eclipse進行安裝時,移動端設備應在網站上下載移動端軟件,并對移動端軟件進行安裝,然后安裝用于運行軟件的插件。在SDK安裝時,應對移動端軟件的函數庫資源進行相應的打包處理,然后下載打包處理后的組件,并結合SDK環境變量需求進行開發,最終生成移動端軟件的鏈接[2]。
在手機加密軟件的開發工作中,DES加密算法是實現加密功能不可或缺的一項核心技術之一,DES加密算法能夠通過迭代和循環的方式進行運算轉變,該算法不僅能夠對數據進行加密,還能對數據起到保護作用[3]。一般來說,DES加密算法所采用的密文信息主要是由二進制信息與密鑰組成的,其對數據的加密流程主要有兩種:一種是對IP進行置換,將原有數據中的明文按照相應的順序或邏輯性進行打亂來實現;另一種是利用乘積交換的方式對數據進行迭代。不過,由于數據的加密會受到迭代數和位數的影響,這使DES算法在采用這種方式時的缺陷較為明顯。因此,在對手機中的數據進行加密時,可以采用3DES算法,相當于對每個數據塊應用三次DES算法加密。這種算法能夠有效避免DES算法缺陷的產生,進而使數據的加密程度得到相應提高。
一般情況下,可以采用mk()和nk()分別對3DES算法的加密和解密進行表示,3DES算法由K進行表示,明文與密表則分別用P與F進行表示,進而可以獲得3DES算法在加密過程與解密過程中的應用公式,加密公式為F=mk3(nk2(mk1(P))),解密公式為P=nk1(mk2(nk3(F)))。編程過程中,核心是確定mode(工作模式)和padding(填充方案)。mode最常用的是CBC和ECB,在分組加密過程中,如果每個組獨立處理,則是ECB。CBC的處理方式是先用初始向量IV對第一組加密,再用第一組的密文作為密鑰對第二組加密,然后依次完成整個加密操作。如果明文中有兩個分組的內容相同,ECB會得到完全一樣的密文,但CBC則不會;而padding做常用的是PKCS5Padding,大部分情況下,明文并非剛好64位的倍數。對于最后一個分組,如果長度小于64位,則需要用數據填充至64位。大多數Java服務器對3DES的加解密支持的是CBC/pkcs5padding方式。值得注意的是,3DES加解密的偏移量一定要和服務端保持一致,如果發現加密數據不一致請檢查這個偏移量是否設置正確,這樣才能確保數據在加密后能夠正常通信[4]。
隨著我國經濟的迅猛增長,科學技術的發展使人們的生活質量顯著提升,這也使越來越多的移動端設備進入了人們的日常生活當中,極大程度地方便了人們的日常生活。近幾年來,人們對移動端軟件的功能與性能有了更高的要求,同時軟件開發商也對移動端軟件的開發研究不斷增多,而基于Java語言的移動端軟件開發不僅能夠確保移動端應用程序在運行時具備一定的獨立性,也使移動端設備的安全性與可靠性大大提升。
參考文獻:
[1]高立軍.有關Java語言的安卓手機軟件開發的分析[J].學園,2015(3):201.
[2]劉敏慧.安卓手機軟件開發——以Java語言為例[J].通訊世界,2016(15):281.
[3]楊杰,楊莉萍.關于JAVA語言在軟件開發下的應用[J].信息與電腦(理論版),2015(16):32-33.
[4]高振東,郭濤.基于Java語言的手機軟件開發技術分析[J].計算機光盤軟件與應用,2014,17(18):73-74.