配色: 字号:
Android Studio重构之路,我们重新来了解一下Google官方的Android开发工具
2016-10-10 | 阅:  转:  |  分享 
  
AndroidStudio重构之路,我们重新来了解一下Google官方的Android开发工具
AndroidStudio,自Google2013年发布以来,就倍受Android开发者的喜爱,我们本书,就是基于AndroidStudio来进行案例演示的,大家都知道,AndroidStudio的前身是基于IntelliJIDEA,而在此之前,我们开发Android一直以来都是以Eclipse用ADT插件的形式来开发了,可能也是Android的不断壮大,Google决定像苹果的Xcode或者微软的VisualStudio一样,也给自家的产品开发一套定制工具,所以AndroidStudio应运而生,现阶段,AndroidStudio正式版已经更新到2.X版本了,各方面的性能已经很稳定了,这就是我们用它来开发的理由
1.1官方简介

既然要使用AndroidStudio,所以我还是建议先看一下官方的介绍,这样,我们在后面讲一些使用方法的时候,就可以轻车熟路了
1.1.1智能代码编辑器


AndroidStudio的核心是一个智能代码编辑器,可进行高级代码完成、重构和代码分析。

这款功能强大的代码编辑器可帮助您成为更高产的Android应用开发者。
1.1.2代码模板和GitHub集成

新项目向导让开始一个新项目变得前所未有的简单。

可使用适用于不同模式(如抽屉式导航栏和视图分页器)的模板代码开始项目,甚至可以从GitHub导入Google代码示例。
1.1.3多屏幕应用开发


构建适用于Android手机、平板电脑、AndroidWear、AndroidTV、AndroidAuto以及GoogleGlass的应用。

AndroidStudio内全新的Android项目视图和模块支持让应用项目和资源管理变得更加轻松。
1.1.4用于模拟所有形状和尺寸的虚拟设备


AndroidStudio预先配置了经过优化的模拟器映像。

经过更新和精简的虚拟设备管理器可为常见Android设备提供预定义设备配置文件。
1.1.5Android版本借助Gradle演进

使用同一项目为您的Android应用创建多个具有不同功能的APK。

使用Maven管理应用依赖项。

使用AndroidStudio或命令行构建APK。
1.1.6总结

这款由JetBrains推出并广受欢迎的JavaIDE以IntelliJIDEACommunityEdition为基础构建
基于Gradle的灵活构建系统
构建变体和多APK生成
为Google服务和各种设备类型提供扩展模板支持
支持主题编辑的富布局编辑器
可捕捉性能、可用性、版本兼容性以及其他问题的Lint工具
ProGuard和应用签名功能
内置对Google云平台的支持,可轻松集成GoogleCloudMessaging和应用引擎
1.2下载安装

AndroidStudio的下载还是很简单的,不光官方可以下载,还有很多国内的资源网站都是可以下载的

官方地址:http://developer.android.com/sdk/index.html

但是这里还是要注意一下下载的版本

这里MAC和Linux平台都是只有一个下载,但是Windows,却有三个,这里要说明一下这三个的区别了
AndroidStudio安装包集成了SDK
AndroidStudio安装包
AndroidStudio包解压就能用
前两个分别是一个带有SDK,一个没有,第三个,他不需要安装,下载下来解压,就可以使用了,而且他有两个启动器,一个32位的,一个64位的

我们以集成了SDK的安装包为例,来演示一下怎么安装,其实也不难,只要你双击打开安装包,一直点下一步,中途会提示你是否导入项目,选择SDK的路径,下载一些需要的SDK支持包,就可以了,然后,我们的AndroidStudio就安装完成了

1.3配置设置

一款好的IDE,强大的前提下,还得符合自己的编码风格,所以,我们要对她进行一些设置,这样,才能体验到他的强大性
1.3.1主题

AndroidStudio的黑色主题还是非常的符合程序员的风格的,所以很多人也会选择这个风格,我们进入设置(工具类上扳手图标),这里Theme默认是Default我们这里选择Darcula,然后点击Apply就可以应用这个黑色主题了

1.3.2编码风格

我们在编写代码的时候,一些字体颜色大小之类的都是要值得注意的地方,包括代码显示行数也能帮助我们调试bug
字体大小
我们进入Settings-Editor-Colors&Fonts-Font下,默认的两种主题我们是没办法修改的,我们需要自定义一个主题然后就可以修改了,操作如下:我们点击SaveAs,提示你命名,你随便写个名字,就可以看到如图1.3.2所示

这里的Primaryfont是字体,你可以选择自己喜欢的字体,Size为字体大小,LineSpacing是行距

