Android 동적 타 점

1148 단어
배경
Android 에 빅 데이터 매 립 점 을 추가 하여 사용자 의 조작 행 위 를 통계 해 야 합 니 다.
일반적인 상황 에서 우 리 는 모든 단추 의 onClick () 방법 에 점 을 묻 습 니 다. 코드 결합 도 를 줄 이기 위해 서 우 리 는 동적 으로 점 을 찍 는 방식 으로 점 을 묻 을 수 있 습 니 다.
동적 타 점 원리
Android 시스템 View 류 의 소스 코드 를 분석 한 결과 Android 에서 View 이벤트 트리거 가 호출 되 는 것 을 발견 하 였 습 니 다.
sendAccessibilityEvent(int eventType)

이 방법 은 다음 과 같다.
public void sendAccessibilityEvent(int eventType) {
    if (mAccessibilityDelegate != null) {
        mAccessibilityDelegate.sendAccessibilityEvent(this, eventType);
    } else {
        sendAccessibilityEventInternal(eventType);
    }

}

프 록 시 만 설정 하면 View 의 Click 이 벤트 를 차단 할 수 있 습 니 다.
View. Accessibility Delegate 의 구체 적 인 설명 은 Android 개발 자 문 서 를 참고 하 십시오.
구체 적 실현
github 에서 프로젝트 원본 코드 를 제공 합 니 다:https://github.com/chuanshen/ClickTracker
실현 절차:
  • ViewId 와 EventId 의 관 계 를 주석 으로 연결 합 니 다 (예시 에서 EventEnum 에 @ DataId 추가)
  • ClickTracker 에서 이벤트 차단 작업 을 하고 이벤트 가 실 행 될 때 clickTracker (view, eventId) 를 되 돌려 줍 니 다.
  • ClickTracker 를 계승 하고 clickTracker (view, eventId) 방법 을 재 작성 하여 자신의 논 리 를 실현 합 니 다
  • 좋은 웹페이지 즐겨찾기