上周Android的官方博客发表声明:Google将在年底结束对Eclipse+ADT的开发以及停止支持,把重心完全转移到Android Studio。对于很多使用Eclipse的Android开发者而言,他们必须接受一个全新的IDE。按照Google的说法,Android Studio非常的智能和强大。这里分享下Android Studio的一些基本体验。
参考原文:Time to Migrate Android Projects to Android Studio
作者:Xiao Ling
翻译:yushulx
Android Studio下载安装
这个大家都懂的,用VPN搞定。完整安装包可以用迅雷离线,会比较快。
Eclipse ADT工程导入Android Studio
步骤很简单:
-
File->New->New Projects
-
设置好代码路径
-
最后确定
-
这个时候编译还不能完全通过,会有一些错误。比如output路径需要设置。Android Studio会有提示,全部fix之后就可以了
Android Studio中好用的快捷键
Android Studio打开的时候会自动跳出一些小技巧,可以学习下快捷方式:
-
Ctrl+ALT+Shift+N: 全局搜索任何符号
-
Ctrl+N: 全局搜索任何类
-
Ctrl+Shift+A: 查找菜单命令和工具栏功能
-
Alt+F7: 查找变量的使用
-
Ctrl+ALT+Shift+S: 打开工程属性
-
Ctrl+Shift+Enter: 输入圆括号后可以自动添加大括号
-
Alt+Enter: 自动修复错误
-
Ctrl+Alt+T: 自动添加一些代码模板,比如try/catch
-
Shift+Shift: 全局搜索各种文件,类,变量,等等
创建一个简单的工程
看一下Android Studio和Eclipse的一些差异
工程创建向导
File->New->New Project:
Android Studio会帮你选择目标设备
有各种Activity的模板可以选择。
如果要学习sample,可以从GitHub导入。
通过Gradle构建Android应用
Android Studio使用Gradle来构建Android工程。
AndroidManifest.xml和Eclipse中是不一样的。SDK版本都被转移到了build.gradle文件中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
apply plugin:
'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion
"22.0.1"
defaultConfig {
applicationId
"dynamsoft.com.demo"
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.2.0'
}
|
Android UI编辑器
Android Studio的UI编辑器非常方便,可以实时预览:
创建自定义View
在Eclipse中创建自定义View是很麻烦的,很容易出错。Android Studio中是完全自动创建的。只需要点击菜单New -> UI Component -> Custom View就可以了。
对应的文件会自动生成。
如何生成签名APK
要发布app的人需要给apk签名。Android Studio里也是很简单的。
Android Studio中如何添加依赖
在Android工程中我们经常需要使用第三方的库或者源代码。在Android Studio中提供了3种添加依赖的方式。使用Ctrl+ALT+Shift+S打开工程属性,选择dependencies,可以看到:
-
Library dependency是从maven的仓库中添加依赖
-
File dependency是添加代码文件或者jar文件
-
Module dependency是在工程中创建一个module(比如Zxing的源码),并添加进来
使用Zxing创建一个简单的QR code扫描应用
先从GitHub获取源码:
1
|
git clone https:
//github
.com
/zxing/zxing
|
创建一个module:
导入Zxing源码:
添加module dependency:
创建一个简单的layout:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
<
RelativeLayout
xmlns:android
=
"http://schemas.android.com/apk/res/android"
xmlns:tools
=
"http://schemas.android.com/tools"
android:layout_width
=
"match_parent"
android:layout_height
=
"match_parent"
android:paddingLeft
=
"@dimen/activity_horizontal_margin"
android:paddingRight
=
"@dimen/activity_horizontal_margin"
android:paddingTop
=
"@dimen/activity_vertical_margin"
android:paddingBottom
=
"@dimen/activity_vertical_margin"
tools:context
=
".MainActivityFragment"
>
<
EditText
android:layout_width
=
"fill_parent"
android:layout_height
=
"wrap_content"
android:id
=
"@+id/editText"
android:layout_alignParentStart
=
"true"
/>
<
Button
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:layout_below
=
"@id/editText"
android:text
=
"Generate QRCode"
android:id
=
"@+id/barcode_button"
/>
<
ImageView
android:layout_width
=
"400dp"
android:layout_height
=
"400dp"
android:layout_below
=
"@id/barcode_button"
android:id
=
"@+id/barcode"
android:background
=
"@color/abc_search_url_text_normal"
/>
</
RelativeLayout
>
|
使用QRCodeWriter生成QR二维码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
public
void
onClick(View v) {
String content = mEditText.getText().toString();
QRCodeWriter write =
new
QRCodeWriter();
try
{
int
width = mImageView.getWidth();
int
height = mImageView.getHeight();
BitMatrix bitMatrix = write.encode(content, BarcodeFormat.QR_CODE, width, height);
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
for
(
int
i =
0
; i < width; i++) {
for
(
int
j =
0
; j < height; j++) {
bitmap.setPixel(i, j, bitMatrix.get(i, j) ? Color.BLACK: Color.WHITE);
}
}
mImageView.setImageBitmap(bitmap);
}
catch
(WriterException e) {
e.printStackTrace();
}
}
|
运行效果:
Android Studio比较Eclipse
和Eclipse比,Android Studio是全新的体验。Android Studio在使用的时候偶尔会出现卡住,不过功能真的如Google说的非常强大,包含了各种有用的快捷方式,代码智能提示,代码分析等。在熟悉了操作之后,完全不会再想回到Eclipse了。