java - 提取 Android Java 源代码中使用的方法

标签 java android parsing

我一直在尝试为我的项目获取 Android 应用程序的 .java 文件中使用的方法。我使用了互联网上可用的解析器,但它们仅解析出用户定义的方法或核心 Java 方法。我想提取也是 android 框架一部分的方法,就像 eclipse 如何在 Java 大纲选项卡中显示方法和变量列表一样。

我尝试过使用 javaparser、AST Parser 和 Java API java.lang.reflect.Method。例如,如果我有一个如下所示的 java 文件

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (getResources().getBoolean(R.bool.portrait_only)) {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        } else {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        }
    }

    public void showLogin() {
        registerNumberEditText.setVisibility(View.VISIBLE);
        passwordEditText.setVisibility(View.VISIBLE);
        loginButton.setVisibility(View.VISIBLE);
        textView1.setVisibility(View.INVISIBLE);
        txtProg.setVisibility(View.INVISIBLE);
        loginStat = true;
    }
}

对于上面的代码,我需要代码中使用的方法和参数的列表,例如

Methods:
     OnCreate
     getResources
     getBoolean
     setRequestedOrientation
     showLogin
     setVisibility

但不是

Methods:
    showLogin

谢谢你帮我...

最佳答案

我认为 java 反射 API 在这种情况下工作正常,请尝试以下代码:

for (Method m:MainActivity.class.getMethods()){
        System.out.println(m.getName());
    }

关于java - 提取 Android Java 源代码中使用的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29505826/

相关文章:

java - 在 Java 8 中展开多个可选变量

java - 如何在操作书中的 mahout 中运行示例

java - AlertDialog 生成器 OnItemSelectedListener

java - 安卓工作室 : cannot read packageName from manifest

c# - 使用数学运算符评估字符串

c# - 国际格式数字的Excel导入数据解析错误

c++ - 在字符串中将十进制转换为二进制时出错

java - 在同一个对象上多次调用 Mockito.when?

c# - 分类库

android - 使用RelativeLayout构建像ui这样的网格时出现问题