2011-12-04 95 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來「覆蓋」方法,該方法將在調用任何超類方法時充當代理。