当然,你也可以在Colors&Fonts目录下看到很多的设置,比如ConsaleFont控制台字体大小什么的,这个这里就不多赘述了
自动导包

手动导包还是有点麻烦的,我们本着能省就省的原则,设置一下自动导包的功能,路径为:Settings-Editor-General-AutoImport选项下,勾上以下几个选项
XML
showimportpopup
JAVA
insertimportsonpaste选择none
showimportpopup
optimizeimportsonthefly
addunambiguousimportsonthefly
C/C++
showimportpopup
显示代码行数

这个功能也是很重要的,我们可以勾选Settings-Editor-General-Appearance-showlinenumbers就可以了
1.3.3智能化

这里我们可以来设置AndroidStudio的智能化来设置快捷键,自动代码提示,自动代码补全等功能
快捷键

AndroidStudio快捷键相较于Eclipse还是做了一些改动的,但是,Google做的很灵活,他提供了快捷键的选择,我们进入Setting-keymap里选择Eclipse,熟悉的快捷键就回来了
代码自动提示

代码自动提示设置起来也很方便,Eclipse上,你鼠标悬浮在代码上会弹出提示框,但是再AndroidStudio默认是没有的,因为如果电脑配置不是很高的话,这样会让界面很卡,如果你想打开这个功能我们可以进Settings-Editor-General,把showquickdoconmousemove勾上就可以了
不区分大小写

AndroidStudio在默认是区分大小写的,也就是你输入代码的时候如果你输入小写,可能代码不会提示,当然,我们也是可以设置不区分的,在Settings-Editor-General-CodeCompletion中,Casesensitivecompletion选择none就可以了
取消载入

这个功能我觉得特别棒,比如我正在做A的项目,然后关掉AndroidStudio,等下次进来的时候打开AndroidStudio他会自动载入这个A项目,但是我其实想去做B项目的,所以我们取消这个功能,让他每次都进入主页供我们项目选择,也很简单,进入Systems-SystemSettings下,把Reopenlastprojectstartup的勾去掉即可
1.3.4Log

在开发中,Log是必不可少的一个环节,他可以反馈很多程序中的信息来帮助我们开发以及调试bug,所以现在网上也是有很多log的框架和工具类,在AndroidStudio中默认的Log其实不算是很清晰,我们可以自己给Log设置一些颜色来改变他的反馈交互,我们进入Settings-Editor-Colors&Fonts-AndroidLog下,我们可以看到各个等级的Log,只要我们把UseInberitedattributes的勾去掉,就可以更换颜色了,这里,提供一套我的配色方案供大家参考
VERBOSEbfb9b9
DEBUG0374c0
INFO4bc332
WARNc6c61e
ERRORFF0006
ASSERTa00308
1.3.5导出/导入Settings

AndroidStudio每次安装都要设置这么多配置,着实让人头疼,这就又引出AndroidStudio的一个人性化的设计了,他可以把设置到处成jar包的形式保存起来,你要是新安装的AndroidStudio,可以直接导入这个jar,就不用这么浪费时间的去配置了,方法很简单,我们菜单栏-File
ImportSettings导入设置
ExportSettings导出设置
1.3.6插件

AndroidStudio的插件还是非常方便我们进行开发的,不得不在一次感叹AndroidStudio的强大,比如Gsonformat,butterknife等,我们这里稍微介绍一下安装插件的几种方式,我们进入Settings-Plugins

这里显示的是你安装的插件列表,下面三个按钮分别是
installletBrainsplugin…官方插件
Browserepositories…第三方插件
installpluginfromdisk…本地插件
官方/第三方安装

我们点击installletBrainsplugin/Browserepositories,这里是一个搜索页面,我们以Gsonformat为例,搜索Gsonformat。然后点击install,安装完成之后,我们就可以在列表中看到Gsonformat的身影了,第三方插件方法是一样的
本地插件安装

安装本地插件其实就是导入,插件以jar或者zip的形式存在,我们只要点击installpluginfromdisk,我们选中插件即可
1.4Gradle

Gradle是什么?Gradle是AndroidStudio项目的构建系统,是以Groovy语言为基础,面向Java应用为主,基于DSL(领域特定语言)语法的自动化构建工具,所以这就出现了AndroidStudio的项目结构和Eclipse的不一样了,我们具体来看一下,我们在项目的GradleScripts文件下可以看到
图1.4.1

