编写不易,如有转载,请声明出处:http://blog.csdn.net/zxc514257857/article/details/72638798
安装完JDK,JRE,配置完JDK环境变量,安装完AndroidStusio后,可进行对AS的如下配置操作:
配置黑色主题和菜单栏的字体和大小
导入第三方主题
推荐下载地址:http://color-themes.com/?view=index,下载下来的Jar包,通过菜单栏"File-Import Settings”导入主题
配置代码编辑区域字体和大小
在Scheme位置选择第三方主题,然后设置主题的字体和大小
===========================================================================================
配置控制窗口区域字体和大小
在Scheme位置选择第三方主题,然后设置主题的字体和大小
===========================================================================================
设置关闭自动更新
不勾选是关闭更新
===========================================================================================
设置关闭大小写敏感配置
设置为None是关闭大小写敏感,即代码提示时不区分大小写
===========================================================================================
设置自动导包
不设置的话需要手动导包
红框两项需要同时勾选,设置为自动导包
===========================================================================================
设置代码行数显示
勾选设置代码行数显示
===========================================================================================
设置文件默认编码方式UTF-8
===========================================================================================
设置取消新建文件头
把红框里面的内容删除保存就可以了
===========================================================================================
设置AS打开后自己选择工程进入,禁止自动打开上次工程
不勾选是禁止自动打开上次工程
===========================================================================================
禁止代码折叠
默认这三个选项是勾选上的,如果要禁止代码折叠,则需要取消这三处勾选
===========================================================================================
取消快速运行Instant Run
不勾选是取消Instant Run
===========================================================================================
设置SDK和JDK路径
===========================================================================================
配置Log颜色
先选择自己使用的第三方主题,取消勾选 Use inherited attributes,然后就可以为各种级别设置颜色。推荐颜色设置:
Assert: #AA66CC
Debug: #33B5E5
Error: #FF4444
Info: #99CC00
Verbose: #FFFFFF
Warning: #FFBB33
===========================================================================================
安装常用插件
**ButterKnife Zelezny** ![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/748ec9bc02ba54328d0adb4a81ed253a.png) 要配合一个库com.jakewharton:butterknife:8.6.0使用,把该库添加到build.gradle脚本里即可。
===========================================================================================
**GsonFormat** ![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/aeb9f5327304096606531f6ea2c43af5.png) 快速格式化JavaBean类。
===========================================================================================
**ADB WIFI** ![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/6ef300824edea039ad3b2abc18066cf9.png) 手机电脑联调无线测试工具,不需要连接数据线
===========================================================================================
**Genymotion** ![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/023a64a9c8134501dfc5d6ffac0e5f88.png) 比原生好用的android模拟器
===========================================================================================
**Alibaba Java Coding Guidelines** ![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/4c3bbd4fc17a540d2596437bf23ae810.png) 阿里巴巴推出的代码规范检测工具
===========================================================================================
**Android Methods Count** ![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/3e8a45fc6fb5ad824fa483db66a4f13c.png) 可以非常方便看到引入的类库的方法数量,用于权衡是否值得引入该库
===========================================================================================
**Android Resource Usage Count** ![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/813d9357e7547d7695418cb2fa9fe000.png) 打开 Android 项目的资源文件时, 会自动对文件中的资源标签统计其被引用次数, 展示在标签的前面
===========================================================================================
**FindBugs-IDEA** ![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/7ddc03ab0a07720bf3d2f76bef371934.png) 安装完成后,在main文件夹下右键点击选择--->“findBugs”--->“analyze Module files”, 分析完毕后可发现有几种类型的Bug,如下图所示: ![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/d5f73323b62b7ca5b9b44f2178e7d94d.png) FindBugs官方文档地址:http://findbugs.sourceforge.net/bugDescriptions.html#BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS
-
Bad practice 坏的编程习惯
~ ~Class names should start with an upper case letter JAVA里,类的首字母需要大写
~ ~Method may fail to close stream 没有关闭流,可能会导致文件描述符泄露,应该在finally中关闭
~ ~Non-transient non-serializable instance field in serializable class 在Bean类中没有实现Serializable
~ ~Comparison of String parameter using == or != 字符串比较时不能使用=号和!=号 要使用equals()
~ ~Method ignores exceptional return value 忽略了返回值,应当含有返回值
~ ~Integral division result cast to double or float 整形数除法强制转换为double或者float类型
~ ~Write to static field from instance method 无用的静态成员变量
~ ~Dead store to local variable 没有使用的本地成员变量
~ ~Code contains a hard coded reference to an absolute pathname 此代码包含文件对象为一个绝对路径名
~ ~Redundant nullcheck of value known to be non-null 方法对明显不为空的值进行了为空的判断
~ ~Possible null pointer dereference in method on exception path / Possible null pointer dereference 可能有空指针异常隐患 -
Dodgy code 糟糕的代码
~ ~Code contains a hard coded reference to an absolute pathname 此代码包含文件对象为一个绝对路径名
~ ~Integral division result cast to double or float 整形数除法强制转换为double或者float类型 -
Internationalization 国际化可能产生的问题
~ ~Reliance on default encodeing 没有指定代码的编码方式 (一般charsetName为“utf-8”) -
Performance 性能问题
~ ~Unread field 某个对象的属性不会被读取。确认此局部变量是否会被使用,如果确实不会被用到,请去掉
~ ~Should be a static inner class 应该是静态内部类,需要增加static修饰符使其成为静态内部类 -
Malicious code vulnerability可能受到的恶意攻击
~ ~Field is a mutable array 一个定义为final类型的静态字段引用一个数组时它可以被恶意代码或在另其他包中所使用。这些代码可以自由修改数组的内容。
~ ~Field should be package protected 需要声明为protected的 -
Correctness 一般的正确性问题
~ ~Value is null and guaranteed to be dereferenced on exception path exception分支上,存在引用一个null对象的方法,会引发空指针异常
~ ~Method call passes null for non-null parameter 对参数为null的情况未作处理
~ ~Uninitialized read of field in constructor 此构造方法中使用了一个尚未赋值的字段或属性
~ ~Nullcheck of value previously dereferenced 多余的不为null的判断 -
Multithreaded correctness 多线程的正确性
===========================================================================================
便捷操作
设置分屏查看
在标签点右键,split Vertically设置左右分屏
===========================================================================================
设置代码提示快捷键为alt+/,保持Eclipse的使用习惯,将AndroidStudio的Ctrl+Alt+Space(空格键)快捷键改为alt+/
===========================================================================================
删除module文件夹,直接选择module是无法删除的
点击项目中的settings.gradle,将里面include的module删掉,然后就可以将module删掉了
===========================================================================================
查看操作的历史记录
对比查看每行代码,方便快捷找到修改位置
===========================================================================================
通过ctrl+alt+F提取成员变量时将前面加m
===========================================================================================
工程模版的配置和活动模版的配置
可参考:Android Studio advanced configuration,http://liukun.engineer/2016/04/10/Android-Studio-advanced-configuration/
在AndroidStudio的安装目录下面, plugins —> android —> lib —> templates —> gradle-projects —> NewAndroidModule,用编辑器打开 recipe.xml.ftl文件,在
<mkdir at="${escapeXmlAttribute(resOut)}/drawable" />
代码下面添加如下配置:
<mkdir at="${escapeXmlAttribute(resOut)}/drawable-hdpi" />
<mkdir at="${escapeXmlAttribute(resOut)}/drawable-mdpi" />
<mkdir at="${escapeXmlAttribute(resOut)}/drawable-xhdpi" />
<mkdir at="${escapeXmlAttribute(resOut)}/drawable-xxhdpi" />
<mkdir at="${escapeXmlAttribute(resOut)}/drawable-xxxhdpi" />
----------因本人才疏学浅,如博客或Demo中有错误的地方请大家随意指出,与大家一起讨论,共同进步,谢谢!----------