Java语言为基础的安卓手机软件开发探究
2019-04-04徐官学
摘 要:现阶段,国内智能手机大都采用安卓操作系统,而该系统的开发语言以Java语言为基础。文章论述了Java语言的基本含义,分析了安卓手机软件的基本架构,并以手机加密软件为例,探讨了以Java语言为基础的安卓手机软件开发流程,以供相关人员参考。
关键词:Java语言;安卓操作系统;智能手机;软件开发;DES加密算法
进入二十一世纪以来,互联网技术、信息化技术以及移动通信技术快速发展和应用,促使社会大众的生活节奏不断加快。而智能手机的产生与发展,为社会大众快速获取信息资源带来极大的便利,目前已经广泛应用在大众生活的各个行业领域。国内绝大部分智能手机采用的是基于Java语言的安卓操作系统,所以很有必要对Java语言为基础的安卓手机软件开发进行深入研究。
1.Java开发语言的内涵和实质
Java语言属于一种设计类语言类型,其以网络程序为基础,应用效果非常良好,并且应用范围十分广泛。因此,在网络应用程序设计过程中,Java语言受到绝大多数程序设计人员的青睐。通常情况下,在程序设计过程中,Java语言以应用程序的内部编程语言为主要对象。基于Java语言的程序设计目的,是为了满足不同软件间以及不同应用程序间的具体需要,以促进软件应用内部利用效率的有效提升。
在解释与编译后,Java语言会呈现出两个不同的过程,并可通过翻译,转变为系统设计所需的各种形式的源代码,同时还能达到虚拟机作用转化的目的,可在其他电子设备识别程序中使用[1]?Java虚拟机属于一种基于想象的操作设备,利用计算机进行软件模拟。对Java语言的源程序进行翻译,能够获得对应的字节码,程序设计人员不但能够解释和翻译这类字节码,将其作为接收器中的机器码,还能通过虚拟机识别,在具体编程中使用。
2.安卓手机软件的架构
2.1应用程序
智能手機各个软件功能的实现离不开相关应用程序的补充和支持,而智能手机各个硬件功能的实现需要通过相应的应用程序体现出来。安卓手机软件发布过程中,同时会携带一系列的核心应用程序,这些应用程序主要涵盖了短消息程序、日历程序以及浏览器程序等。从当前情况来看,在智能手机软件编写设计过程中,Java语言是最为优秀的工具,该语言强大的交互性为智能手机软件功能的实现提供了基本支持。
2.2应用程序的框架
智能手机出厂时,其应用软件都有一定的框架。各个品牌各个型号的智能手机都拥有自身的基本框架,应用程序开发人员会在该框架的基础上,进行应用程序编写工作。在此过程中,应用程序编写工具都采用Java。而Java语言自身就拥有一定的框架技术,这大大增强了通过框架技术进行应用程序编写的可行性。
2.3程序库、运行库
程序库与运行库均属于智能手机中的固化程序,在智能手机出厂的过程中,开发商就将程序库与运行库固化在了手机内核中。设计人员按照用户实际需求,对在程序库与运行库进行固化,为智能手机用户提供了极大便利,再加上良好的应用功能,智能手机因而得到广大用户群体的认可与欢迎。
3.基于Java语言设计手机短信加密软件实证分析
3.1基于Java语言的DES加密算法
DES算法作为一种基于Java语言的数据加密标准,其通过循环和迭代的方式,把相对简单运算转变成非线性变换,从而达到加密和保护数据的目的。
DES算法主要是对56位密钥与64位二进制信息进行加密,以生成64位密文信息。其具体流程如下:第一点,对IP进行初始置换,并根据特定逻辑顺序将明文顺序打乱。第二点,进行乘积交换,持续迭代16轮。第三点,对IP进行逆初始置换,根据固定表顺序打乱,从而获得64位信息,也就是加密信息,最终完成明文信息加密[2]。
在密匙位数与迭代数的一并影响下,DES加密算法通常会存在一定缺陷。所以,对于字符信息相对较少的短信,可采用3DES的方法来进行加密处理,从而增强信息的加密性。
3.2安卓信息处理机制
第一点,安卓系统信息处理通常先要用户发信息到收件箱,然后对收件箱enqueue Message函数进行调用,以接收信息的队列为基准,把信息置入到收件箱内。
第二点,按照由前到后的顺序,利用Loop将信息从收件箱内取出。之后利用使用者的dispatch Message函数,加工处理该信息。在此过程中,对该信息的处理工作由使用者负责。
第三点,完成信息处理后,使用者可利用recycle函数,将处理后的信息再次置入收件箱,为信息储存与使用提供便利。
从整个流程来看,是在开放环境中进行的信息处理,加密处理难度非常大,无法充分保证信息的安全性。因此,在Java语言环境中,基于信息加密方面存在的问题,合理编写安卓手机信息加密软件,能够有效保证信息安全。
3.33DES加密与解密要点
设K表示DES算法,Ek()表示DES算法的加密过程,Dk()表示DES算法的解密过程,使用的密钥P表示明文,C表示密表。
由此可知3DES加密公式为:C=Ek3(Dk2(Ek1(P)))
3DES解密公式为:P=Dk1((EK2(Dk3(C)
在具体设计过程中,与其他平台对接进行对比分析得知,同样的加密结果,实现过程却存在一定差异,因此,对于此类状况,应认真检查JDK文件。
而如果编写算法没有问题,而加密结果存在差异,那么综合考虑所选代码,可以发展造成加密结果不同的原因就在于MODE与padding方面。因此,程序开发人员在利用Java语言进行编码时,所用MODE与padding必须相同,如此方可确保正常通信。
3.4以Java语言为基础的安卓手机加密软件开发的实现
软件开发人员在通过DES加密算法来开发信息加密软件时,应对虚拟手机平台进行灵活操作,预先编写软件加密与解密程序,并模拟加密程序与解密程序的运行效果,以促使加密软件运行速度的提升。
第一步,软件开发人员应将所用手机与计算机有效连接,在计算机中利用安卓虚拟平台来编写加密程序和解密程序,以便于更加顺利地实现手机软件信息的加密。
第二步,软件开发人员开启手机短信程序,进入短信的收发界面中,仔细观察和分析短信收发情况。
第三步,运行手机中的J2ME MIDlet程序,在加密软件的消息界面编写加密信息,在完成编写后,选择软件联系人,结束整个信息编写过程。
第四步,打开所用手机的接收界面,编辑接收到的之前编写的信息,进而完成软件信息的解密操作过程。
结语
总之,基于Java语言的安卓操作系统具有非常强的开放性,目前已经被大多数智能手机品牌所采用。在以Java语言为基础进行安卓手机软件开发的过程中,软件开发人员应深刻认知Java语言的涵义,充分把握安卓手机软件的架构特点,熟练掌握基于Java语言的DES加密算法与安卓信息处理机制,有效运用3DES加密与解密技术,高效、顺利地开发安卓手机软件。
参考文献:
[1]李福俊.基于Java语言的安卓手机软件开发研究[J].山西农经,2017(11):130-130.
[2]沈佳宁.基于Java语言的安卓手机软件开发分析[J].无线互联科技,2017(6):34-35.
作者简介:
徐官学(1967-),男,汉族,湖北省建始县人,恩施职业技术学院信息工程学院,副教授。研究方向:计算机应用.