文档章节

Google将专注于Android Studio,放弃Eclipse+ADT

yushulx
 yushulx
发布于 2015/07/07 17:15
字数 1055
阅读 962
收藏 31

上周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

步骤很简单:

  1. File->New->New Projects

  2. 设置好代码路径

  3. 最后确定

  4. 这个时候编译还不能完全通过,会有一些错误。比如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文件中:

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获取源码:

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();
    }
}

运行效果:

Android Studio比较Eclipse

和Eclipse比,Android Studio是全新的体验。Android Studio在使用的时候偶尔会出现卡住,不过功能真的如Google说的非常强大,包含了各种有用的快捷方式,代码智能提示,代码分析等。在熟悉了操作之后,完全不会再想回到Eclipse了。


© 著作权归作者所有

yushulx
粉丝 29
博文 109
码字总数 61815
作品 0
杭州
私信 提问
Android与MINA2、Netty4的跨平台UDP双向通信实战

概述 本文演示的是一个Android客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo。 当前由于NIO框架的流行,使得开发大并发、高性能的互联网服务端成为可能。...

JackJiang-
2016/06/30
881
1
Android studio来了时候可以抛弃Eclipse+ADT了?

Android studio来了时候可以抛弃Eclipse+ADT了?

eechen的粉丝
2013/05/16
4.5K
9
Windows环境下Android Studio系列1—下载与安装

参考资料 [1] Windows环境下Android Studio v1.0安装教程, http://ask.android-studio.org/?/article/9 [2] stormZhang的Android Studio系列教程一--下载与安装, http://stormzhang.com/dev......

一配
2015/06/16
1K
0
Android Studio系列教程一--下载与安装

转自:http://stormzhang.com/devtools/2014/11/25/android-studio-tutorial1/ 背景 相信大家对Android Studio已经不陌生了,Android Studio是Google于2013 I/O大会针对Android开发推出的新的......

farina
2016/05/23
284
0
Google计划放弃Eclipse转向支持Android Studio

为了简化 Android 的开发力度,Google 决定将重点建设 Android Studio 工具。Google 会在今年年底停止支持其他集成开发环境,比如 Eclipse。 Android Studio 是第一个官方的 Android 开发环境...

oschina
2015/06/27
16.2K
89

没有更多内容

加载失败,请刷新页面

加载更多

sync.Mutex 互斥锁

说明: 互斥锁用来保证在任一时刻,只能有一个例程访问某对象。Mutex 的初始值为解锁状态。Mutex 通常作为其它结构体的匿名字段使用,使该结构体具有 Lock 和 Unlock 方法。Mutex 可...

李琼涛
30分钟前
7
0
自建redis笔记

自建redis笔记 最近在linux安装了一下redis,特做一些笔记! 本文先单节点启动redis,然后再进行持久化配置,在次基础上,再分享搭建主从模式的配置以及Sentinel 哨兵模式及集群的搭建 单节点...

北极之北
33分钟前
4
0
扛住阿里双十一高并发流量,Sentinel是怎么做到的?

Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景 本文介绍阿里开源限流熔断方案Sentinel功能、原理、架构、快速入门以及相关框架比较 基本介绍 1 名词解释 服务限流 :当系统资源...

分布式系统架构
35分钟前
6
0
事假杨晨龙(Z16021)月薪请假单

svn co URL --username xxx-- password yyy ./

桃花飞舞
58分钟前
7
0
当Activity关闭后,网络请求回调的处理

当我们在使用网络请求的时候,一般都是通过回调来获取请求到的数据。对于网络请求的回调需要注意的几个点 比如我们的回调在Activity中处理数据,当我们把Activity关闭后,如果获取到数据时,...

shzwork
59分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部