Android学习总结(4)——Andorid Studio熟练使用
前言
该文以Android Studio2.1.1(Bundle)为例。JDK使用的是1.8版本,也建议大家使用1.8版本。
使用技巧无先后顺序。
Android Studio 2.1.1
软件下载
目前,国内大家比较熟悉的应该是 Android
Studio中国社区 ,每次Android Studio的更新版本都可以在这找到。
Android Studio使用技巧问答区
1、代码没有错误,但是爆红解决技巧
当我们写入一些代码的时候,可能有些代码是正确的,但是AS却说找不到,这时候我们清理一下缓存即可并重启AS即可解决这个问题。具体步骤是点击File-Invalidate Cache
/ Restart...即可。
2、编辑/打开另一个项目,下载GIt项目
标题可能说的有点模糊。一般情况下,每一个AS工作区对应一个项目(当然可以添加多个Modules)。假如,我们当前正在编辑的是A项目,我想打开B项目进行编辑,此时的做法也很简单。
方法一:点击File-Open... 然后选择一个Gradle项目即可。
方法二:点击File-Open Recent 然后选择一个项目打开即可。
如果我想关闭当前项目,并且打开B项目
方法三:点击File-Close Project,然后在打开的界面选择Open an existsing Android Studio Project选择一个本地项目打开即可。
下载Git项目
方法四:点击菜单栏的VCS-Checkout from Version Control-Git 在弹出的对话框输入项目的SSH地址即可下载。如下图:
下载Git项目.png
3、查看AS使用的SDk、JDk路径
File-Other Settings-Default Project Structure...
Project Structure.png
4、删除Module
了解Android Studio的应该知道其工作空间(Project)对应可以创建多个Module,而且可以对Module进行同时build等操作,当不需要这个Module,想要彻底删除它时,有两种方式(如删除下图的test
Module):
即将要删除test Module.png
(1)右击MyApplication项目,选择Open Module Settings,选中要删除的Module(test),点击符号“—”进行删除,步骤如下图所示:
删除Module.png
移除Modul列表后.png
实际上,此时test仅仅是退出了Module列表(移除了对Project对Module的保护),并没有删除,此时对test右击,点击“Delete”则可,步骤如下图所示:
删除一个项目.png
(2)通过Android Studio对Module的保护机制去删除一个Module。
在Eclipse上,如果想要删除一个项目,直接右击选择“Delete”删除项目即可,但是在Android Studio只有把Module的保护机制删除才能对其删除,所以两者的不同就是Android
Studio多了个保护机制,那么我们只要知道保护机制的原理即可。事实上,Module的保护机制是通过settings.gradle文件实现的,我们首先打开settings.gradle文件,内容图下图所示:
Module保护机制列表.png
代码如下:
include ':app',':test'
代码很显然,表示当前项目包括了两个Module,一个是app,另一个是test。当我们想删除test Module的保护机制,只需删除代码:':test',保存并重新执行gradle文件即可,具体步骤是:
1、删除代码:,':test'并保存;
2、点击菜单栏的Sync按钮,重新编译项目即可。
Sync Gradle.png
ps:实际上,该操作是可逆的!!!
5、把Eclipse项目移植到Android Studio 2.1.1
参考文章
前提:ADT版本需要22以上。
查看ADT版本号。在Eclipse打开Help-Installation Details,然后选择Plugin-ins,如下图可看到当前使用的ADT版本为23。
ADT版本号.png
当前以一个Hello工程为例。步骤如下:
1、在Eclipse选择File-Export-Android-Generate Gradle Build File-Next,接着选择项目Hello,Next—Finish-Finish。此时,打开Hello项目目录。
创建Gradle相关文件.png
从图上可以看出,此时生成了Gradle相关的文件夹。
2、选择导入工程的结构方式。
一般情况下,导入Eclipse项目到Android Studio会有两种结构,一种是与Eclipse的项目文件结构相同,只是增加了IDE文件和Gradle相关文件;另一种则是符合Android
Studio项目工程的结构,即Module包好Module。这两种结构的导入方式都是支持的。如下图,Open an existing Android Studio Project和Import Project都代表第一种结构。
选择导入结构方式.png
2.1第一种结构-保留Eclipse的项目结构
选择build.gradle文件导入项目,如下图所示(可能需要同步一下gradle版本):
Android Studio项目目录.png
此时,我们可以看一下这个项目存在多少个Module,点击Gradle选项卡。
仅有一个Module.png
从图上可以看出,当前项目只存在一个Module。
2.2选择Import Project
该方式也是选择build.gradle文件,其它步骤也都相同。
2.3符合Android Studio的项目结构
选择Import Project选项,不需要增加Gradle相关文件,直接选择项目名称,点击OK。
导入非gradle项目.png
这时候会弹出一个对话框,如下图所示,意思是根据Hello这个项目,导入一个复制Hello的项目,名称为Hello1,并且不去修改Hello项目。此处,选择“Next”。
Copy a project.png
对话框继续弹出。图片中包括了三个复选框,
第一、二项表示如果条件允许,利用gradle的依赖功能去代替jar包和库的加载。一般情况下,为了便于后面代码、jar包管理,这两项是勾选的。
第三个表示该项目、代码的命名方式采用驼峰命名法,也就是说会修改一些,不符合驼峰命名法的名称。
选择修改的内容.png
点击finish等待项目创建。当项目创建成功后,查看Gradle。如下图:
Android Studio项目创建成功.png
图片左侧可以看到项目结构与使用Android Studio创建新的项目的结构是相同的,右边可以查看到当前项目有两个Module,一个是根-Hello1,另一个是子Module-app。中间是一个txt文件——import-summary.txt,它主要描述了导入Eclipse项目过程中做了Android
Studio什么事情,比如:Ignored Files表示没有导入的文件;Replaced Jars with Dependencies表示Eclipse里jar包的导入替换为gradle的依赖;Moved Fiels表示文件的剪切——把资源文件移动到了子Module的工程目录下;还有就是接下来的建议,比如文件的描述是建议build项目。最后,改文件是临时文件,一般情况下,项目创建完成后即可删除它。
3、构建apk
当项目导入成功后,点击菜单栏的Build-Build APK,当执行完成后能生成Hello-debug.apk和Hello-debug-unaligned.apk则表示代码无误,并构建成功。
build apk成功.png
6、 Android
Studio快速编程技巧
PS:官网有一篇关于快速编程技巧的文章,点击上面标题即可访问(注:需要拨VPN)
文章表述的内容主要是写少量的代码并结合快捷键(Tab)就能敲出大量的代码。下面举个例子,假如需要在敲出下面的代码:
Toast.makeText(MyActivity.this, "这是一个Toast", Toast.LENGTH_SHORT).show();
如果在Eclipse软件下我们需要上面的代码,一般需要输入内容还是蛮多的,但是在Android Studio中只需要输入Toast和文本内容即可。具体步骤如下:
1、输入Toast
2、按下Tab键
3、输入文本内容“这是一个Toast”
4、再按下Tab键,让游标到达当前行的末尾即可。
英文水平不错的可以参考这篇文章: Writing
More Code by Writing Less Code with Android Studio Live Templates 下面的这张图片就来自这篇博文,其作者是 Reto Meiter 。
PS:实际上,使用Enter键代替Tab键也是可行的,亲试可用!
7、Live Templates
其实上面的第6个技巧使用到的就是Live Templates,它的目的在于定义一些常用的方法,在编码过程中,当使用到这些方法时,敲下少量的代码就能通过代码模块自动生成相应的方法和方法体代码,这样大大提高了编码效率,而且令人兴奋的一点是,这些模板我们可以自定义。
自定义或者查看Live Templates的位置在:File-Settings-Editor-Live Templates。如下图,即使Toast的模板:
Live Templates for Toast
点击下面链接可以查看如果快速定义自己的Live Templates-- Live
Templates教程
8、代码自动完成
代码自动完成
9、Project无法使用Instant Run(即时运行)功能
如下图所示,当我们首次运行一个demo Project时,很大程度上会出现以下的异常。异常信息显示,如果想要使用Instant Run功能,需要Android Studio允许adb集成功能(Enable
ADB integration),一般我们需要手动去设置enable。
Error running app
手动设置 Enable ADB integration ,在Tools-Android-Enable
ADB Integration,Enable ADB Integration前打上勾即可。如下图:
Enable ADB Integration.png
PS:请保证Instant Run是允许使用的,具体的查看位置在File-Settings-Build,Excution,Deploymeny-Instant Run,在第一个选项
Enable Instant Run to hot swap code/resource changes on deploy 前面的复选框是打钩的。
10、性能分析时,请关闭Instant Run功能。
当使用Android Monitor的Monitors选项查看调试应用情况并对其进行性能分析时,请关闭Instant Run功能。因为当更新方法时,会对结果造成略大的影响,此外Stub方法会使得堆栈跟踪。
关闭Instant Run功能可见第9个技巧点的PS部分。
12、Open Module Settings
参考: Android
Studio 之 Gradle与Project Structure详解
Properties
Incremental Dex(增量dex)
其实跟增量包的理解差不多,我们在编译(Compile)apk时默认情况下会重新编译整个apk,如果这个属性设置为true则只会重新编译新增加或者修改的内容,这样就可以大大缩短编译时间了。
Source Compatibility(资源兼容性)
编译(Compile)应用时兼容的java版本。2.1.1的Android Studio不支持Java 8(jdk1.8),所以如果此处使用1.8会出错,但是是可以解决的。可以参照 技巧13 。
Flavors
Build Type
13、Android Studio支持java 8
Android学习总结(4)——Andorid Studio熟练使用的更多相关文章
- Android Studio快捷键【Android学习入门】
Studio快捷键[Android学习入门]" title="Android Studio快捷键[Android学习入门]"> 提示 Ctrl+P方法参数提示 Ct ...
- 【Android学习入门】Android studio基本设置
1.背景设置 依次选择File->Settings-->Appearance & Behaviour->Apprearance,然后勾选 show line number. ...
- Android studio 安装与配置【Android学习入门】
终于下定决心认真学习Android开发了. 之前在很多平台看到很多大牛们学习Android的经验和心得,纸上得来终觉浅. 这里推荐stormzhang老师总结的Android学习之路. 为了防止电脑卡 ...
- 工作不久的安卓开发者,他们是这样规划自己的Android学习路线
Android开发工作者工作不久的时候,会有一段迷茫期,觉得自己应该再学一点,却不知道从何学起,该怎样规划自己的学习路线呢?今天,我给大家梳理一下Android基础,就像建造房屋一样,要建造一座宏伟的 ...
- Android学习路线总结,绝对干货
title: Android学习路线总结,绝对干货 tags: Android学习路线,Android学习资料,怎么学习android grammar_cjkRuby: true --- 一.前言 不 ...
- Android 学习资料收集
收集整理这份资料灵感来自于 trip_to_iOS, 征得同意引用了该资料的开头描述 收集整理这份资料主要帮助初学者学习 Android 开发, 希望能快速帮助到他们快速入门, 找到适合自己学习资料, ...
- [转]Android 学习资料分享(2015 版)
转 Android 学习资料分享(2015 版) 原文地址:http://www.jianshu.com/p/874ff12a4c01 目录[-] 我是如何自学Android,资料分享(2015 版) ...
- Android – 学习操作NFC – 2
在<Android – 学习操作NFC – 1>说明了Android在处理NFC tag的机制.tag dispatch system的运作流程,以及三种ACTION_NDEF_DISCO ...
- 一篇文章一张思维导图看懂Android学习最佳路线
一篇文章一张思维导图看懂Android学习最佳路线 先上一张android开发知识点学习路线图思维导图 Android学习路线从4个阶段来对Android的学习过程做一个全面的分析:Android初级 ...
随机推荐
- 3D语音天气球(源代码分享)——通过天气服务动态创建3D球
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 开篇废话: 这个项目准备分四部分介绍: 一:创建可旋转的"3D球":3 ...
- 金融扫盲-资本市场从天使轮、ABCD轮、风投、到上市圈钱、借壳上市。
转载请标明出处:http://blog.csdn.net/hu948162999/article/details/47777859 对于金融知识零基础的人进行扫盲,故事浅显易懂.趣味性强. 来之知乎. ...
- Linux命令(二)——目录和文件管理命令
一.Linux系统的目录结构 1.根目录(/):顶层目录,某些系统中的唯一分区. 2./bin命令文件目录:包含Linux命令的二进制可执行文件. 3./boot目录:存放系统的内核文件和引导装载程序 ...
- POJ 2553 The Bottom of a Graph(强连通分量)
POJ 2553 The Bottom of a Graph 题目链接 题意:给定一个有向图,求出度为0的强连通分量 思路:缩点搞就可以 代码: #include <cstdio> #in ...
- luogu2714 四元组统计 莫比乌斯反演 组合数
题目大意 给出一段序列,求其中最大公约数为1的四元组的个数. 思路 我们要用到反演.正难则反的思想.对于每一个大于1的数字\(x\),求出最大公约数为\(x\)的四元组的个数\(g(x)\),然后用排 ...
- [JavaEE] Hibernate连接池配置测试
转载自51CTO http://developer.51cto.com/art/200906/129914.htm Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以 ...
- js设计模式-命令模式
命令模式是一种组织型模式,主要用在把调用对象(用户界面.API和代理等)与实现操作的对象隔离开.也就是说 ,凡是两个对象间的互动方式需要更高的模块化程度时都可以用到这种模式. 命令模式的好处:1.提高 ...
- Keras简单使用
Keras简单使用在keras中建立模型测试自己的图片一些有用的函数(持续更新) Keras简单使用 在keras中建立模型 相对于自己写机器学习相关的函数,keras更能快速搭建模型,流程如下: 通 ...
- ROW_NUMBER() OVER()函数用法;(分组,排序),partition by (转)
1.row_number() over()排序功能: (1) row_number() over()分组排序功能: 在使用 row_number() over()函数时候,over()里头的分组以及排 ...
- 洛谷P2607 [ZJOI2008]骑士(树形dp)
题目描述 Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各界的赞扬. 最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争.战火绵延五百里, ...