所谓工欲善其事必先利其器,Android Studio就是Android Developer的利器。
Adroid Studio的在安装前必须要安装jdk1.7或者以上的版本,至于环境变量可以不用配置,直接在Android Studio指定jdk的绝对路径即可。
一、Android Studio的安装
在这一步中第1个是Android Studio的主程序,第2个是Android Studio对应版本的最新版本SDK,第三个和第四个是Android的虚拟机和虚拟机的加速程序。
其中1必选,234可以酌情选择。
这一步指的是设置虚拟硬件加速器的最大可使用内存。
这一步代表安装完成后第一次进入程序获取Android SDK组件信息,然后在Setup Wizard-DownLoading Components界面开始下载这些组件,由于地址被墙,最后会提示下载失败。这一步有两种解决办法,要么翻墙,要么跳过。跳过的方法是强制结束程序,然后用文档打开Android Studio目录下bin目录下的idea.properties文件,在末尾追加disable.android.first.run=true,再次打开程序。
在这一步下的Configure配置Android SDK 和jdk的绝对路径就可以创建项目了。要下载其他版本的SDK可以通过SDK Manager翻墙或者直接在网上下载SDK包。
二、基本用法
关于字体:代码字体设置File->Settings->Edit->Colors&Fonts,先Save as输入一个名字后才可以修改字体,Primary font修改的是字体样式,Size修改字体大小。
项目栏和工具栏等字体的要通过File->Settings->Preferences->Appearance的Size设置。
关于运行程序:运行时程序在模拟器还是在真机上可以通过Edit Configuratuons->Target Device选择,第一个是弹出选择框,其中的use some device for future launches指跟上一次运行的方式一样。第二个是通过usb在真机上运行,第三个是启动模拟器运行。
常用快捷键:
注释:Ctrl+/或者Ctrl+Shitf+/
方法参数信息:Ctrl+P
在方法间快速移动:Alt+Up/Down
折叠展开代码块:Ctrl+ '-'/Ctrl+'+'
三、Gradle浅析
Gradle是以Groovy为基础,面向java应用,基于DSL语法的自动化构建工具,google引入替换ant和maven的新工具,其依赖兼容maven和ivy。
主要有两个好处:
1.不用下载第三方库,直接在gradle中添加仓库依赖。
2.可以轻松打包各种版本的Apk。
Android Studio新建一个工程后默认生成两个build.gradle文件,一个在project目录下,一个在app目录下,另外project目录下还有一个setting.gradle文件。
project目录下的build.gradle作用域是整个project。
buildscript {
//构建过程依赖的仓库
repositories {
jcenter()
}
//构建过程需要依赖的库
dependencies {
//下面声明的是gradle插件的版本
classpath 'com.android.tools.build:gradle:1.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
//整个项目依赖的仓库
allprojects {
repositories {
jcenter()
}
}
app目录也是一个module,这就是说增加一个module,这个module目录下也会有build.gradle文件。
//声明插件,这个module是一个android程序,如果是android库,应该是com.android.library
apply plugin: 'com.android.application'
android {
//编译android项目时参数
compileSdkVersion 21 //编译版本
buildToolsVersion "21.1.2" //buildtool版本
defaultConfig { //默认配置,会应用到构建版本上
applicationId "com.example.lenovo.myapplication" //包名
minSdkVersion 15 //最小支持SDK版本
targetSdkVersion 21 //编译时的目标SDK
versionCode 1 //程序版本号
versionName "1.0" //程序版本名称
}
buildTypes {
//这里面可以配置构建版本的一些参数,比如混淆、签名配置等
release {
/release版本
minifyEnabled false //是否开启混淆
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'//混淆文件位置
}
}
}
dependencies {
//module依赖
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
}
setting.gradle用来声明加入project的module
include ':app', ':SlidingMenu-master'
project目录下的gradle.properties配置文件,可以在里面定义一些常量供build.gradle使用。
gradle wapper(gradlew,gradlew.bat)执行task会根据gradle文件夹下gradle-wapper.properties文件中的distributionUrl下载对应的gradle版本,这样可以保证在不同的环境下构建时gradle版本的统一,即使没有安装gradle在没有也可以,因为gradle wrapper会自动下载对应的gradle版本。(简单说就是可以不必事先下载gradle,并且可以统一gradle版本)。
四、导入jar包,仓库依赖和module依赖
1.导入jar包
将jar包放入app目录下的lib文件,右击选择“add as a library”。jar包不能使用UI资源,只能使用源码。
2.仓库依赖
gradle支持三种仓库Ivy仓库,Maven仓库和Flat Diectory本地仓库。
Ivy仓库和Maven仓库都有本地仓库和远程仓库。其中Maven仓库有一些常用的别名:mavenCenter,jCenter等。
比如导入Maven远程仓库依赖:
app目录下的build.gradle
dependencies {
compile 'com.github.lecho:hellocharts-library:1.5.8@aar'
}
3..module依赖
有时候github上没有提供仓库依赖的时候就需要我们将这个库下载下来导入project中。
如在Github上下载WilliamChart-master这个开源库,解压后发在project目录下
在project目录下的setting.gradle
include ':app', ':WilliamChart-master'
在app目录下的build.gradle
compile project(':WilliamChart-master')
接下来会遇到各种报错,需要手动去解决。
仓库依赖和module都是导入aar文件的方式,aar文件中包含有UI资源文件。