android初学者
更新:2020年1月。
Android Studio提供了丰富的内置开发工具调色板,以及更丰富的插件生态系统。 本系列的前三篇文章重点介绍如何使用Android Studio 安装和设置以及编码和运行一个简单的移动应用程序。 现在,您将熟悉一些更高级的工具:三个内置工具和三个插件,用于调试和提高Android应用程序代码的质量和生产率。
本文介绍了适用于Android Studio的以下工具:
内置调试工具
- Logcat
- 除错
- 皮棉
用于提高开发人员生产力的插件
- 亚行理念
- 科多塔
- Lombok插件
Android Studio 3.5的新功能
在最新版本的Android Studio中查找所需内容 ,包括对Kotlin的支持以及对内存管理和UI响应能力的改进。
记录和调试Android应用
越野车应用是驱赶潜在客户的肯定方法。 Logcat和Debug是Android Studio内置的两个工具,可用于识别和修复Android代码中的错误。
记录Android:Logcat
您可能不需要或不希望为每个“笨拙”的情况提供完善的调试器。 在某些情况下,记录并纠正某些变量的值就足够了。 Android Studio的Logcat非常适合此任务。
Logcat是一个命令行工具(集成到Android Debug Bridge-ADB中 ),可转储系统消息日志 ,以帮助您查找和修复代码中的问题。 消息包括有关设备何时引发错误的堆栈跟踪,并记录您有意嵌入android.util.Log类的消息。 Logcat非常有用,它已直接集成到Android Studio中,您可以在其中从“ 视图”菜单或工具窗口栏访问它。
杰夫·弗里森
图1. Logcat窗口显示了带有日期和时间标记的系统消息的列表(单击放大)
Logcat窗口分为下拉列表和其他控件的水平行,其后是消息区域。 从左到右,控件是:
- 标识已连接设备和仿真器的下拉列表。 (参见图1。)
- 一个下拉列表,用于标识所选设备上已安装的APK软件包。
- 日志记录级别的下拉列表:
- 详细:显示所有消息。
- 调试:显示仅在开发期间有用的调试日志消息,以及下拉列表中较低的消息级别。
- 信息:显示常规使用的预期日志消息,以及下拉列表中较低的消息级别。
- 警告:显示尚未出错的可能问题,以及下拉列表中较低的消息级别。
- 错误:显示引起错误的问题-引发异常,以及声明消息级别。
- 断言:显示开发人员期望永远不会发生的问题。
- 搜索栏,其中唯一出现的消息是包含您在此控件中键入的文本的消息。
- 一个复选框,可让您在搜索栏中使用正则表达式。 例如,在图1的上下文中,您可以指定SystemClock |。 AlarmManager (即,消息中必须包含任何一个单词)。
- 用于过滤邮件的下拉列表,包括以下选项:
- 无过滤器 (默认)将导致显示所选设备的所有消息,而不管所选的APK软件包如何。
- 仅显示所选应用程序仅显示所选设备上所选APK软件包的消息,这些消息具有适当的日志级别或更低的日志级别。
- 编辑过滤器配置可让您创建自定义过滤器。
在源代码中,您可以插入对各种android.util.Log方法的调用以记录消息。 例如,您可以调用public static int i(String tag, String msg)来记录INFO级别的消息,或者调用public static int i(String tag, String msg) public static int w(String tag, String msg)来记录WARN级别的消息。
对于这两种方法,传递给tag的字符串都标识消息的来源(例如,调用此日志记录方法的方法),传递给msg的字符串标识所记录的消息。
另外,您可以调用System.out和System.err的print()和println()方法。 调用System.out方法可完成与log.i()调用相同的log.i() ; 对System.err方法的调用与log.w()调用完成的功能相同。
杰夫·弗里森
图2.在示例应用程序的主要活动的onCreate()方法中记录消息(单击放大)
在图2中,仅显示的消息是针对在模拟Nexus 5X设备上运行的示例应用进程的。 此外,这些消息必须包含onCreate并被“仅显示所选应用程序”过滤器接受。
有关Logcat的更多信息
查看Google的“ 使用Logcat编写和查看日志 ”以了解有关Logcat的更多信息。 还要学习android.util.Log类的文档。
调试Android:调试
对于非常简单的应用程序,使用Logcat记录和更正代码是可以的。 对于更复杂的应用程序,这种调试形式可能很乏味。 相反,您将需要一些可以调试应用程序的可执行代码的东西。 Android Studio的内置调试工具提供了许多功能,包括以下功能:
- 选择要在其上调试应用程序的设备。
- 在应用程序代码(Java,Kotlin或C / C ++)中设置断点。
- 在运行时检查变量并评估表达式。
使用此调试工具之前,必须满足一些先决条件:
- 如果您的应用程序包含C / C ++源代码,则需要从SDK Manager 安装LLDB (请参见图3)。 幸运的是,本系列的示例应用程序( W2A )不包含C / C ++代码,因此我们可以忽略此先决条件。
杰夫·弗里森
图3.选中LLDB复选框,然后单击OK以安装LLDB
- 您必须在连接的设备上启用调试 。 但是,如果您使用的是仿真器(本例中使用的是仿真器),则可以忽略此先决条件。 默认情况下,在仿真设备上启用调试。
- 您必须运行可调试的构建变体 。 默认情况下,它是为您创建的,因此在很多情况下(包括本示例),您不必担心。
让我们进行一个快速调试会话。
简单的Android调试
假定您在打开Android Studio且示例应用程序( W2A.java )的编辑器窗口打开的情况下,第一步是在public void onCreate(Bundle savedInstanceState)行上设置一个断点。 通过突出显示此行并执行以下操作之一来设置断点:
- 单击行左侧的装订线区域; 该行应变粉红色。
- 从“ 运行”菜单中选择“ 切换行断点 ” 。
- 同时按Ctrl和F8 。
现在,从“ 运行”菜单中选择“ 调试”应用程序 ,或单击工具栏上的相应图标。 如果仿真器未运行,则将看到“ 选择部署目标”对话框。 我选择了Nexus 5X API 15,然后单击“ 确定” 。
在等待仿真设备上线时,单击工具窗口栏上的“ 调试”按钮以显示“ 调试”窗口。 最终,您应该看到类似于图4的内容。
杰夫·弗里森
图4. Debug窗口显示堆栈框架,当前变量及其当前值,以及更多(单击放大)
“ 调试”窗口提供了用于逐步进入,退出和退出方法等的图标。 图5显示了我们逐步采用一种方法时会发生的情况。
杰夫·弗里森
图5.您可以跨入,进入和退出一种方法
单击相应的图标,然后从“ 运行”菜单中选择“ 跳过 ” ,或按F8键。 这使我们在逐步执行每个方法调用时可以更深入地研究onCreate()方法。
选择onCreate()方法的带有结束符}的行,然后选择Run to Cursor 。 您会收到有关该应用程序正在运行的通知。 解锁设备后,您应该会看到示例应用程序的活动窗口。
杰夫·弗里森
图6.单击Debugger选项卡左侧的前三个图标分别以继续,暂停和停止该应用程序(单击以放大)
有关调试的更多信息
查看Google的“ 调试您的应用 ”以了解有关在Android Studio中进行调试的更多信息; 例如,如何使用各种断点。
使用GAPID进行调试
虽然这里没有介绍,但我建议您检出GAPID:Graphics API Debugger ,这是一组调试工具,可让您检查,调整和重播从Android应用程序到图形驱动程序的调用。
用Lint进行代码检查
无论您多么仔细地编写它,源代码都可能包含错误, 样式问题 ,并且可能引用由于某种原因而处于非活动状态的资源。 短绒棉纱是一种工具,可以扫描源代码以查找这些杂物和其他令人讨厌的绒毛的证据,并报告给开发人员。
Lint是用于Android SDK的内置linter。 您可以使用它来查找问题,例如目标API不支持的不赞成使用的元素和API调用。
要在Android Studio中运行Lint,请从“ 分析”菜单中选择“ 检查代码... ”。 这样做会激活“ 指定检查范围”对话框。
杰夫·弗里森
图7.检查整个项目的设置(单击放大)
从对话框中选择所需的范围(在这种情况下为整个项目),然后单击“ 确定”开始检查。 结果将显示在“ 检查结果”窗口中,并按类别进行组织。
杰夫·弗里森
图8.未显示两个拼写错误:Lint不喜欢“ javajeff”(单击放大)
出于其本质,Lint挑选了一些可能会使应用程序代码混乱的绒毛。 一旦发现,就很容易修复图8所示的三个Java警告:只需将androidAnimation声明androidAnimation private并从两个findViewById()方法调用中删除强制类型转换。
有关Lint的更多信息
查看“ 使用lint check改进代码 ”以了解有关在Android Studio中使用Lint的更多信息,并了解Android SDK的独立Lint工具。
安装和使用Android Studio插件
尽管内置工具有其优点,但许多其他工具也可以作为插件使用。 在本节中,我们将研究三个插件,以提高您在Android Studio中的编码效率:
- 亚行理念
- 科多塔
- Lombok插件
Android Studio插件管理器
Android Studio的插件管理器使查找和安装插件非常容易。 通过选择文件激活插件管理器> 设置 ,然后从设置对话框插件 :
杰夫·弗里森
图9. Settings对话框显示所有已安装的插件(单击放大)
接下来,单击“ 浏览存储库...”以激活“ 浏览存储库”对话框,其中显示了受支持插件的完整列表。 我们将使用此对话框选择第一个插件ADB Idea。
杰夫·弗里森
图10.右侧窗格显示了有关所选插件的详细信息(单击放大)
提升您的Android生产力
代码快捷方式:ADB创意
通过提供对常用ADB命令(例如启动和卸载应用程序)的快速访问, ADB Idea加快了Android的日常开发。
在插件的存储库列表中选择“ ADB Idea ”,然后单击“ 安装”按钮。 Android Studio继续下载并安装插件。 然后,它重新标记“ 安装以重新启动Android Studio” 。 对于每个插件,我必须在单击Restart Android Studio之后重新选择插件,然后再次单击此按钮以重新启动Android Studio。
杰夫·弗里森
图11.安装ADB Idea(单击放大)
安装后,Android Studio允许您从其“ 工具”菜单访问ADB Idea。 选择工具> ADB Idea,然后从出现的弹出菜单中选择适当的命令。
杰夫·弗里森
图12.从弹出菜单中选择适当的ADB命令(单击以放大
选择ADB Restart App之后 ,我在事件日志窗口中以及在我的Amazon Kindle设备上重新启动的应用程序中观察到以下消息。
杰夫·弗里森
图13.每条消息标识应用程序,操作和设备
查找可用的代码:Codota
您可以使用Codota插件来访问Codota搜索引擎 ,该引擎使您可以浏览数百万个公开可用的Java源代码片段,以找到Android编码问题的解决方案。
杰夫·弗里森
图14.安装Codota(单击放大)
在插件的存储库列表中选择Codota ,然后单击“ 安装”按钮。 Android Studio下载并安装了插件后,它将重新标记“ 安装”按钮以重新启动Android Studio 。 重新启动会激活Codota。
重新启动后,您将遇到“ Codota身份验证”对话框。 单击链接,然后按照说明接收令牌。 然后,将令牌粘贴到上述对话框中,然后单击“执行” 。
杰夫·弗里森
图15.输入身份验证令牌,然后单击OK(单击放大)
通过使用Android Studio,您可以通过在编辑器窗口中右键单击Java代码并选择“ 获取相关示例”菜单项来访问Codota,如图16所示。
杰夫·弗里森
图16.单击“获取相关示例”(单击放大)
单击此菜单项将导致浏览器显示一个包含相关代码示例的页面。 例如,以下页面提供了与findViewById相关的示例:
杰夫·弗里森
图17.浏览器为突出显示的findViewById文本提供了相关示例(单击放大)
自动生成Java代码:Lombok
Lombok项目提供了一组注释,您可以使用它们来代替样板代码,从而节省了手工编写此代码的时间。
杰夫·弗里森
图18.单击安装以安装Lombok插件(单击以放大)
在插件的存储库列表中选择Lombok插件 ,然后单击安装 。 Android Studio下载并安装插件后,它将提示您重新启动Android Studio 。 重新启动会激活Lombok插件。
android初学者
本文介绍Android Studio的内置调试工具、Logcat、Lint等,以及提高开发效率的插件,如ADB Idea、Codota和Lombok。通过这些工具和插件,开发者可以更有效地调试和优化Android应用程序。
678

被折叠的 条评论
为什么被折叠?



