2011-02-09 3 views
0

컨텍스트를 제공하려면 android 프로젝트에서 aspectJ를 성공적으로 사용하고 있으며 기본 UI 스레드를 차단할 수없는 메서드에 적용한 @Background 주석을 작성했습니다. 이 주석은 백그라운드 스레드에서 코드를 실행하고 네트워크 오류 및 사용자 알림을 처리하는 pointcut 및 around advice로 가로 채고 있습니다. 공공 부울의 onCreateOptionsMenu (메뉴 : 나는 다음에 무엇을하고 싶은 무엇특정 주석이있는 메소드가있는 클래스에서 인 타입 삽입을 수행하는 방법은 무엇입니까?

자동이 다음 서명하는 방법을 재정 의하여 수행해야합니다 같은 배경 방법 있는 모든 활동에 메뉴에서 새로 고침 버튼을 제공하는 것입니다 메뉴);

배경 작업을 수행하지 않는 활동에는 메뉴가 없으므로 해당 방법을 재정의하지 않습니다.

그렇다면 특정 주석이있는 메소드를 가진 클래스에서 aspectJ를 메서드로 대체하는 방법이 있습니까?

아니면 더 멋진 해결책이 있습니까?

감사합니다. 카를로스.

답변

0

hasMethod 유형 패턴을보십시오 (용도는 bug report입니다). 필요한 서명이있는 메소드가있는 유형에 마커 인터페이스를 추가 한 다음 onCreateOptionsMenu를 소개 할 수 있어야합니다.

+0

고맙습니다 @ramnivas. 이것은 유용 할 수 있지만 2 가지 문제가있는 것처럼 보입니다. 1)이 기능은 7 년 전에 요청되었고 여러 번 지연되었으므로 changelogs에서 읽은 최신 이정표 릴리스에 아직 없습니다. 2) 마커 인터페이스 사용 패턴은 Inter-type 주입이 인터페이스에서 수행됨을 의미합니다. 그렇다면 모든 액티비티가 확장 된 액티비티 수퍼 클래스에서 선언 된 다른 메서드를 어떻게 호출 할 수 있는지 보지 못했습니다 ... 선언문 부모 패턴을 사용하고 오버라이드 한 클래스 그 방법 – anjosc

관련 문제