2011-12-04 61 views
5

Có cách nào đơn giản để chặn các phương thức trong java không. Tôi cần thêm chú thích vào các phương thức cần thiết để một đoạn logic được gọi trước khi thực hiện phương thức.Java - Sử dụng chú thích và phương pháp đánh chặn?

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 
} 

EDIT:

Các đề nghị thư viện Guice cho các ứng dụng android không chứa AOP. Có thể đạt được điều này bằng cách sử dụng sự phản chiếu mà không cần thêm bất kỳ thư viện nào không?

+0

Hi @aryaxt, bạn có tìm thấy giải pháp không? Nếu bạn đã làm, bạn có thể chia sẻ? Tôi tìm thấy một thư viện; https://code.google.com/p/android-method-interceptor/ Nó không phải là tài liệu và tôi không thể hiểu phải làm gì. – slhddn

Trả lời

0

Bạn có thể sử dụng phản ánh nếu bạn đã mã hoá để giao diện thông qua dynamic proxies.

0

tôi nghi ngờ rằng nó có thể được thực hiện độc đáo mà không cần bất kỳ libs bên thứ 3 nào.

Có thư viện gọi là cglib, có khả năng như vậy.

Về cơ bản, nó sẽ tạo một lớp con của lớp bị chặn trong thời gian chạy. Bạn sẽ có thể "ghi đè" các phương thức bằng cách thực hiện một InvocationHandler, nó sẽ hoạt động như một proxy khi bất kỳ phương thức siêu lớp nào được gọi.

Các vấn đề liên quan