Android开发学习之路-Android Studio真神器!
放假之后电脑配置升级就开始用Android Studio(下面简称AS)了,那个酸爽真的不是一般的啊,这里开一篇博客来记录下AS里面各种酷炫的功能,有更好玩的,大家不要吝啬,评论告诉我吧!
最近Android Studio正式版的2.0也出来了,有兴趣的快去更新啦,我是用了很久的Preview版本了,Instant Run已经用了很久啦哈哈!
---正题---
① 智能补全
AS的补全跟Eclipse的区别还是挺大的,但是,当你用过之后,给你1000块你也不要再回去了。AS的补全是自动的,不需要像Eclipse一样按Alt+/来呼出,这里演示可能不会让你觉得有什么特别的提升,但是,相信我,用了才知道好!!!
细心的同学已经注意到了,途中我输入的按钮的id是断开了的,也就是就算我输入:"tbut"也能匹配到"testButton"这个id,快速更改错误的快捷键默认是alt+Enter
② Live Templates(动态标签)
假如我们要输入一个for循环,在AS中可以输入"fori"
当然,"forj"也是可以的。
其实像上面那样的要遍历一个列表,还有更加另外的方法呢,仔细看着哦
这里面还有一个很常用的,就是打印Log,比如我们要打印一个方法的log,看看这个方法传入的参数都是什么,我们可以这样
看到上面的TAG了吗,一般来说这个Tag是表示我们在哪个Activity里面,所以,我们可以这样来生成它
别以为只能在java代码中用哦,我们看看xml代码中有什么好玩的,我们给button写一下宽和高,分别设置为填充父窗口
我说的其实只是默认提供的里面的小数罢了,如果你想知道其他的,可以在Setting-->Editor-->Live Templates中查看,当然,除了查看,我们还能自定义
这里我们自定义一个简单的,输入"id",然后给我们输出"android:id="@+id/控件名字"",这样我们可以直接输入id回车就完成了,先看效果
我们可以在Live Templates的界面中选中AndroidXML,点击右边的加号,选择“Live Templates”,然后在下面的编辑框中输入如下的一句话,并且,点击输入框下面的Define蓝字,选择XML,然后保存就可以了,赶快去试试吧。
③ 注入框架ButterKnife
这个有什么用呢?你每次写一个Activity是不是还在findViewById呢?如果布局有一堆控件要实例化,怕不怕?如果你想知道怎么通过标签来注入,可以看我之前的博客: http://www.cnblogs.com/Fndroid/p/5354644.html ,这里我们主要介绍怎么用框架来做
第一步,下载插件,进入Setting-->Plugins,在搜索框中输入:Android ButterKnief Zelezny,然后点击“Browse”蓝色字,找到之后选择安装(不知道不FQ可不可以)
第二布,下载依赖包,搜索butterknief导入就行了,不懂的google下咯
第三步,选中我们的布局id,按下alt+insert,选下面这个
然后会出现这个,可以改改名字,或者设置onclick,点击确定就可以了
会生成下面这样的代码
注入就完成了哦,findViewById都省了,而且这个框架对性能基本没有损耗哦。
④ Instant Run和模拟器
先说模拟器吧,之前在Eclipse中的模拟器打开真的很让人捉急的,半天打不开的,但是,在AS2.0中,模拟器号称开得比真机快哦,不信可以试试,反正我试了,我的I5+8G+SSD开机只要十多秒吧。
至于Instant Run,需要在AS版本为2.0以后才会有哦,所以,要用的话请升级。然后说说它有什么用,假如我们在xml中修改了一个Button的text,如果一般运行,编译器会把整个工程都重新布置到机器中,但是如果是Instant Run,编译器会对原来的工程进行热更新,也就是只更新这个activity的布局,并且在机器中刷新画面,让程序员能更快的看到变化。
说了优点,当然也要说一下不足
① 国内网络环境不允许我们直接更新AS,所以需要FQ
② Gradle更新和版本下载也要FQ
③ 构建项目之前要Gradle,速度可能比不上Eclipse,但是,改成offline模式会好一点
先说这么多,如果记起来就更新吧。
Android开发学习之路-Android Studio真神器!的更多相关文章
- Android开发学习之路--Android Studio cmake编译ffmpeg
最新的android studio2.2引入了cmake可以很好地实现ndk的编写.这里使用最新的方式,对于以前的android下的ndk编译什么的可以参考之前的文章:Android开发学习之路– ...
- Android开发学习之路--Android系统架构初探
环境搭建好了,最简单的app也运行过了,那么app到底是怎么运行在手机上的,手机又到底怎么能运行这些应用,一堆的电子元器件最后可以运行这么美妙的界面,在此还是需要好好研究研究.这里从芯片及硬件模块-& ...
- Android开发学习之路-Android Studio开发小技巧
上一次发过了一个介绍Studio的,这里再发一个补充下. 我们都知道,Android Studio的功能是非常强大的,也是很智能的.如果有人告诉你学Android开发要用命令行,你可以告诉他Andro ...
- Android开发学习之路--Android Studio项目目录结构简介
既然已经搭建好环境了,那就对Android Studio中项目目录结构做个简单的了解了,这里以最简单的Hello工程为例子,新建好工程后看如下三个工程视图: 1.Android工程 manifests ...
- Android开发学习之路-Android中使用RxJava
RxJava的核心内容很简单,就是进行异步操作.类似于Handler和AsyncTask的功能,但是在代码结构上不同. RxJava使用了观察者模式和建造者模式中的链式调用(类似于C#的LINQ). ...
- Android开发学习之路-Android N新特性-多窗口模式
我们都知道,在最新的Android N系统中,加入了一个新的功能,就是多窗口模式.多窗口模式允许我们在屏幕上显示两个窗口,每个窗口显示的内容不同,也就是说,我们可以一遍看电视剧,一边聊微信. 这里我们 ...
- Android开发学习之路-Android Design Support Library使用(CoordinatorLayout的使用)
效果图: 上面的这个图有两个效果是,一个是顶部的图片,在上滑之后会隐藏起来并且显示出一个ToolBar(ToolBar类似于ActionBar,但是只有ToolBar是兼容Material Desig ...
- Android开发学习之路--Activity之初体验
环境也搭建好了,android系统也基本了解了,那么接下来就可以开始学习android开发了,相信这么学下去肯定可以把android开发学习好的,再加上时而再温故下linux下的知识,看看androi ...
- Android开发学习之路--MAC下Android Studio开发环境搭建
自从毕业开始到现在还没有系统地学习android应用的开发,之前一直都是做些底层的驱动,以及linux上的c开发.虽然写过几个简单的app,也对android4.0.3的源代码做过部分的分析,也算入门 ...
随机推荐
- iOS10以上关于访问权限设置
记录一下: iOS对用户的安全和隐私的增强,在申请很多私有权限的时候都需要添加描述,但是,在使用Xcode 8之前的Xcode还是使用系统的权限通知框.要想解决这个问题,只需要在info.plist添 ...
- mysql_connect() php7不支持,php5.5可以,是废弃函数
天用了PHP7,发现和PHP5变化还挺大的,最大的就是MySQL的连接库变了. PHP5中使用mysql_connect()函数进行连接,但实际上,PHP5.5开始,MySQL就不推荐使用了,属于废弃 ...
- Linux mips64r2 PCI中断路由机制分析
Linux mips64r2 PCI中断路由机制分析 本文主要分析mips64r2 PCI设备中断路由原理和irq号分配实现方法,并尝试回答如下问题: PCI设备驱动中断注册(request_irq) ...
- JS操作Json
因为我水啊 所以我就要手打一下 熟悉一下 ===== JSON 全称 JavaScript Object Notation(标记) 一种轻量级的数据交互格式,采用完全独立于语言的文本格式 同事JSON ...
- CI框架之HOOKS使用流程及原理
Ci框架中Hooks可以理解:在框架的执行流程过程中,允许开发者在固定的某些时间点上(如:调用控制器前,调用控制器后等时间点上),调用其他函数来扩充CI框架执行流程的一种方法.技术上来就是通过 ...
- linux shell重定向总结
command-line1 [-n] > file或文件操作符或设备 command-line1 [-n] >> file或文件操作符或设备 >suc.txt >err. ...
- block和代理小结
代理使用原则: 代理方法的参数是要传的值,代理方法的返回值是要得到的值(即要调用的类回传的值),并且在实现的代理方法中的值就是原来的类要传的值(设置delegate=self), 比如2个类 A,B ...
- linux工具
sudo yum install yum-utils
- Code of Conduct
v
- >xx.hbm.xml的一些简单配置
1.在hibernate-mapping的属性里有一个package,它的意思是以下的类都是在这个包下的,下面写类路径的时候,可以不写包名 2.class标签 name属性指的是类 table属性指的 ...