마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

IOS의 델리게이트를 안드로이드에서 구현하려면...

0 추천

오브젝티브C만 알고 IOS만 개발한 개발자인데요

이번에 안드로이드를 하려고하니 궁금한점이 있습니다

IOS에서는 화면끼리 delegate와 프로토콜을 엮어서 추상메서드를 만들어서 값을 주고받는데요

이걸 안드로이드식으로 풀어보자면

 

B액티비티에서 delegate를 하나만들고 여기에다가 run(),walk() 이렇게 두개의 함수를 만듭니다

그러면 A액티비티에서 B액티비티를 import하고서 이 추상메서드(함수)를 사용하겠다고 선언하고서 이 함수를 구현을 해두면 

B액티비티에서 run()이나 walk()를 호출했을때 A액티비티에서 구현해둔 run()이나 walk()가 실행되거든요

 

그런데 아이폰에는 delegate란게 있어서 이걸가지고 함수를 호출하는데 

안드로이드는 이게 없는듯해서 보통 어떤식으로 구현하시는지 궁금합니다

단순히 값을주고받을때는 INTENT를 쓰는걸로 아는데 그거말고 클래스간에 함수를 호출하려면 어떻게 해야할지 모르겠네요

 

검색으로 해보니 인터페이스로 하는방법도 있고

클래스 한개를 교통정리용으로 만들고 이용하는 방법도 있고 

리스너를 이용하는 방법도 있던데

 

그냥 보통은 어떤방법이 주로 사용되는지 궁금합니다...

이미 아이폰용 앱이 만들어져 있어서 컨버전을 해야하거든요...

그래서 가장 비슷하게 동작하는 방식이 어떤건지 궁금합니다...

 

 

제이한 (260 포인트) 님이 2015년 5월 25일 질문

1개의 답변

0 추천
interface로 handler만들어서 전달하는게 delegate와 가장 유사한 방법이겠네요.(c#의 delegate와도 유사함)

Runnable 클래스도 살펴보시길 바랍니다.

Intent는 Acitivity간에 주로 사용됩니다.
국가연금술사 (220 포인트) 님이 2015년 5월 25일 답변
...