1,概述
在我写这篇博客的时候,android studio(名字太长了,按照我们一般的习惯,下面即以后我们就简称它为as吧,哈哈)已经比较成熟了,用的人好多,呵呵,既然大家都用它,那我也不能例外啊,对于我们这种程序员,没有一个好的IDE怎么行呢,eclipse很不错,但eclipse就像是一个见多识广的旅行者,而as就像是一个领域的专家,对于广度as对eclipse望尘莫及,而对于深度就要反过来了,对于我们搞android开发的人来说,我们更多的人会选择as,毕竟人家是这个领域的专家,as在这方面做得非常不错,这个也是我开始使用as后的感触,随着as的不断升级完善,谷歌渐渐放弃对eclipse的android支持,以后的android开发的趋势也是as,之前一直用的是eclipse,现在突然改到as,说实话,我还真有点不习惯了,毕竟eclipse陪伴我那么久了,但是eclipse并不是专门为开发android而设计的,我们在eclipse中开发android,而android开发在eclipse中就是它的一个插件,而ios有xcode,wp有Visual Studio,我们的android作为使用量第一的系统,难道我们只有android开发的插件吗,我们也要一个专门为android而设计的IDE,没错,我们android有as,当我第一次打开as界面的时候,一看,和我之前用的eclipse还真的大部分不一样(还是有很多相似的地方的),好了,下面让我们进入今天的正题,让我们来学习一下as的使用吧,让我们来体验as带给我们的精彩
as的安装与配置
进入android官网下载as,由于我用的比较晚,我的是1.2.2版本的,是当时最新的,下面的as使用是基于1.2.2版本的,下载安装就没什么,下面我们开始搭建我们的开发环境:
第一次打开as我们会看到这样一个页面
我们选择Project Defaults->Project Structure配置我们的sdk和jdk(系统会智能找到我们电脑上装的jdk和sdk),如果我们还没有装jdk,那么我们得先装jdk,然后配置环境变量,这个就不多说了,eclipse中也要求这样
这里如果我们没有配置jdk或者jdk没有配置环境变量或者环境变量配置错误,那么在使用as过程中无法运行app以及出现各种问题
- 从eclipse中导入项目到as中
- 在eclipse中选择要导出的项目,右键export,选择android->Gennerate Gradle build files
- 在as中把导出的项目引入进来就可以了
- as鼠标悬浮提示(需要在editor中配置)看下图
- 配置自动提示(Editor->General->Code complatioin)
- 配置不同IDE的快捷键,可以不用换掉我们以前习惯的快捷键,谷歌建议使用默认的快捷键,可以避免和已设置好的快捷键的冲突
- as中安装genymotion插件:
Settings->Plugins,在里面搜素Genymotion,然后在右边就会出现安装的按钮,as中想要安装的插件都可以在这里找,非常方便
如果我们上面都没问题,那么我们点击start a new Android Studio project进入我们的IDE页面
进入主界面后我们可以新建一个项目
File->New->New Project,看到下面的页面
点next进入下一步
我们选择手机的android版本,其他它的不管
谷歌的野心不仅仅是手机端,还包括wear(可穿戴,比如手表等等),auto(车载),google 云服务,tv,google play,chrome os,google想通过android系统建立上面一个完整的生态圈
选择好手机的sdk版本后点next进入activity模版选择,这里和eclipse一样,只不过eclipse中是以下拉列表的形式存在,我们选择默认的第一个next->finish,接下来我们等待项目的生成
项目生成后,我们可以看到我们项目的整体架构,发现和eclipse中android目录结构大不相同,
eclipse中app的配置是在一个清单文件AndroidManifest.xml
中统一管理的,我们发现as帮我们生成了一个manifests目录,我们简单看一下它的内容
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.administrator.myapplication" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
看了上面的文件后我们发现包名,activity配置什么的都有,怎么没有sdk的配置信息呢?
答案是as中把app的配置放在了两个文件中了,分别是AndroidManifest.xml
和build.gradle
文件中了,我们看一下build.gradle
:
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.example.administrator.myapplication"
minSdkVersion 19
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.1.1'
}
我们发现这里配置的sdk的信息,以及引用的类库jar包信息,我们知道了as中app的配置,下面我们来写一个简单的布局,来体验as对布局的优化
我们打开activity_main.xml,发现下面有两个选项卡,这和eclipse中的一样的,我们可以选择design和text,design和eclipse中一样,不过是把可拖拽进来的控件全展开了,这样可以方便我们找到我们要拖拽进来的控件,我们托进一个button,我们回想一下,我们在eclipse中修改一个button属性的时候,比如说我们修改button的margin值,我们修改完后想要知道我们修改的值是不是达到了我们要的效果,于是我们就要不断的切换编辑和预览选项卡,这样是不是有点麻烦呢,我们看一看as是怎么做的,我们推拽进去一个button后我们可以看到这样一个界面:
左边是编辑区,右边是预览区,我们修改marginTop的值,我们发现右边立马就显示了我们修改后的效果,这种时时渲染的功能极大的方便了我们调试页面,同时as中对app主题也做了优化,还支持多个屏幕同时预览我们页面的效果:
我们选择Preview All Screen Sizes
在这里我要说明一下,我们在上面选择了不同的主题后只是改变了我们预览时候的主题效果,并没有真正改变我们application或者activity的主题,这和eclipse是一样的,时时渲染,同时预览在多个屏幕感觉是不是有点逆天了,下面我们在代码中给我们的button加个背景
当我敲完最后一个颜色值的时候,在最左边我们可以看到一个小正方形,这里我要说明一下,这个小正方形的颜色会根据我们输入的值显示对应的颜色,我们点击这个小正方形就看到下图的颜色选择器
在这里我们选择我们要的颜色就可以了,关于as对布局的优化方面就说这些,当然as对布局做的优化远不至这些,剩下的就需要我们在使用的过程中不断的发掘了
as在代码方面也做了好多的优化,as的智能Lint则是非常有用的工具,我们以后要学会用as给我们提供的Lint工具对代码进行优化,使我们的代码变的更加优雅
Lint工具:
要运行Lint工具,大家首先需要在Android Studio的“Analyze”菜单中选择“Inspect Code…”。当Android Studio完成了对项目的检测之后,它会在窗口底部显示出分析结果。请注意,除了Android Lint之外,Android Studio还提供一系列其它检查功能。只需双击某个已经发现的问题,系统就会帮助大家定位到对应文件中存在问题的位置。
as的优点
- 基于Gradle的构建支持(eclipse基于ant的支持)
- Android特定重构和快速修复
- 更加丰富的模版代码,让创建程序更简单
- 提示工具更好地对程序性能,可用性,版本兼容和其他问题进行控制捕捉
- 直接支持ProGuard和应用签名功能
- 自带布局编辑器,可以让你拖放UI组件,并时时渲染,并在多个屏幕上进行预览
- 内置Google云支持
- 内置svn,git工具支持
- 支持插件,eclipse有的,这里基本都能找到,同时插件的安装更加方便快捷
总结,as是专门为开发android而生的,在以后as在开发android方面将代替eclipse,毕竟专家就是专家啊,所以我们要慢慢习惯as,并在使用as的过程中不断的发掘其中的精彩,下面我会附上as中的一些快捷键,也许不全,这是我从别人博客中复制下来放到了一个文件里面,方便以后在使用的过程中参考,在初次使用记不住这么多的快捷键,我们也不需要刻意的去记这些快捷键,因为我们用久了自然可以不用参考笔记了,当然如果你不想在用一套快捷键,那么你完全可以把eclipse的快捷键设置为as的快捷键