文档章节

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

yushulx
 yushulx
发布于 2015/07/07 17:15
字数 1055
阅读 1K
收藏 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
粉丝 30
博文 114
码字总数 64831
作品 0
杭州
私信 提问
加载中

评论(0)

Android与MINA2、Netty4的跨平台UDP双向通信实战

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

JackJiang-
2016/06/30
933
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
1.2K
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
330
0
史上最详细的Android Studio系列教程一--下载和安装

背景 相信大家对Android Studio已经不陌生了,Android Studio是Google于2013 I/O大会针对Android开发推出的新的开发工具,目前很多开源项目都已经在采用,Google的更新速度也很快,明显能感觉...

让代码飞一会
2015/07/05
485
0

没有更多内容

加载失败,请刷新页面

加载更多

四个步骤,学会单片机

有很多想学习单片机的朋友,但是不知道怎么入门,今天来讲讲我学习单片机的一些感受以及方法。由于单片机是一门要求动手的技术,所以,建议先确定所要学习单片机的型号,然后选用一块开发板,...

demyar
7分钟前
10
0
Nginx 配置获取用户真实IP

server { listen 80; server_name baidu.com; location / { if ($http_user_agent !~* (mobile|nokia|iphone|ipad|android|samsung......

牛A和牛C之间的我
9分钟前
5
0
Tower for Mac(强大的Git客户端) v4.3

Tower mac版是Macos上一款强大的Git客户端,具有强大的Git资源库管理、版本控制、分支管理等等,已被很多知名公司使用,并且能够和Xcode、GitHub、Beanstalk、BBEdit等软件无缝结合使用 . 功...

麦克W
10分钟前
9
0
Android知识体系总结2020之Android部分网路编程篇

1.计算机网络基础 计算机网络基础 2.网络数据解析 网路数据解析篇 3.Android网络编程 HttpClient和HttpURLConnection【比较过时,了解即可】 OkHttp Retrofit...

ClAndEllen
11分钟前
6
0
leaflet常用插件

1、常用地图切换加载(osm、google、baidu、gaode、tianditu.etc) https://github.com/htoooth/Leaflet.ChineseTmsProviders 2、切片地图加载(wmts)(支持矢量切片) https://github.com...

东东笔记
11分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部