如何找到 android 框架 class 的 implementation/subclass
How to find implementation/subclass of android framework class
我知道有 android's source code。但是如何找到某些特定接口或抽象 class 的实现或子 class,例如 FragmentManager
?当您深入研究源代码以查找错误或试图了解事物的工作原理但仅到达接口和抽象 classes 时,这很烦人和沮丧。
感谢分享。
更新: 好的,我发现 FragmentManager
中有一个内部 class 继承了它。但是其他的呢,比如上下文,一些服务?也许 google 有时会有帮助,但如果没有帮助怎么办?
自我结论:官方API参考列表public子classes。如果需要 private 或 package-private,它们应该在同一个包或 class 文件中。
只需使用 Android Studio 搜索在 android 个来源中执行搜索。特别是在这种情况下,您对从 FragmentManager
扩展而来的 类 感兴趣,这意味着您正在通过源搜索 "... extends FragmentManager" :
选中 "Directory" 单选按钮和 "Recursively" 复选框,在框中指出 sdk 的路径。
然后在预览中 window 系统会提示您匹配:
您还可以在 this 答案中查看使用正则表达式进行更具体搜索的示例。
我知道有 android's source code。但是如何找到某些特定接口或抽象 class 的实现或子 class,例如 FragmentManager
?当您深入研究源代码以查找错误或试图了解事物的工作原理但仅到达接口和抽象 classes 时,这很烦人和沮丧。
感谢分享。
更新: 好的,我发现 FragmentManager
中有一个内部 class 继承了它。但是其他的呢,比如上下文,一些服务?也许 google 有时会有帮助,但如果没有帮助怎么办?
自我结论:官方API参考列表public子classes。如果需要 private 或 package-private,它们应该在同一个包或 class 文件中。
只需使用 Android Studio 搜索在 android 个来源中执行搜索。特别是在这种情况下,您对从 FragmentManager
扩展而来的 类 感兴趣,这意味着您正在通过源搜索 "... extends FragmentManager" :
选中 "Directory" 单选按钮和 "Recursively" 复选框,在框中指出 sdk 的路径。
然后在预览中 window 系统会提示您匹配:
您还可以在 this 答案中查看使用正则表达式进行更具体搜索的示例。