上周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
这个大家都懂的,用VPN搞定。完整安装包可以用迅雷离线,会比较快。
步骤很简单:
File->New->New Projects
设置好代码路径
最后确定
这个时候编译还不能完全通过,会有一些错误。比如output路径需要设置。Android Studio会有提示,全部fix之后就可以了
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导入。

Android Studio使用Gradle来构建Android工程。
AndroidManifest.xml和Eclipse中是不一样的。SDK版本都被转移到了build.gradle文件中:
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 Studio的UI编辑器非常方便,可以实时预览:

在Eclipse中创建自定义View是很麻烦的,很容易出错。Android Studio中是完全自动创建的。只需要点击菜单New -> UI Component -> Custom View就可以了。

对应的文件会自动生成。
要发布app的人需要给apk签名。Android Studio里也是很简单的。



在Android工程中我们经常需要使用第三方的库或者源代码。在Android Studio中提供了3种添加依赖的方式。使用Ctrl+ALT+Shift+S打开工程属性,选择dependencies,可以看到:

Library dependency是从maven的仓库中添加依赖
File dependency是添加代码文件或者jar文件
Module dependency是在工程中创建一个module(比如Zxing的源码),并添加进来
先从GitHub获取源码:
git clone https://github.com/zxing/zxing
创建一个module:

导入Zxing源码:

添加module dependency:

创建一个简单的layout:
<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二维码:
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();
}
}
运行效果:

和Eclipse比,Android Studio是全新的体验。Android Studio在使用的时候偶尔会出现卡住,不过功能真的如Google说的非常强大,包含了各种有用的快捷方式,代码智能提示,代码分析等。在熟悉了操作之后,完全不会再想回到Eclipse了。
Google将专注于Android Studio,放弃Eclipse+ADT
原文:http://my.oschina.net/yushulx/blog/475769