安卓进阶利器安卓Android开发那些事

Android Studio高级配置

2016-04-12  本文已影响3470人  IT程序狮

作者:liukun
原文地址:
http://liukun.engineer/2016/04/10/Android-Studio-advanced-configuration/

本文主要内容来自Dmytro Danylyk 在Medium 的文章Configuring Android Studio。在此感谢!虽然使用 Android Studio 有一定的时间了,但文中的某几个设置之前还真不知道,且原文在长城外,因此在翻译原文的基础上作了一些补充,若有新的发现会即时更新。希望对大家尤其是刚接触 Android Studio 的朋友有一点帮助。

前面的话

Android Studio 提供了一个非常方便的功能帮助我们导入或者导出设置。因此我们在安装一个新的Android Studio 的时候通常会导入一个之前的设置。但是,最近发生了一件操蛋的事情-我丢失了我的设置文件(幸灾乐祸点个赞~)。

我的建议:即时的备份你的设置文件到云盘等地方。

当我在配置我的 Android Studio 的时候,下面的一些配置或许对你有一定的帮助。

显示行号

当我首次启动我的 Android Studio 的时候,我想做的第一件事就是希望能看到文件中的行号,我一直很奇怪这个基本的配置为毛不是默认开启的?!对此我只想说四个字:

未显示行号 显示行号

配置方法

设置

ps:在编辑区域最左侧右键选中Show line numbers也可以让当前打开的文件显示行号,不过这是一个临时设置,当前文件关闭后便失效。

驼峰选择

Android 开发中,我们通常会使用驼峰命名法对变量进行命名,但是当我们通过Ctrl + Left/ Right键改变字符选择区域的时候 Android Studio 默认不支持‘驼峰’单词的选择。

不支持驼峰选择 支持驼峰选择

配置方法

设置

注意:如果你仍然希望当鼠标在单词上双击之后选中整个单词,需要作如下设置:

命名前缀

我们通常会遵循 Android 官方关于编码风格的指导来进行字段命名。在 Android 源码中我们可以看到通常成员变量都是以‘m’开始。其实 Android Studio 可以自动在帮我们生成字段名称的时候加上自定义的前缀,如:

命名前缀

配置方法

设置

快速导包

在 Android Studio 中,我们可以通过Alt + EnterControl + Alt + O进行导包和清除无用导包,但我们都生活在2016年了,这些事情应当快速自动完成。

未开启imports on the fly 开启imports on the fly

配置方法

设置

Log 颜色

Darcula 主题中 Logcat 的默认配色只有红白两种颜色,不太便于我们区分Log 的类型。

Darcula 主题配色

我建议大家采用之前 Android Holo 主题那种鲜明的配色。

Holo 主题配色

配置方法


下面是个人的一些补充:

代码配色

Android Studio 中默认的代码配色个人感觉已经很和谐,但这个东西仁者见仁。比如有的朋友会觉得 java 代码中局部变量的默认的白色不太便于快速与其它代码进行区分,这时候就需要自定义 java 代码颜色,这里以局部变量为例。

默认配色 自定义配色

配置方法

设置

工程模板

Android Studio 创建Module时并没有将 Android 开发中常用的文件目录全部生成,比如默认只生成了一个drawable文件夹,常用的drawable-hdpi等文件夹需要我们自己创建。正如前文的作者所言,这都2016年了,这些事情应该自动完成,毕竟我们都很‘懒’!

默认结构 自定义结构

配置方法1

配置方法2

这两种方法的区别是,第一种方式可以在文件夹中加入相应的图片,但是配置稍显繁琐,第二种方式配置简单,但是只能创建目录,不能包含默认图片。

当然,通过类似的方式我们还可以在创建Module的时候做很多事情,比如:

活动模板

Android Studio 中默认提供了很多非常方便的活动模板(Live Templates),例如,我们输入sout后按enter键,Android Studio 会自动帮我们写入System.out.println();

其实sout就是AS自带的一个活动模板。

由此可以看出,活动模板就是我们常用代码的一个缩写。开发中有很多代码都会重复出现,因此自定义合适的活动模板能很大程度上避免我们很多重复的体力劳动。那么问题来了,如何自定义?这里我们以Handler为例。下面是在Activity中一个合格的Handler该有的样子:

private static class MyHandler extends Handler {
        private WeakReference<MainActivity> activityWeakReference;

        public MyHandler(MainActivity activity) {
            activityWeakReference = new WeakReference<MainActivity>(activity);
        }

        @Override
        public void handleMessage(Message msg) {
            MainActivity activity = activityWeakReference.get();
            if (activity != null) {

            }
        }
    }

至于原因我就不再重复了,网上有太多的文章有讲过。现在如果我只希望输入一个‘psh’就自动出现上面这段代码的话,我应该这么做:

配置方法

这个操作的作用是,AS会自动将我们在上一步中用’$’符包裹的className自动替换为当前类不含包名的类名

至此,一个我们自定义的custom模板组中的psh活动模板就定义完成了。下面我们来验证一下,见证奇迹的时候到了:

上一篇下一篇

猜你喜欢

热点阅读