转载自:http://blog.csdn.net/yzzst/article/details/48002187
工程结构目录 工程目录结构的改变,确实让我在一开始使用的时候摸不着头脑。连代码在哪里写都搞不清楚,libs库该添加在哪里也不好说。 Eclipsed Eclipse把所有的Android项目资源都放到了一级目录下,而且是固定的。如下,就是一个Eclipse的常见App工程目录截图。 这个我不做过多的说明了,估计大家都清楚。 Android Studio Android Studio的目录结构,发生了变化,即把所有的代码、编译风格、AndroidManifest.xml资源都放置到了src目录下。如下图所示: ![](https://img-blog.csdn.net/20150827150641074) 很明显,Android Studio不再以代码的功能逻辑来做一级目录区分,而是以:
- 构建模块(gradle)
- 代码逻辑模块(src)
- 第三方库模块(libs)
- 编译输出模块(build)
构建的方式来作为区分。
Project -> Modules、Workspace -> Project 在Eclipse中,最常见的就是Workspace了,已进入就让你选择。如下图所示: ![](https://img-blog.csdn.net/20150827151608224) 我们再熟悉不过了,对于Eclipse来说,一个Workspace就是对应PC上的一个文件夹目录而已。其中可以保存我们的很多项目,已经我们在开发中对Eclipse的依赖关系和配置逻辑。
而在Android Studio中,没有什么Wordspace的概念,只有一个Project的概念,很像Xcode的方式。一个项目就是一个Project,里面有可能有一个或者多个工程。但是,每个工程都是和这个Project相关的。
这里所说的Project和Eclipse中的Project不一样
![](https://img-blog.csdn.net/20150827152816460) Modules Modules是Intellij提出来的一个新的概念,即“一种独立的功能单元,可以运行、测试并且独立调试”和Eclipse project的概念有点像,但有几点不同。
- 每一个Module需要有属于自己的Gradle build
file(当你新建一个Module时会自动帮你生成的,当你导入一个Eclipse的项目时需自己创建)。这些Gradle文件包含了一些很重要的内容,比如所支持的安卓版本和项目依赖的东西,以及安卓项目中其它重要的数据。 - 和Eclipse上的一样,一些Modules可能是”Library Modules”,功能上与”Library projects”一样的。
Ant/Maven -> Gradle
-
Ant是最早的构建工具,基于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常用快捷键对比
Android Studio | 含义 | Eclipse | 备注 |
---|
Ctrl + Alt + L | 格式化代码 | Ctrl + Shift + F | 貌似对//注释无效 | Shift + Enter | 任意位置换行(往下添加空行) | Shift + Enter | | Alt + / | 代码提示 | Alt + / | AS默认(Ctrl + Space)与Windows输入法切换快捷键冲突,自行设置为其他 | Ctrl + Y | 删除当前行 | Ctrl + D | | Ctrl + Shift + Enter | 完成代码 | 无 | 补充剩余代码和”;” | Ctrl + Shift + F10 | 运行当前项目 | Ctrl + F11 | | Shift + Alt + Up/Down | 当前行、选中行向上/向下移动 | Alt + Up/Down | 可以任意移动 | Ctrl + Shift + Up/Down | 效果同上一条,有个限制见备注 | 无 | 无法移出语句当前所在代码块,注释也一样 | Ctrl + C | 复制当前行或选中内容 | 无 | 没选中内容的情况下,复制当前行 | Ctrl + D | 粘贴当前行到下一行 | Alt + Down | | Ctrl + X | 剪切当前行或选中的内容 | 无 | | Alt + Enter | 自动修正 | Ctrl + 1 | | Ctrl + Alt + O | 自动导入需要的包和删除多余的包 | Ctrl + Shift + O | | Ctrl + Enter | 在当前行的上一行插入新行,光标在行首时有效 | ? | 光标不在行首时与普通Enter一样 | Ctrl + / | “//”单行注释 | Ctrl + / | | Ctrl + Shift + / | /* … */ 添加(取消)多行注释 | Ctrl + Shift + / | | Ctrl + Backspace | 按单词删除 | 无 | 在要删除的单词后面使用,直接删除光标前的一个单词 | Alt + Left/Right | 切换代码视图 | Alt + Left/Right | | | | | |
---|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |