版本:Android Studio1.3,Windows系统

截止到2015年8月1号,Android Studio已经更新到正式版的1.3版本了。之前一直用Eclipse开发(简称ec),也没考虑用Google自家的IDE,而且当时还没有发布正式版本。但现在Google一直竭力推荐的IDE也要成为以后开发Android的热门工具,而且像GitHub等开源社区也都在使用Android Studio,大家都亲切地叫他as,所以以后有人跟你说as的时候不要再用茫然的眼神问人家as是什么东东了。

Android Studio基于IntelliJ IDEA(我猜是IntelligenceJava Integrated Development Environment Architecture “智能Java集成开发环境架构”的简称),使用更加灵活的Gradle构建系统。Android Studio的目录结构和Eclipse有很大不同。在Eclipse中我们会在一个Workspace工作区中新建好几个工程(Project),但在Android Studio中一个AS窗口只能新建一个Project,但这个Project下面可以有多个Module,Module可以是一个完整的应用。不必纠结Android Studio中的Project相当于Eclipse中的什么,我们只需要组建好一个完整的Project就行了。下面是官网的对于EC和AS项目结构的对应图:

Eclipse ADT Android Studio
Workspace Project
Project Module
Project-specific JRE Module JDK
Classpath variable Path variable
Project dependency Module dependency
Library Module Library
AndroidManifest.xml app/src/main/AndroidManifest.xml
assets/ app/src/main/assets
res/ app/src/main/res/
src/ app/src/main/java/
tests/src/ app/src/androidTest/java/

还有工程视图(Project View)的对比:

Eclipse ADT Android Studio Project View Android Studio Android View
Android Studio的使用_第1张图片 Android Studio的使用_第2张图片 Android Studio的使用_第3张图片

其实工程视图和文件系统的目录结构基本一致:

Android Studio的使用_第4张图片


谷歌说,为了更加灵活地进行构建、定制想要的输出,将AndroidManifest.xml文件中的部分元素(比如编译版本、应用id等)拿出来,放到build.gradle文件defaultConfig块和productFlavors块的属性中。

目录及文件的作用:

①build.gradle(Project: HelloAndroid)

工程范围内的构建脚本。主要是指定maven仓库,要依赖的gradle插件。

// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {    repositories {        jcenter()    }    dependencies {        classpath 'com.android.tools.build:gradle:1.2.3'        // NOTE: Do not place your application dependencies here; they belong        // in the individual module build.gradle files    }}allprojects {    repositories {        jcenter()    }}

②build.gradle(Module: app)

模块范围内的构建脚本。主要是指定构建插件,android程序构建设置,以及依赖的库。

apply plugin: 'com.android.application'android {    compileSdkVersion 22    buildToolsVersion "22.0.1"    defaultConfig {        applicationId "com.smc.helloandroid"        minSdkVersion 15        targetSdkVersion 22        versionCode 1        versionName "1.0"    }    buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        }    }}dependencies {    compile fileTree(dir: 'libs', include: ['*.jar'])    compile 'com.android.support:appcompat-v7:22.2.1'}

③gradle.properties(Globle Properties)

全局的Gradle设置。

org.gradle.daemon=true

④proguard-roles.pro(ProGuard Rules for app)

指定应用程序的混淆规则。

# Add project specific ProGuard rules here.# By default, the flags in this file are appended to flags specified# in D:\Program Files\Java\Android\sdk/tools/proguard/proguard-android.txt# You can edit the include path and order by changing the proguardFiles# directive in build.gradle.## For more details, see#   http://developer.android.com/guide/developing/tools/proguard.html# Add any project specific keep options here:# If your project uses WebView with JS, uncomment the following# and specify the fully qualified class name to the JavaScript interface# class:#-keepclassmembers class fqcn.of.javascript.interface.for.webview {#   public *;#}

⑤gradle.properties(Project Properties)

工程范围内的Gradle设置。

# Project-wide Gradle settings.# IDE (e.g. Android Studio) users:# Gradle settings configured through the IDE *will override*# any settings specified in this file.# For more details on how to configure your build environment visit# http://www.gradle.org/docs/current/userguide/build_environment.html# Specifies the JVM arguments used for the daemon process.# The setting is particularly useful for tweaking memory settings.# Default value: -Xmx10248m -XX:MaxPermSize=256m# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8# When configured, Gradle will run in incubating parallel mode.# This option should only be used with decoupled projects. More details, visit# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects# org.gradle.parallel=true

