2011-12-04 53 views
5

有没有一种简单的方法来拦截java中的方法。我需要为所需的方法添加注释,以便在通过方法之前调用一段逻辑。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 
} 

编辑:

推荐吉斯库for Android应用程序不包含AOP。 是否有可能在不添加任何库的情况下使用反射来实现此目的?

+0

嗨@aryaxt,你找到一个解决方案?如果你有,你能分享吗?我找到了一个图书馆; https://code.google.com/p/android-method-interceptor/ 它没有记录,我不明白该怎么做。 – slhddn

回答

0

编码为接口我怀疑它可以很好地完成没有任何第三方库。

有一个名为cglib的库,它有这样的功能。

基本上它会在运行时创建拦截类的子类。您可以通过实现一个InvocationHandler来“覆盖”方法,该方法将在调用任何超类方法时充当代理。