我想创建对OnCreate()
方法做出反应的项目。
所以,例如,我有活动
public class MainActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
//do something
}
}
我想让我的AspectJ类在OnCreate方法调用之前和之后做一些事情。
public aspect onCreate
{
pointcut captureOnCreate() : (execution(* onCreate(Bundle)));
before(): captureOnCreate()
{
System.out.println("Aspect BEFORE called");
}
after(): captureOnCreate()
{
System.out.println("Aspect AFTER called");
}
}
我尝试将项目转换为AspectJ并将其作为Android应用程序项目运行,但它不起作用。怎么了?
解决
自己解决了。 在Eclipse AspectJ工具中 - > Inpath - >添加外部JAR并将其链接到aspectjrt.jar文件。
并且executoin看起来像这样:
execution(* onCreate(*))&& !within(com.xxx.automation.onCreate);