我一直在尝试为我的项目获取 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/