国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

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

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

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

1.1 Java語(yǔ)言

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

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

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

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

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

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

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

1.3.2 手機(jī)軟件開(kāi)發(fā)過(guò)程

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

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

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

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

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

2.1.1 Android 系統(tǒng)

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

2.1.2 DES加密算法

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

2.2 Android信息處理

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

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

3.1 3DES加密與解密

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

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

3DES解密過(guò)程為: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"));

在整個(gè)設(shè)計(jì)過(guò)程中,進(jìn)行對(duì)比其他平臺(tái)對(duì)接發(fā)現(xiàn)對(duì)于同樣的加密結(jié)果卻現(xiàn)實(shí)不同,所以針對(duì)這樣的情況,對(duì)于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é)合之前我們所選擇的代碼,編寫(xiě)的算法是不存在問(wèn)題的,那導(dǎo)致加密結(jié)果不同的原因在哪?針對(duì)此,主要原因出現(xiàn)在MODE和padding。所以在使用JAVA語(yǔ)言編碼時(shí),一定要主義采用相同的MODE和padding,只有這樣才能夠保證通信的正常使用。

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

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

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

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

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

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

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

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

5 總結(jié)

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

參考文獻(xiàn)

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

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

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

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

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

作者簡(jiǎn)介

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

作者單位

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

猜你喜歡
Java語(yǔ)言軟件設(shè)計(jì)開(kāi)發(fā)技術(shù)
計(jì)算機(jī)應(yīng)用軟件開(kāi)發(fā)技術(shù)的幾點(diǎn)探討
電子制作(2017年14期)2017-12-18 07:08:10
防散脫緯編無(wú)痕彈力面料開(kāi)發(fā)技術(shù)國(guó)際領(lǐng)先
基于Android平臺(tái)的健康醫(yī)療APP設(shè)計(jì)與開(kāi)發(fā)
基于STC單片機(jī)的廚房智能安全管控系統(tǒng)的設(shè)計(jì)
基于STM8S903K3的序列打螺絲夾具的軟件設(shè)計(jì)
JCI標(biāo)準(zhǔn)下發(fā)送調(diào)配部軟件設(shè)計(jì)及應(yīng)用
一種VHDL語(yǔ)言代碼重用的方法
科技視界(2016年20期)2016-09-29 13:33:02
大學(xué)生創(chuàng)業(yè)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
計(jì)算機(jī)軟件開(kāi)發(fā)中的JAVA編程語(yǔ)言分析
用戶(hù)隱私保護(hù)之手機(jī)密碼保險(xiǎn)箱
东明县| 剑阁县| 德惠市| 奉化市| 胶州市| 霞浦县| 霍州市| 大埔区| 施甸县| 双鸭山市| 旬阳县| 通河县| 石渠县| 建德市| 永定县| 莲花县| 镇远县| 台北县| 比如县| 三河市| 绥棱县| 保德县| 凉山| 阿图什市| 泰和县| 四会市| 鄂托克前旗| 嘉祥县| 淅川县| 长岛县| 中西区| 铅山县| 唐海县| 玉屏| 怀远县| 波密县| 霍山县| 常山县| 凭祥市| 卓尼县| 灌云县|