AndroidStudio应用调试技巧(上)

更新时间修改意见
2016-08-02陈敏

第1节 概述

1.1 Android Studio介绍

Android studio是Google为Android应用开发提供的一个强大的集成开发环境(IDE),有着非常多的帮助开发者进行开发的工具。虽然Android应用也可以使用Eclipse开发,但是Android Studio将是Google未来唯一长期支持的开发工具。
Android Studio启动并打开工程后它的默认布局大体如下:

这些布局并不是一成不变的,我们可以通过拖动它们,调整它们的位置和大小,可以隐藏一些区域,在需要这些区域的时候再显示它们。


/*******************************************************************/
* 版权声明
* 本教程只在CSDN安豆网发布,其他网站出现本教程均属侵权。
/*******************************************************************/

第2节 工程目录

2.1 工程结构的不同视图

浏览当前的项目工程是最经常遇到的,当选择“Project”浏览方式的时候,它就像资源管理器的树形结构展开。所以当你希望看看磁盘上实实在在存在的关于这个项目的文件夹和目录的时候,就可以使用Projcect浏览方式

其它浏览方式也很多,

它会从不同的角度来展示一个工程的方方面面。大家可以切换看看,不同的效果。我们刚开始接触就使用“Project”浏览方式吧,它和项目的文件目录结构很相似。随着经验的增加,会逐步发现其他浏览模式的方便之处。

2.2 目录结构介绍

在“Project”浏览方式下,我们目前只关注以下几个文件和文件夹:

  1. app文件夹:这是工程产生后,Android Studio自动创建的module所在文件夹。Module是Android Studio工程中的一个功能单位。我们应用程序的源码和资源文件就放在这个module当中。目前来说,我们需要使用到并修改到的内容,都在这个文件夹里面。其它的可以暂时不管。

  2. build.grandle文件:这是module编译时的配置文件,样子大概如下图。

    现在我们只介绍“defaultConfig”选项中的参数:

    minSdkVersion——这个应用允许安装的最低API Level,例如这里写的21,说明这个应用只能安装到21和21版本以上的安卓设备上(即Android5.0 Android6.0),其它的安卓设备(例如Android4.X)都不行。

    targetSdkVersion——这个应用的理想运行系统版本。例如targetSDKVersion指明这个应用使用的是23的SDK,那么说明该应用运行的理想系统版本是Andriod6.0,当在理想系统上运行该应用的时候,会省略软件的兼容性判断,提高程序的运行效率。

    versionName——版本号,这个号码可以通过查看该应用在设备上的详细信息获取(通常在设备的“设置”->“应用管理”中)。

    至于里面的配置参数我们在今后使用到的时候再介绍,通常情况下,不需要做额外的修改了。大家可以通过图中的关键词,猜一猜这些字段是做什么用的。

  3. src文件夹里面有三个子文件夹:androidTest、test和main。androidTest和test从名字就知道,里面放的是和测试我们程序相关的内容。目前我们将重点放到介绍开发上,测试的内容以后再讲。

    main文件夹分了java和res两支,java存放的是java源代码,res存放的是资源文件。注意main文件夹下面的AndroidManifest.xml文件是当前Android应用自己的配置文件,我们将在开发过程当中重点详细的介绍。


/*******************************************************************/
* 版权声明
* 本教程只在CSDN安豆网发布,其他网站出现本教程均属侵权。
/*******************************************************************/

第3节 编辑工具

3.1 代码编辑

通过Project浏览器,双击打开任意的java文件,代码编辑器会对里面的代码做高亮处理,让开发者容易的看到哪些是语法关键字,哪些是变量,哪些是函数名。当输入代码的时候,还会自动提示出开发者可能最想使用的代码内容。非常的方便。

3.2 UI所见即所得

通过Project浏览器,双击打开res目录下的layout子目录中的任意布局文件(xxx.xml),会出现对应的设备上的预览效果。
当选择不同的预览设备时,预览界面会根据不同的设备做相应的变化。这个功能在做多尺寸设备的界面布局设计时非常有用。


/*******************************************************************/
* 版权声明
* 本教程只在CSDN安豆网发布,其他网站出现本教程均属侵权。
/*******************************************************************/

第4节 调试初步

Android Studio提供了部署应用到设备上运行的方法和不少方便的调试工具。这里我们先介绍几个最为简单常用的方法。

4.1 部署应用

将应用程序通过Android Studio运行到设备上有两个方式:“run app”和“debug app”。

“debug app”模式下,程序运行起来之后可以直接进入断点调试模式,对代码进行静态调试;而“run app”只能通过“attach”的方式进入断点调试模式。这两种方式可以通过菜单项启动,也可以通过快捷键开始,由于经常使用,我们最好熟练的使用快捷键方式。能否熟练的使用快捷键也是区分的高手与新手的重要指标。

4.2 静态调试方法

静态调试就是冻结应用运行的状态,仿佛时间停止了一般,然后我们逐一观察此时程序的各个参数是否符合我们的预期。
首先,在希望代码暂停运行的地方打断点——在代码前点击一下,出现一个红色的圆点,如果想取消,再点击一次即可。

然后,用debug run的方式部署程序。
当程序运行到这段代码的这个位置时,程序将停止下来,切换到“Debug”窗口。这时,我们就可以观察各个参数了。

例如上图右半区域就列出了停止时,各个变量的值;左边区域展示了当时函数到调用栈(谁调用的这个函数)情况。我们可以逐一分析,详细观察,看这些值是否符合我们的预期。
尝试下面的功能,看看程序运行的走向是如何进行的:

这些都是断点调试经常使用到的、由我们控制程序运行步骤的功能,所以尽量记住它们对应的快捷方式。

4.3 动态调试方法

对于那些和时间相关的程序(不能让程序暂停,等你慢慢观察),我们就不能使用静态调试方法了,得采用动态调试,添加log的方式。
Log的中文名字叫做日志,在编程界表示程序运行过程中打印出的信息。根据log我们就知道现在程序运行到什么地方了,log还可以携带程序中某些变量的信息输出,让我们更精准的知道程序当前运行的状态。在代码中添加一段函数,就能通过特别的工具输出这些log。
在Android代码中添加log的方式如下图:

红色区域表示我们要添加的代码。这里面使用了Android提供的Log库。
Android应用开发的Log库提供了几种不同等级的log:verbose debug info warning error,我们可以根据自己log的需要加不同等级的log,使用的形势为:

Log.X(“TAG”,”content”);

X代表v d I w e,例子中我们用的w,我们在应用中调试程序,通常就使用d。
Log输出的结果是我们通过ADB工具,在电脑端观察到的。在Android Studio中,就是通过Android Device Monitor观察到的(实际上ADM也是利用ADB工具实现的观察)。


/*******************************************************************/
* 版权声明
* 本教程只在CSDN安豆网发布,其他网站出现本教程均属侵权。

*另外,我们还推出了Arduino智能硬件相关的教程,您可以在我们的网店跟我学Arduino编程中购买相关硬件。同时也感谢大家对我们这些码农的支持。

*最后再次感谢各位读者对安豆的支持,谢谢:)
/*******************************************************************/

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值