这些就是我们项目构建之后的一些Gradle配置清单,我们来具体的了解一下这些文件夹是干什么的
build.gradle构建文件
build.gradle模块构建文件
gradle-wrapper.propertiesGradle相关配置文件
proguard-rules.pro混淆文件
gradle.propertles配置文件
setting.gradle设置配置文件
local.propertlessdk,ndk配置文件
而我们所要了解的也不是说全部,只要了解一下构建文件和模块构建文件就可以,我们会看一下构建文件里面都有些什么
//Top-levelbuildfilewhereyoucanaddconfigurationoptionscommontoallsub-projects/modules.

buildscript{
repositories{
jcenter()
}
dependencies{
classpath''com.android.tools.build:gradle:2.1.0''

//NOTE:Donotplaceyourapplicationdependencieshere;theybelong
//intheindividualmodulebuilwww.shanxiwang.netd.gradlefiles
}
}

allprojects{
repositories{
jcenter()
}
}

taskclean(type:Delete){
deleterootProject.buildDir
}

这里面,就是一个标准的Gradle构建系统的代码,我们来看
jcenter()存储库可以更换
classpath依赖的Gradle版本
repositories所有项目的存储库
我们再来看一下模块构建系统
applyplugin:''com.android.application''

android{
compileSdkVersion23
buildToolsVersion"23.0.3"

defaultConfig{
applicationId"com.lgl.helloandroid"
minSdkVersion15
targetSdkVersion23
versionCode1
versionName"1.0"
}
buildTypes{
release{
minifyEnabledfalse
proguardFilesgetDefaultProguardFile(''proguard-android.txt''),''proguard-rules.pro''
}
}
}

dependencies{
compilefileTree(dir:''libs'',include:[''.jar''])
testCompile''junit:junit:4.12''
compile''com.android.support:appcompat-v7:23.3.0''
}

这里,我们就要多关注一下了
applyplugin:声明一个工程的类型
compileSdkVersion:最高API
buildToolsVersion:编译工具版本
applicationId:包名
minSdkVersion:最小API
targetSdkVersion:编译版本
versionCode:版本号
versionName:版本号(细分)
buildTypes:构建类型
minifyEnabled:是否压缩apk
proguardFilesgetDefaultProguardFile:混淆配置文件
dependencies:依赖配置
compilefileTree:依赖二进制文件
compile:远程二进制依赖
1.5多渠道打包

国内的Android市场那么多,为了统计每个渠道的下载及其它数据统计,就需要我们针对每个渠道单独打包,如果让你打几十个市场的包岂不累死了,不过我们上节看了Gradle,这就不算什么事情了,这里也就衍生出一个新词汇——多渠道打包,顾名思义,就是一键打包多个渠道,关于多渠道打包使用的平台和工具网上也是有比较多的,貌似用的比较多的是友盟,详情大家自己去友盟的官网上看看吧!

AndroidManifest.xml中修改以下值:


meta-data修改以下的样子:
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}"/>

其中${UMENG_CHANNEL_VALUE}中的值就是你在gradle中自定义配置的值。

build.gradle文件就利用productFlavors这样写:
productFlavors{

wandoujia{
manifestPlaceholders=[UMENG_CHANNEL_VALUE:"wandoujia"]
}

baidu{
manifestPlaceholders=[UMENG_CHANNEL_VALUE:"baidu"]
}

c360{
manifestPlaceholders=[UMENG_CHANNEL_VALUE:"c360"]
}

uc{
manifestPlaceholders=[UMENG_CHANNEL_VALUE:"uc"]
}

}

其中[UMENG_CHANNEL_VALUE:“wandoujia”]就是对应${UMENG_CHANNEL_VALUE}的值。

其实上面的代码还是有点多余,我们可以缩减

productFlavors{

wandoujia{}
baidu{}
c360{}
uc{}

productFlavors.all{flavor->
flavor.manifestPlaceholders=[UMENG_CHANNEL_VALUE:name]
}

}

1.5.1传统打包方式

我们来熟悉一下传统的打包方式,用过Eclipse的同学应该知道,在Eclipse里,我们只要ExportAndroid就可以打包一个项目,其实AndroidStudio的方式也是类似,菜单栏——Build——GenerateSignedAPK

这里要填写的其实和Eclipse差不多的,首先是KeyStore的路径,我们没有,所有点Createnew来创建

我们把路径,密码什么的填好之后,按OK,现在他会帮我们自动填充了,如果没有,你就自己输,然后next,然后finish就可以了

我们可以到app目录下找到我们打包的apk,同时也可以在我们指定的位置找到我们的签名文件xxx.jks
献花(0)
+1
(本文系网络学习天...首藏)