1.0 有一种痛苦叫自己瞎捣鼓。首先说明,这里面的步骤有些你觉得自己用不上(或者不符合自己的使用习惯)就不要去设置。
- 有人说,你写这个是不是太基础了?
拜托!网上就没有一篇靠谱的文章系统地讲解过这些内容,参考书上也没有。 - 一开始自己配置
Android studio
环境折腾了2个星期,才完美运行helloworld
…… - 本篇内容
Android studio版本
在2.3以上即可,通用的(2.3以下版本不太清楚)。 - 事实上,只要你把墙翻出去,环境配置不是问题,
Android studio
会把所有环境给自动匹配好的,包括grade版本适配
等问题。所以,fan qiang才是重点。(什么,蓝|灯|中|国
?没听说过。我可是xxxx的接班人。) - 所以,本篇其实和可否正常使用
Android studio
没什么关系,只是配置之后,你会用起来比较爽。 - Android Studio常用快捷键在最后的最后,或者直接点击本行最后的这个蓝色的[1] [1]
- 页内跳转不得不再次吐槽,原谅我只能通过注脚跳转,麻烦大家跳转过去后鼠标滚轮往上滑动。(你也可以顺手点个喜欢再滚动)
- 老封我的文章!!!!!
20步一键shagua式教程
为什么不行?! - 2019.3.19 又封了一次……
- 2020.10.15 又封了一次……
2.0 前些天接触一个视频教学,有一种怎么不早给我看到的蛋疼感。
把人家2小时变成一片文章,正如此刻所言。
关于怎么安装Android studio
,网上有太多的教程。比如这个链接所述:
点击链接:Win10下的Android Studio 3.5 安装及测试
这里主要强调一下安装的细节问题。
2.1 在磁盘内新建好一个全英文路径的文件夹,准备存放Android studio和SDK
,既然身为开发狗,最好是装在固态硬盘里面(没有拉倒……)
- 比如,文件名叫
Android
,在这个文件夹下再新建一个文件夹叫Studio
,准备存放Android studio
。
-Android
目录下再新建SDK
文件夹,准备存放Android SDK
。
2.2 其他自己瞎捣鼓吧,最后!最后!先不启动Android studio
,去勾,finish。
当然Android开发环境搭建
不止这些,有时间再更新怎么搭建Android开发环境
(其实吧,瞎捣鼓总会搞好的)
3.0 首先,禁用window
操作系统中crtl+space
键切换输入法
把它废掉,因为这个组合键和一堆的IDE冲突。当然,如果你铁了心用eclipse快捷键
当我没说。
看到标黄的没,
regedit
进入注册表后(不知道怎么进的请百度),到那个00000010目录下的key Modifiers和Virtuall Key双击,修改,把第1个两位数的数值改掉就行,改成黄色标记里面的一样的内容。
4.0 第2步,修改idea.properties
文件。
找到
文件,打开后在文件末尾加上:
#禁止第一次运行Android studio时,自动检查和升级Android SDK
disable.android.first.run=true
5.0 第3步,设置主题,窗口大小,动画效果
①修改主题 ②修改全局窗口字体(需要选择中文字体,最好默认不做修改),字号 ③ 窗口动画(电脑性能不怎样可以禁止掉)
暗黑风格比白色好看么?并不觉得,但是——护眼呀。
这一步主要是看你的自己个人喜好,第3步一般把左一列的第1个和第2个打上勾(不想敲英文了,懒,看图,就是图上的
红色的3
和它下面一个)
6.0 第4步,修改menu或者toolBar
Android Studio的菜单栏和工具栏,我们可以添加一些常用的图标有利于我们开发。
自己根据自己的喜好配置,此步骤主要作用是创建class.fragment.activity
的ToolBar
。
还是在设置菜单:
Android studio主界面
→
File
→
Setting
→
Menus and Toolbars
→
Main Toolbar
→
"---------"
(选中那个省略号)→
Add After
。
按照1234的步骤走起,看图,最后点击ok。
如图,点标注1那:
效果如图,点击Apply(不点击就切换去设置别的内容,可能会导致设置丢失),修改完毕。
这里有个问题,Android3.1以后的版本不是这样的布置了,操作如下:
按照图上面步骤12来,打勾,先把工具栏调出来,
然后再按上面的步骤走,当你在main目录下时,就能看到效果了(加入的因为是创建新的java类,在当前项目目录没有展开的时候智能隐藏了。):
7.0 第5步,打开工程设置
①禁用自动打开上次关闭工程 ,禁用退出提示 ②打开新项目提示方式
这里我习惯如图的设置,你想怎么来怎么行,记得设置完后点击Apply。
8.0 第6步,禁用自动检查更新
①取消自动更新
就图上
标注1
的地方不打勾就行了。
第2项我也没有打勾,不使用安全的连接。
这里可以看出我电脑
Android studio
的配置。
9.0 第7步,配置快捷键
①自定义快捷键②根据内容搜索快捷键③根据按键搜索快捷键④删除快捷键
Default
默认提供的快捷键方案是不能被修改的,当然你可以设置到eclipse快捷键方案上,或者点击
Default copy
,也是谷歌防止作为用户的我们一通乱改,把环境搞乱。
看到标注2,点击那个按钮就全部展开了,如果用自定义快捷键方案不做修改的话,也是没办法Apply(保存)的。
可以直接把标注1位置右边的小齿轮点击一下,修改自定义快捷键方案的名称等功能在那里。
设置完后记得点击Apply。
10.0 第8步,编辑器
①鼠标悬停显示文档
往下滚动鼠标轮,①②格式化&导包提示
这里主要是一个导包的动作,通知;就是按格式化代码或者导包时,是否会显示个对话框。如果觉得烦人的话把这两个通知给去掉。设置完后记得点击Apply。
11.0 第9步,显示行号,显示方法分隔线
①显示行号 ②显示方法分隔符
标注1一般默认选中,这里需要把标注2的地方打勾。
设置完后记得点击Apply。
12.0 第10步,代码折叠
①取消方法自动折叠 ②不允许方法一行显示
这里默认标注1是选中的,标注2是未选中,我的习惯是两个都不选。想折叠的时候往往是选择性的,自己手动点击算了方法一行显示不方便个人阅读代码。
设置完后记得点击Apply。
13.0 第11步,代码智能提示
① 敲什么都提示②③提示时间设置
Android studio3.2
及以前:
敲什么字符会提示,All(大小写全部符合),None(不管大小写,符合就提示),(First letter)(第一个字符符合就OK,其他随意)。
Android studio3.3
及以后:
标注1:不打勾相当于上面的none(不管大小写,符合就提示),其他内容倒是一样的(All(大小写全部符合),(First letter)(第一个字符符合就OK,其他随意));
标注2、3、4:方法名、实例名称等,基础提示、智能提示,打勾;
标注6、7:我没勾7了;
标注8:自动弹出文档的时间,修改成了400ms;
标注10:自动弹出时间,修改成了400ms。
设置完后记得点击Apply。
14.0 第12步,自动导包
-
Optimize imports on the fly
:优化导包,格式化代码时会删掉多余的导包。 -
Add unambiguous imports on the fly
:敲代码时,敲简单类名就帮你把包导了。
这两个功能都比较实用。
Android studio3.2
及以前:
Android studio3.3
及以后:
设置完后记得点击Apply。
15.0 第13步,创建个人代码样式配置
估计是为了保护默认的代码样式配置,让用户把配置搞坏了也能一键还原,IDEA不允许修改默认的配置,需要用户创建配置才能进行修改。
选择基于哪个主题的,然后Save As
一份即可。
Android studio3.2
及以前:
Android studio3.3
及以后:
这时候点击Apply应用起来,效果如下:
15.1 修改代码字体
参考的视频里面强烈建议使用Consolas字体
,好看!!!
不早说……,我已经用另外一个习惯了,fira Code字体
,所以其实这个东西看你自己,微软雅黑
就是个不错的建议。
Android studio3.2
及以前:
Android studio3.3
及以后:
如果你点击标注3那个default的话,还会开出来一个隐藏目录:
其实一个尿性……
设置完后记得点击Apply。
15.2 修改控制台字体
Android studio3.2
及以前:
Android studio3.3
及以后:
设置完后记得点击Apply。
15.3 Logcat字体
Android studio3.2
及以前:
调试字体,要改的话,得先把1那个地方的勾取消掉,默认
android Logcat
, 每个级别的颜色都是一样的.建议修改
Android studio3.3
及以后:
选中Error,会发现没法修改,这时候需要我们把右下角那个勾去掉:
我把它设置成了
#FF3707
照猫画虎,我的方案是:
Info:
#28BB00
Debug:
#00A59B
warning:
#C6C600
或者
#00007F
其他默认,效果如下:
warning:
#C6C600
:
warning:
#00007F
:
Android的日志优先级
等级从低到高为:
Verbose
、
Debug
、
Info
、
Warn
、
Error
、
Assert
。颜色越深,你的头会越大……
设置完后记得点击Apply。
16.0 第14步,修改注释位置
16.1 按上图12345的步骤,禁用“语句堆一行”:
Comment at frist column
:启用的话,注释符号就会在行首,否则就按照缩进来注释。
Control statement in one line
:格式化代码的时候,会把些很短的语句合并成一行。这样影响代码可读性.
这里就不分版本了,差异不大。
设置完后记得点击Apply。
16.2 修改变量前后缀
静态成员是s,普通成员是m,转换成成员变量的时候自动加上m,生成setter
,getter
的时候会忽视m,很好很强大:
Android studio3.2
及以前:
这个版本如果找不到Code Generation,旁边还有个下拉栏:
Android studio3.3
及以后:
设置完后记得点击Apply。
16.3 取消Android Lint 检查
一定程度加快速度吧
Android studio3.2
及以前:
Android studio3.3
及以后:
去掉那个勾就行了。
设置完后记得点击Apply。
16.2 修改新建文件文件头
默认啥也没有,为了体现我们作为程序猿的专业,我们修改下头信息。
每次建新类,会加上这样的头信息:
/**
*
* @ProjectName: ${PROJECT_NAME}
* @Package: ${PACKAGE_NAME}
* @ClassName: ${NAME}
* @Description: java类作用描述写这里
* @Author: ED_Peng
* @CreateDate: ${DATE} ${TIME}
* @UpdateUser: 更新者
* @UpdateDate: ${DATE} ${TIME}
* @UpdateRemark: 更新说明
* @Version: 1.0
*
**/
设置完后记得点击Apply。
16.2 修改文件编码为UTF-8
别坑队友,小伙伴们都统一改为UTF-8
吧。
标注1:系统默认的
UTF-8
标注2:需要修改为
UTF-8
标注3:默认为系统默认的编码格式(系统默认
GBK
),修改为国际标准(
UTF-8
)。
设置完后记得点击Apply。
16.2 自己定义Live Templates
这个步骤比较重要。
模板定义,方便开发,减少重复代码,先常试添加一个试试,步骤如下:
然后出现这样的界面:
最后会给大家一些常用的模板,里面保存的格式如下:
for for
for (int i = 0; i < $length$; i++) {
$content$
}
添加信息:
按上图1234的步骤就可以设置好了,其中步骤4,点击Define后,选择java,如下图:
这时就已经编辑结束了,你可以继续步骤5,再添加下一条,或者步骤6 Apply或者步骤7 Ok,随意……
设置完后记得点击Apply。
这里是一些常用的模板,选择着自己慢慢加就好:
_width _width
android:layout_width="match_parent"
android:layout_height="wrap_content$HEIGHT$"
bmp_file decodeFile
Bitmap $var$ = BitmapFactory.decodeFile($Content$);
bmp_res decodeResource
Bitmap $var$ = BitmapFactory.decodeResource($resource$, R.id.$resId$);
bmp_strm decodeStream
Bitmap $var$ = BitmapFactory.decodeStream($Content$);
click click event
public void click(View view) {
$Content$
}
conststr const str
private static final String $var$ = "$Content$";
fdv findViewById
findViewById(R.id.$resId$);
fdv_child (root)(cast)findViewById
$root$.findViewById(R.id.$resId$);
fdvc (cast)findViewById
($cast$) findViewById(R.id.$resId$);
fdvc_child (cast)(root)findViewById
($cast$) $root$.findViewById(R.id.$resId$);
feach for each
for ($i$ : $data$) {
$cursor$
}
fiter for
for ($i$=$start$; $i$<$end$; $i$++) {
$cursor$
}
fiter_with_init for init
for (int $i$=$start$; $i$<$end$; $i$++) {
$cursor$
}
for for
for (int i = 0; i < $length$; i++) {
$content$
}
fore for each
for ($iterable_type$ $iterable_element$ : $iterable$) {
$cursor$
}
getsp getSharedPreferences
SharedPreferences $var$ = getSharedPreferences("$Content$", MODE_PRIVATE);
ifelse if else
if ($Cursor$) {
$Content$
} else {
$Content2$
}
ifelseif if else if
if ($Cursor$) {
$Content$
} else if ($Cursor2$){
$Content2$
}
ifelseifelse if elseif else
if ($Cursor$) {
$Content$
} else if ($Cursor2$){
$Content2$
} else {
$Content3$
}
iid
android:id="@+id/$ID$"
isempty TextUtils.isEmpty
TextUtils.isEmpty($Content$)
ld Log.d
Log.d(TAG, "$method_name$" + $content$);
le Log.e
Log.e(TAG, "$method_name$" + $content$);
li Log.i
Log.i(TAG, "$method_name$" + $content$);
lv Log.v
Log.v(TAG, "$method_name$" + $content$);
lw Log.w
Log.w(TAG, "$method_name$" + $content$);
main java main method
public static void main(String[] args) {
$Cursor$
}
newintent new Intent
Intent intent = new Intent(this, $Name$.class);
note1 note1
/**$note$*/
note2 note2
/*--------------- $note$ ---------------*/
note3 note3
/*=============== $note$ ===============*/
note4 note4
/*############### $note$ ###############*/
note5 note5
/*#######################################*/
note_
/*-----------------$note$--------------------*/
obtmsg Message.obtain();
Message $var$ = Message.obtain();
$var$.what = 0;
$var$.obj = $Content$;
sfi static final int
public static final int $VAR$ = $VALUE$;
sfs static final string
public static final String $VAR$ = $VALUE$;
str_trim string.getText().toString().trim()
String $var$ = $cursor$.getText().toString().trim();
sw switch
switch ($key$) {
case $value$:
break;
default:
break;
}
syso syso
System.out.println("$END$");
sysof sysof
java.lang.System.out.println("--------------$note$--------------");
tag TAG
private static final String TAG = "$class_name$";
toast
Toast.makeText(this,"$CONTENT$",android.widget.Toast.LENGTH_SHORT).show();
try try catch
try {
$cursor$
} catch (Exception e) {
e.printStackTrace();
}
view_inf View.inflate
$cast$ $var$ = ($cast$) $root$.inflate(this, R.layout.$resId$, null);
while while
while ($cursor$) {
$content$
}
17.0 第15步,添加管理插件
具体添加什么插件,有时间准备准备一篇文章高质量介绍一下,不过度娘上这东西太多了,毕竟——我也是度娘介绍什么我才知道有什么可以装……
傻瓜式教程如下:
链接在此:”Android Studio 如何添加第三方插件
18.0 第15步,Github账号绑定
Android studio3.2
及以前就不说了,毕竟都差不多:
按照123的步骤走,如果没有
gitub账号
的话,两种办法:
-
- 点击上面
步骤4
位置那行蓝字。
- 点击上面
- 2.进入Gitub官网注册,链接在此:Join GitHub
别忘了,最好用火狐浏览器或者谷歌浏览器,不然会经常报bug。
把我的账号密码登入,结果如图:
成功。
19.0 第16步,配置git安装路径
设置完后记得点击Apply。
20.0 第17步,项目自动编译
设置完后记得点击Apply。
21.0 第18步,优化——取消同步
22.0 第19步,Gradle离线工作
这里有两个细节:
-
- 如果你的
Android studio
刚装上,千万别勾上这个。因为在第一次进入了AS之后,AS自动下载或者手动下载Gradle
到目标目录下,Android studio
会自动傻瓜式配置好自己的开发环境(得fan qiang、得xx、得xx,重要的话说三遍,因为没有这样做,想尽办法配了2星期,最后fan一次墙就收拾地舒舒服服了),勾上的话,会导致错误提示没有Gradle
。
- 如果你的
- 开启离线工作,否则如果打开别人的项目,使用的是不同版本的
Gradle
,都会进行下载。离线工作之后,只需要修改代码中的Gradle
版本为当前已经下载好的版本即可。
23.0 第20步,我把Color Scheme改回了系统的“Darcula
”,就是这么任性,习惯了。
附录——《Android studio常用快捷键》
----常用快捷键
1.Ctrl+E,可以显示最近编辑的文件列表
2.Shift+Click可以关闭文件
3.Ctrl+[或]可以跳到大括号的开头结尾
4.Ctrl+Shift+Backspace可以跳转到上次编辑的地方
5.Ctrl+F12,可以显示当前文件的结构
6.Ctrl+F7可以查询当前元素在当前文件中的引用,然后按F3可以选择
7.Ctrl+N,可以快速打开类
8.Ctrl+Shift+N,可以快速打开文件
9.Alt+Q可以看到当前方法的声明
10.Ctrl+W可以选择单词继而语句继而行继而函数
11.Alt+F1可以将正在编辑的元素在各个面板中定位
12.Ctrl+P,可以显示参数信息
13.Ctrl+Shift+Insert可以选择剪贴板内容并插入
14.Alt+Insert可以生成构造器/Getter/Setter等
15.Ctrl+Alt+V 可以引入变量。例如把括号内的SQL赋成一个变量
16.Ctrl+Alt+T可以把代码包在一块内,例如try/catch
17.Alt+Up and Alt+Down可在方法间快速移动
----不常用快捷键
18.在一些地方按Alt+Enter可以得到一些Intention Action,例如将”==”改为”equals()”
19.Ctrl+Shift+Alt+N可以快速打开符号
20.Ctrl+Shift+Space在很多时候都能够给出Smart提示
21.Alt+F3可以快速寻找
22.Ctrl+/和Ctrl+Shift+/可以注释代码
23.Ctrl+Alt+B可以跳转到抽象方法的实现
24.Ctrl+O可以选择父类的方法进行重写
25.Ctrl+Q可以看JavaDoc
26.Ctrl+Alt+Space是类名自动完成
27.快速打开类/文件/符号时,可以使用通配符,也可以使用缩写
28.Live Templates! Ctrl+J
29.Ctrl+Shift+F7可以高亮当前元素在当前文件中的使用
30.Ctrl+Alt+Up /Ctrl+Alt+Down可以快速跳转搜索结果
31.Ctrl+Shift+J可以整合两行
32.Alt+F8是计算变量值
END
-
附录——《Android studio常用快捷键》 ↩