我想创建对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 tools -> Inpath -> Add External JARs 中并将其链接到 aspectjrt.jar 文件。
executoin 看起来像这样:
execution(* onCreate(*))&& !within(com.xxx.automation.onCreate);