⑥settings.gradle(Project Settings)

指定要构建的子工程(模块)。

include ':app'

⑦local.properties(SDK Location)

为构建系统指定计算机特定属性,例如SDK安装目录。

## This file is automatically generated by Android Studio.# Do not modify this file -- YOUR CHANGES WILL BE ERASED!## This file must *NOT* be checked into Version Control Systems,# as it contains information specific to your local configuration.## Location of the SDK. This is only used by Gradle.# For customization when using a Version Control System, please read the# header note.#Wed Aug 05 20:12:26 CST 2015sdk.dir=D\:\\Program Files\\Java\\Android\\sdk


描述:

.idea

存放IntelliJ IDEA设置的目录。比如说你的工程哪个文件被打开了,当前阅读到第几行啊,工作区的字符编码是什么啊等等都会存储下来。

app

存放应用程序模块的文件的目录。

build

存放工程所有模块构建输出的目录。

gradle

存放gradle-wrapper文件。

.gitignore

指定Git应该忽略跟踪的文件。

build.gradle

构建系统的定制。你可以编辑这个文件来指定应用程序模块默认的构建设置,也可以设置keystore和key alias的路径以便构建工具能在发行模式构建时对你的应用进行签名。该文件是工程的组成部分,所以保持它在一个源码修订控制系统(source revision control system)。

gradle.properties

工程范围内的Gradle设置。

gradlew

Unix的Gradle启动脚本。

gradlew.bat

Windows的Gradle启动脚本。

local.properties

为构建系统指定计算机特定属性,例如SDK安装目录。由于文件中指定了SDK的本地安装目录,,local.properties就不应该包含在源码修订控制系统(source revision control system)中。

settings.gradle

指定要构建的子工程(模块)。

.iml

由IntelliJ IDEA创建的模块文件来存储模块信息。


快捷键:

快速打开某个类(class):ctrl+n

快速打开其他文件:ctrl+shift+n

代码补全:ctrl+空格 给变量起名时可以用

查找类/方法/变量在整个工程中出现的位置:alt+f7

快速预览类/方法文档描述:ctrl+q

跳转到类/方法/变量的定义处:ctrl+bctrl+左键单击 快速预览其定义或内容(ctrl+shift+i

在当前编辑的文件中快速导航:ctrl+f12 然后按enter或f4确定选中,可直接通过拼写快速定位。

重命名类/方法/变量:shift+f6

重写类的方法:ctrl+o

实现接口的方法:ctrl+i

智能类型补全:ctrl+shift+空格 在new语句、return语句、赋值语句、回调函数的参数列表等地方使用。快速强制类型转换(在“(”后面按ctrl+shift+空格)

自动生成Constructor、Getter等方法:alt+insert

包裹if、try/catch等语句块:ctrl+alt+t 快速完成结构(ctrl+shift+enter

跳转到抽象方法的实现:ctrl+alt+b

快速选中逻辑区域:ctrl+w 或 左键双击 可以多次按ctrl+w来扩展选中的区域

提取出变量来简化复杂语句:ctrl+alt+v

注释:ctrl+/ 或 ctrl+shift+/ ctrl+/进行单行注释或解注释,ctrl+shift+/是多行

快速复制粘贴:ctrl+d 没选中任何块时就复制当前行

回到上次更改代码的地方:ctrl+shift+backspace 可多次按

最近浏览的文件:ctrl+e

删除所有不必要的换行和空格:ctrl+shift+j

上下移动代码:ctrl+shift+↑ctrl+shift+↓


更多相关文章

  1. Android Eclipse JNI 调用 .so文件加载问题
  2. Android之Layout资源文件
  3. Android实战技巧:使用原始资源文件
  4. Android 工程的创建

随机推荐

  1. Android拨打电话 安卓拨打电话权限
  2. android中的定时任务AlarmManager
  3. android make-standalone-toolchain.sh
  4. Android双向seekbar
  5. android监听音量上下键调节音量
  6. Android情景模式、文件管理器 完整示例编
  7. Android使用adb命令行卸载手机设备上的应
  8. Android EditText 自动拼写检查报错:andr
  9. Android权限获取机制与常见权限不足问题
  10. Android判断网络状态