如何在大型Android代码库中快速找到与小型UI组件相关的代码?

时间:2012-08-14 23:03:18

标签: android codebase locate

我刚开始做Android开发人员的工作。我的第一个任务是修复应用程序调用DailyFinance的几个错误。

与UI相关的一个错误是,如果单击某个页面上的按钮,将弹出一个对话框,但对话框显示不正确。我的问题是如何在我不熟悉的代码库中快速找到与对话框相关的代码(xml布局文件以及活动)?

2 个答案:

答案 0 :(得分:2)

记住夫妻方法:

  1. 搜索目标对话框中显示的任何文本。
  2. 搜索按钮文本并找到包含启动目标对话框的按钮的xml布局文件
  3. 找到xml布局文件后,将按钮'id'确定为xxxxx,然后您可以进一步搜索source包含对'R.id.xxxxx'的引用

答案 1 :(得分:1)

在实现对话框的文件中的方法上设置断点。所以也许搜索对话框然后在对话框中放置断点。看到它在你的对话被拉起时被击中。或者只是查看在其中包含单词对话框的文件中设置布局的位置。寻找R.layout.someLayoutName。

另一个建议是一些困难的布局,很难看到你发现什么,你可以使用HierachyViewer来查看运行时视图布局:http://developer.android.com/tools/help/hierarchy-viewer.html它值得在你的应用程序上运行,以查看布局的结构运行时通常很难在布局文件膨胀之前看到这些关系。

顺便说一下,我是CS的学生,我犯过的最大的错误就是没有内外学习调试器。毫无疑问,它是你必须学习的最强大的盟友以及修复bug。如果你考虑一下,代码实际上只是一个抽象,直到你看到它在调试器中运行。