콜백과 리스너의 차이점은 무엇입니까?


18

블랙 베리에서는 keyChar () 메서드를 재정의하고 키 누르기 이벤트를 캡처하거나 onKeyPressListener를 등록 할 수 있습니다. onKeyListener가 관찰자 패턴이라는 것을 알고 있습니다.

안드로이드에는 KeyEvent.callback 및 onKeyListener도 있습니다.

둘 다 keyChar 이벤트에 등록 할 필요가없는 이벤트입니다. 두 패턴의 차이점은 무엇입니까?

답변:


14

일부 유형의 이벤트에 대한 리스너가 많을 수 있지만 콜백은 하나뿐입니다.


안드로이드에서는 하나의 OnClickListener 만 뷰로 설정할 수 있습니다.
Vivart

2
"리스너"의 정의가 다른 제품의 정의와 일치하지 않을 수 있습니다. 일반적으로 "setFooBarListener ()"메서드는 없지만 "addFooBarListener ()"메서드는 없습니다.
user281377

3
또 다른 차이점은 callback함수 (또는 클로저 또는 대리자)를 의미하지만 listener해당 리스너 인터페이스를 구현하는 클래스의 객체입니다.
user281377

Vivart : 중요하지 않습니다. 제 대답은 그다지 좋지 않습니다
user281377

-5

라이브러리를 사용하는 응용 프로그램이 있다고 가정합니다.

리스너 : 라이브러리는 데이터에서 일부 코드를 실행하지만 코드는 Application에서 구현됩니다.

콜백 : 응용 프로그램은 데이터에서 일부 코드를 실행하지만 코드는 라이브러리에서 구현됩니다.

라이브러리는 애플리케이션을 볼 수 없으므로 대신 해당 리스너를 대신 할 수있는 방법이 없습니다.

물론 응용 프로그램은 라이브러리를 볼 수 있지만 때로는 라이브러리가 코드를 숨기고 싶어하며 응용 프로그램이 이해하는 데 도움이됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.