APP下载

基于Java语言的移动端软件开发研究

2018-04-12张灵芝

电脑与电信 2018年3期
关键词:安卓应用程序加密

张灵芝

(无锡机电高等职业技术学院,江苏 无锡 214028)

1 引言

近几年来,现代化信息技术在软件开发领域的应用,使越来越多的软件被应用于各个领域当中,极大地推动了各个领域的发展。与此同时,移动端设备的大量增长与应用,使人们迫切需要通过移动端软件来对移动端设备进行更高效的利用,而这也使软件开发商纷纷将目光投入到移动端软件研发当中,众多适用于移动端设备的软件被研发与应用,使人们的生产、生活、学习需求得到了极大的满足,并进一步促进了社会经济的发展。如今,移动端设备的使用已经成为人们不可或缺的一部分,这也使人们对移动端软件的开发提出了更高的要求。在移动端软件开发中,Java是一种非常重要的软件开发工具,它不仅能够用于计算机软件的开发,在安卓系统的移动端软件开发中也有着非常巨大的作用。其具备面向对象、简单易学、功能强大的特点,通过Java语言的应用能够开发出一款款功能强大、安全高效的移动端软件。可以说,Java语言是提高移动端软件开发质量,实现移动端设备迅猛发展的技术保障之一。

2 Java语言在安卓系统开发中的应用优势

目前,手机、IPAD、手提电脑等移动端设备已经被人们所广泛使用,其之所以受到人们的青睐与移动端软件有着密不可分的关系,Java开发语言工具的应用是移动端软件发展的重要方向之一。在安卓系统开发中,Java的应用优势主要体现在三个方面:第一,Java的应用优势最主要体现在其面向对象的特点,使其具有基于面向对象的封装性、继承性、多态性,从而提供较强的交互功能。Java语言以对象为中心,以消息为驱动,区别于传统的以过程为中心、以算法为驱动的过程式编程语言。第二,比C++语言,Java更加安全可靠。如显式的方法声明可以确保编译器发现方法调用错误;不支持指针,可以防止内存的非法访问;自动单元收集可以避免内存丢失等问题;解释器运行实时检查可以发现数组和字符串访问是否越界等[1]。第三,Java的可移植性强。其程序运行与操作平台无关,不同的系统只要安装不用的JRE(Java运行环境)就可以跨系统运行。

3 Java语言对移动端软件架构的影响

3.1 在应用程序方面的影响

基于Java语言的安卓系统基本架构包括应用程序、应用程序框架、程序库、运行库和数据库[1]。移动端软件的应用程序开发并不是一个独立的任务,它是和同一系列的核心应用程序共同发布,它包括一些客户端,短消息程序,日历、地图、浏览器等管理程序。应用程序框架与核心应用程序之间具有紧密联系,它是开发人员访问核心应用程序所使用的主要框架。通过Java语言的框架设计,具有重用机制,简化了一些组件的重用频率,便于用户对组件的替换,极大地提高了应用交互的可能性。

3.2 在编程方面的影响

在移动端软件中,编程是移动端软件研发的核心。编程任务量的多少直接决定着移动端软件的研发进度,更关系到移动端软件经济效益的最大化实现。通过Java语言的应用能够使设计人员随时随地对软件应用框架进行访问,并且通过Java语言编程还能降低移动端软件框架的任务量,降低组件的重复使用频率。

3.3 在运行库中的影响

在移动端软件中,运行库是驱动软件的核心部分,而运行库中含有一个极为重要的核心库,Java编程语言大部分功能都是由这个核心库所提供的。可以说,运行库是Java语言的关键内容,Java语言的特点正是由运行库所具备的内存量、程序管理、安全性等诸多性质所决定。正是由于这些特点使得Java语言在移动端软件中显得尤为重要,特别是在驱动板块与网上协议为主的移动端设备中占据极大的比例。此外,采用Java语言开发的软硬件程序更是移动端设备的核心所在。

4 基于Java语言的移动端软件开发研究

通过对Java语言对移动端软件开发的应用优势与相关影响进行阐述,下面重点研究基于Java语言的移动端软件开发方法、要点与开发环境的搭建。

4.1 开发方法研究

在安卓系统软件开发中,主要是通过Java语言对软件程序进行编写的,在编写完毕后会将应用程序打包成apk文件,这样就能够使应用程序变成一个统一的文件,在安卓系统对移动端软件的应用程序允许安装的情况下,系统便会对apk文件进行自动运行,当应用程序在运行过程中执行代码时,便会对下一个程序进行自动启动,当移动端设备发现程序中的代码不符合应用要求时,便对停止apk文件的运行,进而终止移动端软件的安装。同时,移动端软件的应用程序在自动运行过程中,不同的程序之间是存在一定独立性的。

4.2 开发要点研究

在对移动端软件进行开发时,需对软件权限、资源获取与使用、界面设计等进行设置。权限能够保护软件的应用程序,避免其他不具备权限的人员对应用程序进行篡改与销毁,开发人员可以对权限进行分配,使具备不同权限的用户能够在权限范围内进行相应操作,进而实现用户对移动端软件的体验过程。开发人员在设计时应加入相应的标签,并对这些标签进行详细说明,在对移动端软件的文件进行设置时,要确保文件能够对权限具有一定的支持度。对移动端软件的用户界面进行开发的方法主要有XML配置与代码直接生成,在使用XML时,应对UI进行相应的设计,并做好相对布局和线性布局工作。在对移动端软件的资源获取与使用进行设置时,通过Java语言来编写文件的支持格式,以此确保在移动端软件运行过程中应用程序能够解析资源。此外,Java语言还能够对移动端软件应用程序中的非代码进行跟踪。

4.3 开发环境的搭建

基于Java语言的安卓系统软件开发中,Java语言能够提供有利的开发条件,它需要对移动端软件的应用层进行开发,开发环境的搭建本质上就是对Java环境的搭建。在应用层开发完毕后,还要对插件、Eclipse进行安装,最后再安装SDK。可以说,Java环境的搭接能够极大程度地保障系统的正常启动,对Java环境搭建的过程需要先对JDK进行安装,然后再对Java的环境变量进行相应的设置。在对插件与Eclipse进行安装时,移动端设备应在网站上下载移动端软件,并对移动端软件进行安装,然后安装用于运行软件的插件。在SDK安装时,应对移动端软件的函数库资源进行相应的打包处理,然后下载打包处理后的组件,并结合SDK环境变量需求进行开发,最终生成移动端软件的链接[2]。

5 基于Java语言的移动端加密软件开发分析

在手机加密软件的开发工作中,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]。

6 结语

随着我国经济的迅猛增长,科学技术的发展使人们的生活质量显著提升,这也使越来越多的移动端设备进入了人们的日常生活当中,极大程度地方便了人们的日常生活。近几年来,人们对移动端软件的功能与性能有了更高的要求,同时软件开发商也对移动端软件的开发研究不断增多,而基于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.

猜你喜欢

安卓应用程序加密
iPhone不卡的秘密曝光:安卓也能享受
文物表情包
删除Win10中自带的应用程序
一种基于熵的混沌加密小波变换水印算法
谷歌禁止加密货币应用程序
一种基于安卓系统的手机侧抓包分析方法
认证加密的研究进展
基于ECC加密的电子商务系统
基于格的公钥加密与证书基加密
安卓L未至安卓M来了!安卓首泄漏M系统