• 
    

    
    

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

      基于Java語言的手機(jī)軟件開發(fā)技術(shù)分析

      2015-04-20 16:17:43陳林
      電子技術(shù)與軟件工程 2015年6期
      關(guān)鍵詞:Java語言軟件設(shè)計(jì)開發(fā)技術(shù)

      摘 要 隨著智能手機(jī)的高速發(fā)展,手機(jī)軟件開發(fā)成為了當(dāng)下熱門行業(yè)。目前主流的手機(jī)操作系統(tǒng)Android操作系統(tǒng)的智能手機(jī)市場占有率很高,其操作平臺是基于Linux為核心,支持和使用Java作為編程語言開發(fā)相應(yīng)的手機(jī)軟件。本文以Java語言為基礎(chǔ),通過分析Java語言的概述及手機(jī)軟件應(yīng)用程序架構(gòu),簡要敘述基于Java語言下手機(jī)軟件開發(fā)技術(shù),最后以基于Java語言對手機(jī)加密軟件開發(fā)實(shí)例進(jìn)行探討,提高了文章的操作性和實(shí)用性,使得讀者能夠更加清晰的了解基于Java語言的手機(jī)軟件開發(fā)技術(shù)。

      【關(guān)鍵詞】Java語言 Android操作系統(tǒng) 軟件設(shè)計(jì) 開發(fā)技術(shù)

      1 Java語言概述與手機(jī)軟件應(yīng)用程序

      1.1 Java語言

      Java語言內(nèi)涵和實(shí)質(zhì)是面向網(wǎng)絡(luò)程序設(shè)計(jì)的設(shè)計(jì)的語言,是程序員的在創(chuàng)建應(yīng)用程序時必備的工具,并且這些應(yīng)用程序在設(shè)計(jì)之后,能夠被下載和普遍、穩(wěn)定、安全運(yùn)用,Java語言是面向?qū)ο蟮恼Z言,內(nèi)部軟件能夠通過部件的形式進(jìn)行編程,而為了滿足軟件內(nèi)部的協(xié)調(diào)和各種需求,軟件內(nèi)部是相互協(xié)調(diào)。所有的程序語言都是通過編譯和解釋之后才應(yīng)用到電腦或者其他電子設(shè)備上執(zhí)行操作,Java語言通過編譯和解釋兩個過程:首先,將Java語言翻譯成源代碼;其次,利用虛擬機(jī)將源代碼轉(zhuǎn)換成電腦和其他電子設(shè)備可以識別的程序,從而完成軟件和程序的開發(fā)。Java虛擬機(jī)顧名思義其實(shí)是想象中的操作設(shè)備,其實(shí)質(zhì)是通過現(xiàn)實(shí)的電腦進(jìn)行軟件模擬,Java源程序在通過翻譯器翻譯之后變成字節(jié)碼,這些字節(jié)碼能夠被虛擬機(jī)識別并解釋這些字節(jié)碼,然后將字節(jié)碼在發(fā)送給翻譯器,翻譯器再將其翻譯成電腦等電子設(shè)備能夠理解的機(jī)器碼,最終實(shí)現(xiàn)整個編程過程。

      1.2 手機(jī)軟件應(yīng)用程序

      從目前應(yīng)用最為廣泛、發(fā)展速度最快的安卓手機(jī)來看,其應(yīng)用程序主要包括Activity、Service、Content Provider、Intent。在這些應(yīng)用程序中,Activity主要提供多個使用數(shù)據(jù)的存儲,并且能夠獨(dú)立保持后臺運(yùn)行的服務(wù),Intent是手機(jī)軟件運(yùn)行過程中,擁有自動保存機(jī)制,簡單的說就是一個程序或者是一個活動,轉(zhuǎn)跳到另外一個程序或者活動,它能夠?qū)崿F(xiàn)數(shù)據(jù)的自動保存,方便程序和活動的切換,防止在切換的過程中數(shù)據(jù)無故丟失。在手機(jī)應(yīng)用過程中,應(yīng)用程序是整個軟件的核心組成部分,其涵蓋的內(nèi)容相當(dāng)廣泛。例如手機(jī)的通信、短信、客戶端、瀏覽器和游戲等等。這些應(yīng)用程序的構(gòu)造主要是通過Java語言進(jìn)行編寫的,Java語言提供了應(yīng)用程序之間的相互交互,使得整個應(yīng)用程序得框架結(jié)構(gòu)得到簡化,并且其相關(guān)的重要部件之間的使用也得到了簡化。

      1.3 基于Java語言的手機(jī)軟件軟件開發(fā)

      在設(shè)計(jì)過程中,Java語言在手機(jī)軟件開發(fā)中的技術(shù)分析從方法、開發(fā)過程以及開發(fā)環(huán)境的搭建三個最主要的方面進(jìn)行分析。

      1.3.1 手機(jī)軟件開發(fā)的方法

      前文中已經(jīng)說明了Java語言在安卓手機(jī)中的開發(fā)應(yīng)用,開發(fā)主要是利用Java語言進(jìn)行編寫的,編寫完成之后以應(yīng)用程序的形式被下載和應(yīng)用。

      1.3.2 手機(jī)軟件開發(fā)過程

      在手機(jī)軟件的開發(fā)過程中,為了保護(hù)軟件的穩(wěn)定性和安全性,在開發(fā)時需要設(shè)置相應(yīng)的用戶權(quán)限,即用戶界面設(shè)計(jì)和資源的獲取是有一定的權(quán)限設(shè)置,只有在權(quán)限允許的情況下,才能完成相應(yīng)的資源提取和程序啟動,這是對應(yīng)用程序的保護(hù),而獲取權(quán)限和對權(quán)限進(jìn)行命名時,有屬于用戶的使用和體驗(yàn)過程。為了更好的保護(hù)用戶文件的權(quán)限,在生成用戶界面的過程時,主要是由代碼直接生成以及XML生成兩種方式。

      1.3.3 手機(jī)軟件開發(fā)環(huán)境搭建

      作為最主要的設(shè)計(jì)語言,Java語言在環(huán)境搭建時應(yīng)該被首先保護(hù)和搭建,只有對最基本的程序語言進(jìn)行搭建,才能進(jìn)行下一步的操作。之后對于插件的安裝以及安裝Android SDK。在開發(fā)環(huán)境的搭建中,Java環(huán)境是保障系統(tǒng)安全性和穩(wěn)定性的關(guān)鍵,搭建的過程首先將JDK 進(jìn)行安裝,其次對于系統(tǒng)變量進(jìn)行設(shè)置。

      2 基于Java語言設(shè)計(jì)手機(jī)短信加密軟件實(shí)證分析

      2.1 利用的平臺和技術(shù)

      2.1.1 Android 系統(tǒng)

      Android系統(tǒng)是美國谷歌公司在2007年推出的,依靠其強(qiáng)大的性能和開放性特點(diǎn),瞬間成為了移動設(shè)備操作系統(tǒng)的佼佼者,從Android系統(tǒng)的架構(gòu)上看,主要包括五個部分:Linux Kernel、Android Runtime 、Libraries、Application Framework和Applications。這五個部分構(gòu)成了Android系統(tǒng)的整個系統(tǒng),其Eclipse 開發(fā)平臺就是基于Java語言的擴(kuò)展和開發(fā)平臺,許多情況下Eclipse就作為Java集成開發(fā)環(huán)境下使用,但是其用途不僅僅局限在Java語言的開發(fā)中,是Java開發(fā)工具的延伸。

      2.1.2 DES加密算法

      DES算法是1977年美國國家標(biāo)準(zhǔn)局采用的數(shù)據(jù)加密標(biāo)準(zhǔn),主要是利用循環(huán)和迭代將簡單的運(yùn)算轉(zhuǎn)變?yōu)榉蔷€性變換實(shí)現(xiàn)對于數(shù)據(jù)的加密和保護(hù)。在56位密鑰和64位二進(jìn)制信息加密成64位密文信息。其主要有三個具體的流程:首先,出事置換IP,將明文按照一定的邏輯和順序進(jìn)行順序打亂;其次,乘積交換,進(jìn)行16輪迭代;最后,逆初始置換IP,按照固定表順序打亂,最終輸出64位信息,此64位信息就是加密信息,從而完成整個明文信息的加密過程。由于DES在密鑰位數(shù)和迭代數(shù)問題,導(dǎo)致DES存在明顯的缺陷,而在實(shí)際操作過程中,3DES被普遍使用,其中包含了四中模式,分別是DES-EEE3;DES-EDE3;DES-EEE2;DES-EDE2四種使用模式。在操作過程中,手機(jī)短信的字符數(shù)較少,一般采用3DES加密處理。

      2.2 Android信息處理

      了解Android信息處理機(jī)制對于信息加密軟件的設(shè)計(jì)非常重要,只有了解了信息是如何處理的,才能更好的有針對性的對于信息進(jìn)行加密處理。Android信息處理首先通過用戶發(fā)出一條信息,發(fā)送到收件箱,調(diào)用收件箱的enqueue Message函數(shù),根據(jù)接收到的信息隊(duì)列,將信息放入收件箱中。通過Loop從收件箱中從前往后取出信息,然后通過使用者的dispatch Message函數(shù)進(jìn)行信息的處理和加工,這個過程中,課件信息是由使用者進(jìn)行處理和負(fù)責(zé)的。信息處理結(jié)束之后,使用者通過recycle函數(shù)再次將信息放入到收件箱中,從而為信息進(jìn)行儲存和方便下次信息的使用。這個過程中,由于信息的處理屬于在開放環(huán)境下,信息很難實(shí)現(xiàn)加密處理,信息的安全性能也得不到相應(yīng)的保障,所以在機(jī)遇Java語言下,針對信息加密問題,對于手機(jī)信息加密軟件進(jìn)行編程,從而獲得更加安全的信息保護(hù)。

      3 基于Java語言的手機(jī)加密軟件開發(fā)

      3.1 3DES加密與解密

      設(shè)Ek( )和Dk( )代表DES算法的加密和解密過程,K代表DES算法,使用的密鑰P代表明文,C代表密表。

      3DES加密過程為:C=Ek3(Dk2(Ek1(P)))

      3DES解密過程為:P=Dk1((EK2(Dk3(C)

      public static byte[] desEncrypt(String message, String key) throws Exception { Cipher cipher = Cipher.getInstance("DESede"); DESKeySpec desKeySpec=new DESKeySpec(key.getBytes("UTF-8")); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DESede"); SecretKey secretKey = keyFactory.generateSecret(desKeySpec); cipher.init(Cipher.ENCRYPT_MODE, secretKey);

      return cipher.doFinal(message.getBytes("UTF-8"));

      在整個設(shè)計(jì)過程中,進(jìn)行對比其他平臺對接發(fā)現(xiàn)對于同樣的加密結(jié)果卻現(xiàn)實(shí)不同,所以針對這樣的情況,對于JDK文件進(jìn)行了檢查,發(fā)現(xiàn)JDK文件現(xiàn)實(shí)如下:

      A transformation is a string that describes the operation (or set of operations) to be performed on the given input, to produce some output.

      A transformation is of the form:

      ·"algorithm/mode/padding" or ·"algorithm"

      (in the latter case, provider-specific default values for the mode and padding scheme are used).

      在結(jié)合之前我們所選擇的代碼,編寫的算法是不存在問題的,那導(dǎo)致加密結(jié)果不同的原因在哪?針對此,主要原因出現(xiàn)在MODE和padding。所以在使用JAVA語言編碼時,一定要主義采用相同的MODE和padding,只有這樣才能夠保證通信的正常使用。

      3.2 Java語言手機(jī)加密軟件開發(fā)實(shí)現(xiàn)

      在基于Java語言下利用DES加密算法實(shí)現(xiàn)手機(jī)信息加密軟件的開發(fā),在這個過程中,利用虛擬手機(jī)平臺,進(jìn)行加解密程序編寫,模擬和實(shí)現(xiàn)加解密程序的運(yùn)行效果,從而達(dá)到測試和使用加解密軟件。

      (1)將手機(jī)連接到電腦中,在安卓虛擬平臺下,對于加解密軟件進(jìn)行編程,為了更好的實(shí)現(xiàn)手機(jī)信息加密軟件。

      (2)打開手機(jī)信息,進(jìn)入到手機(jī)的短信收發(fā)界面。

      (3)在手機(jī)中運(yùn)行J2ME MIDlet程序,點(diǎn)擊手機(jī)的消息的便捷界面,從而進(jìn)行手機(jī)信息的編寫,編寫完成之后,選擇相應(yīng)的聯(lián)系人,從而完成整個短信內(nèi)容的編寫過程。

      (4)進(jìn)入目標(biāo)手機(jī)的接收界面,對于剛剛編寫的接收信息進(jìn)行編輯,從而達(dá)到解密的目的,解密完成后,此次加解密操作就算完成了。

      4 手機(jī)加密軟件開發(fā)的難點(diǎn)

      加解密軟件利用的是JDK1.5,此次的實(shí)驗(yàn)主要是針對Android手機(jī)開發(fā)的應(yīng)用軟件,所以適用性上僅僅適用于安卓手機(jī)用戶,不能夠移植到其他系統(tǒng)中。在實(shí)際的軟件開發(fā)過程中,DES加密密鑰在Java庫函數(shù)中是隨機(jī)產(chǎn)生的,所以在操作的過程中用戶沒有輸入相應(yīng)的密鑰操作,和普通手機(jī)發(fā)短信沒有表面的區(qū)別。其中難點(diǎn)在于軟件必須保證通信雙方共同使用該軟件,才能夠正常的實(shí)現(xiàn)短信的收發(fā)功能,如果一方未安裝加密軟件,則加密軟件就不能發(fā)揮相應(yīng)的作用。

      5 總結(jié)

      移動電子設(shè)備已經(jīng)成為了人們生產(chǎn)、生活必不可少的重要工具,伴隨著技術(shù)的不斷革新和發(fā)展,手機(jī)的功能越來越強(qiáng)大,在帶給人們便利的背后,離不開對于手機(jī)軟件開發(fā)的創(chuàng)新和探索。近年來,對于手機(jī)軟件的需求和要求不斷提高,不僅需要新穎的軟件和應(yīng)用程序,更需要穩(wěn)定、安全、便捷的操作體驗(yàn),所以在Java語言編程下的手機(jī)軟件需要在發(fā)展和創(chuàng)新的過程中不斷積累經(jīng)驗(yàn),提高軟件的安全性、穩(wěn)定性和適用性,從而推動手機(jī)的發(fā)展。

      參考文獻(xiàn)

      [1]楊治.手機(jī)軟件交互設(shè)計(jì)研究[D].哈爾濱工程大學(xué),2013.

      [2]韓路,高賢強(qiáng).基于Android系統(tǒng)的手機(jī)軟件開發(fā)研究[J].電子技術(shù)與軟件工程,2014(03):60-61.

      [3]周銳棠.闡述Java語言在手機(jī)中的結(jié)合運(yùn)用[J].數(shù)字技術(shù)與應(yīng)用,2010(11):204.

      [4]宋杰,黨李成,郭振朝,趙萌. Android OS手機(jī)平臺的安全機(jī)制分析和應(yīng)用研究[J].計(jì)算機(jī)技術(shù)與發(fā)展, 2010,20(06):152-155.

      [5]埃始兒,陳灝鵬.Java的編程思想[M].北京:機(jī)械工業(yè)出版社,2009(08).

      作者簡介

      陳林,工程碩士學(xué)位?,F(xiàn)為江蘇省鹽城機(jī)電高等職業(yè)技術(shù)學(xué)校講師。研究方向?yàn)橛?jì)算機(jī)技術(shù)應(yīng)用。

      作者單位

      江蘇省鹽城機(jī)電高等職業(yè)技術(shù)學(xué)校 江蘇省鹽城市 224005

      猜你喜歡
      Java語言軟件設(shè)計(jì)開發(fā)技術(shù)
      計(jì)算機(jī)應(yīng)用軟件開發(fā)技術(shù)的幾點(diǎn)探討
      電子制作(2017年14期)2017-12-18 07:08:10
      防散脫緯編無痕彈力面料開發(fā)技術(shù)國際領(lǐng)先
      基于Android平臺的健康醫(yī)療APP設(shè)計(jì)與開發(fā)
      基于STC單片機(jī)的廚房智能安全管控系統(tǒng)的設(shè)計(jì)
      基于STM8S903K3的序列打螺絲夾具的軟件設(shè)計(jì)
      JCI標(biāo)準(zhǔn)下發(fā)送調(diào)配部軟件設(shè)計(jì)及應(yīng)用
      一種VHDL語言代碼重用的方法
      科技視界(2016年20期)2016-09-29 13:33:02
      大學(xué)生創(chuàng)業(yè)平臺設(shè)計(jì)與實(shí)現(xiàn)
      計(jì)算機(jī)軟件開發(fā)中的JAVA編程語言分析
      用戶隱私保護(hù)之手機(jī)密碼保險箱
      米脂县| 华池县| 城口县| 罗平县| 克东县| 海林市| 西和县| 奉贤区| 蒙山县| 获嘉县| 东方市| 大姚县| 郯城县| 龙南县| 正蓝旗| 龙井市| 滨州市| 宜丰县| 汉源县| 崇信县| 江安县| 贵德县| 兰溪市| 罗源县| 云霄县| 会同县| 衡东县| 长岭县| 富阳市| 安福县| 南江县| 正宁县| 宝坻区| 阿克陶县| 且末县| 大渡口区| 中山市| 永济市| 乐都县| 光山县| 毕节市|