从Eclipse到Android Studio——改变了什么
2015-08-29 10:21
429 查看
转载自:http://blog.csdn.net/yzzst/article/details/48002187
工程结构目录工程目录结构的改变,确实让我在一开始使用的时候摸不着头脑。连代码在哪里写都搞不清楚,libs库该添加在哪里也不好说。Eclipsed Eclipse把所有的Android项目资源都放到了一级目录下,而且是固定的。如下,就是一个Eclipse的常见App工程目录截图。 这个我不做过多的说明了,估计大家都清楚。 Android Studio Android Studio的目录结构,发生了变化,即把所有的代码、编译风格、AndroidManifest.xml资源都放置到了src目录下。如下图所示: 很明显,Android Studio不再以代码的功能逻辑来做一级目录区分,而是以: 构建模块(gradle) 代码逻辑模块(src) 第三方库模块(libs) 编译输出模块(build) 构建的方式来作为区分。 Project -> Modules、Workspace -> Project在Eclipse中,最常见的就是Workspace了,已进入就让你选择。如下图所示:我们再熟悉不过了,对于Eclipse来说,一个Workspace就是对应PC上的一个文件夹目录而已。其中可以保存我们的很多项目,已经我们在开发中对Eclipse的依赖关系和配置逻辑。 而在Android Studio中,没有什么Wordspace的概念,只有一个Project的概念,很像Xcode的方式。一个项目就是一个Project,里面有可能有一个或者多个工程。但是,每个工程都是和这个Project相关的。 这里所说的Project和Eclipse中的Project不一样 Modules Modules是Intellij提出来的一个新的概念,即“一种独立的功能单元,可以运行、测试并且独立调试”和Eclipse project的概念有点像,但有几点不同。 每一个Module需要有属于自己的Gradle build file(当你新建一个Module时会自动帮你生成的,当你导入一个Eclipse的项目时需自己创建)。这些Gradle文件包含了一些很重要的内容,比如所支持的安卓版本和项目依赖的东西,以及安卓项目中其它重要的数据。 和Eclipse上的一样,一些Modules可能是”Library Modules”,功能上与”Library projects”一样的。 Ant/Maven -> GradleAnt是最早的构建工具,基于idea,好象是2000年有的,当时是最流行java构建工具,不过它的XML脚本编写格式让XML文件特别大。对工程构建过程中的过程控制特别好。Gradle用groovy来做为build脚本,比xml要易读易用得多。用过ant的人都知道,要在ant里面表达一个if分支功能有多么的麻烦,不直观。由于gradle的build脚本就是groovy程序,所以做分支循环等非常方便自然。 Maven它是用来给Ant补坑的,Maven第一次支持了从网络上下载的功能,仍然采用xml作为配置文件格式,它的问题是不能很好的相同库文件的版本冲突。Maven专注的是依赖管理,构建神马的并不擅长。 Gradle属于结合以上两个的优点,它继承了Ant的灵活和Maven的生命周期管理,它最后被google作为了Android御用管理工具。它最大的*区别是不用XML作为配置文件格式,采用了DSL格式,使得脚本更加简洁。 快捷键的改变比这个人觉得,这个才是我的重点痛点所在,习惯了Eclipse的各种快捷键各种插件之后。这里,我之前的习惯完全不适用了。虽然官方说有强大的提示功能,但是,个人感觉,其实上,在Eclipse中装个插件效果差不多。项目就总结了一下对比效果。 Android Studio 默认快捷键与Eclipse常用快捷键对比
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
相关文章推荐
- Java记录 -12- 方法重载与重写
- 如何构建自己的.jar文件
- Leetcode全排列问题Java版
- 汇总常见的JAVA错误
- JAVA生成给定范围内的不重复的随机数的几种方法
- 杭电ACM2051java做法
- java综合(五)spring与hibernate整合-事务
- JavaWeb应用中错误和异常处理方法研究
- 【java】基础问题
- 编译、解释与JIT
- date and time
- 省电管理之电源电量显示分析JAVA层
- Java使用SAX,XmlPull两种方式解析XML
- Java 中正确使用 wait, notify 和 notifyAll – 以生产者消费者模型为例
- java多线程 —— 为什么弃用stop和suspend
- [Java Concurrency in Practice]第七章 取消与关闭
- Struts(3)的工作机制及分析
- Struts(2)环境搭建
- SpringMVC详解(一)简介
- Spring MVC详解(二)Spring Web MVC是什么