是否有一种简单的方法来拦截java中的方法。我需要在所需的方法中添加一个注释,以便在通过该方法之前调用一段逻辑。
public void verifyActivity() {
// Asset if you are on a wrong page
}
@VerifyActivity
public void testLogin() {
// Login for my automate test
}
@VerifyActivity
public void testSomethingElse() {
// Test some other UI Automation stuff
}
修改
Android应用程序推荐的guice库不包含AOP。 是否可以在不添加任何库的情况下使用反射实现此目的?
答案 0 :(得分:2)
Guice提供了实现注释的简便方法。看看这个。
答案 1 :(得分:1)
正如sid malani所说,Google Guice对此很有帮助。一般来说,您希望阅读aspect oriented programming tutorials ...有一个名为JMangler的好工具也可以使用
答案 2 :(得分:0)
如果您通过dynamic proxies.
编码接口,则可以使用反射答案 3 :(得分:0)
我怀疑没有任何第三方库可以很好地完成它。
有一个名为cglib的库,它能够做到这一点。
基本上它会在运行时创建截取类的子类。您将能够通过实现InvocationHandler来“覆盖”方法,InvocationHandler将在调用任何超类方法时充当代理。