当然,Intellij也有一些固有的缺点,首先便是占用内存过多,如果eclipse以及Intellij都使用过的朋友肯定对于这一点深有体会。其次,由于使用者的数量较少,因此与之相关的技术文章也较少,技术支持力度不够。还有一点值得深思的就是,由于Intellij在代码补全,代码提示上面做的的确很优秀,那么这对于工作效率的确提升不少,但是对于程序员来说,也容易使之形成依赖。
2。2 AndroidStudio的配置与使用介绍
AndroidStudio是由谷歌开发的一款全新的Android开发的集成环境。其基于Intellij IDEA,并提供了丰富的android开发所使用到的插件系统,提供了包括:基于Gradle的构建方式的支持,代码重构以及修复,捕获性能,可用性以及版本兼容问题,支持应用签名以及ProGuard,能够基于模板导出生成常用的Android应用设计和组件[3]。
Google官方称,AndroidStudio将使得开发者“更快,并且更具生产力”。随着谷歌方面称将停止对eclipse进行支持,因此使用AndroidStudio开发安卓项目必定是以后的大的趋势。
使用Android Studio前,大家首先需要事先安装好JDK 6或者更高版本。并且在接下来,我们可以准备好利用Android Studio创建自己的第一款Android应用程序了。当大家第一次启动Android Studio时,应该会看到该软件的欢迎屏幕,其中还提供一些选项、指导我们以此为起点迈出Android应用开发的第一步。
2。3基于maven以及gradle的项目构建技术
对于构建工具,我们首先可能会想到的是Ant。使用Ant构建项目,好处在于,我们可以一键构建项目,并且能够清晰的知道项目的结构。而且构建出错时,也便于追踪。但是使用Ant进行项目构建可能存在一个问题,就是如果是团队开发,当使用版本控制系统,多人提交的代码,可能会有不同的依赖,而一旦产生依赖冲突,那么便可能造成一大堆问题。因此,在项目构建上,有必要使用一种集中式依赖管理方式。
Maven以及gradle都是这样的一种集中式管理方式,集中式管理极大程度的降低了依赖冲突这个问题,并且一定程度上避免了冗余的依赖包存在。相比较而言,Maven的项目构建比较成熟,现如今已成为了行业标准,而gradle是后起之秀,大家对于gradle的认识大都源于AndroidStudio,但是gradle避免了maven使用xml进行项目构建的方式,增加了阅读体验,并且大大减少了构建的代码量。
图2-1 gradle依赖示意图
图2-2 maven依赖示意图
上图分别为gradle以及maven方式构建依赖的脚步,可以看出,gradle构建方式是比较简洁的。当然,目前gradle的灵活也在一定程度上增加了一些由于不规范造成的隐形错误。不过相信以后,gradle构建项目的技术必然可以更加成熟。
2。4 SpringMVC,Spring,Hibernate三大框架整合
本次毕业设计,本人采用SpringMVC,Spring以及Hibernate来作为后台服务框架。下面先介绍下三大框架:
1)。SpringMVC
SpringMVC是Spring系列产品中,面向前端处理的框架。他是一个MVC框架,类似于Struts,SpringMVC围绕DispatcherServlet展开的,DispatcherServlet负责将请求派发到特定的handler。通过可配置的handler mappings、view resolution、locale以及theme resolution来处理请求并且转到对应的视图。它的处理过程如下所示。
图2-3 MVC架构图
本人之前也学习过Struts2,相比较这一传统的MVC框架,SpringMVC的优势在于与Spring能够更加兼容,毕竟他们属于同一家公司的产品。另外,Struts在2013年曾经自己公布漏洞,并贴出漏洞利用代码,使得当时使用Struts的公司遭受巨大的危险。从很多年前起,安全行业里默认的行规是“提示漏洞存在,但只公布描述,不公布细节”。大多数安全公告连漏洞涉及的代码都不公布,更遑论直接给出漏洞利用方法的。这样做的原因就是为了防止漏洞细节被黑客看到后,直接利用漏洞攻击用户。而像Struts官方这样公布漏洞使用代码的,可谓是极为罕见的。因此在得知这样一段历史以后,我就不太放心使用Struts了。当然使用SpringMVC的另一个原因就是,他能够方便得集成使用Restful风格的接口。