아이폰 개발하다 안드로이드 유지보수가 필요해서 다시 공부 시작..
IOS 델리게이트 패턴과 유사한게 있을 까 싶어 찾아보니 동일한 기능이 있다. ^^
ClassB interface Delegate
interface ClassBDelegate {
void setA(String a);
void setB(String b);
void setC(String c);
}
public class ClassB {
private final WeakReference<ClassBDelegate> delegate;
public void ClassB(ClassBDelegate delegate) {
this.delegate = new WeakReference<ClassBDelegate>(delegate);
}
public void callMe() {
System.out.println("DelegateClass Call");
if (delegate != null) {
String data = "orignal data";
this.delegate.get().setA(data + "Delegate A Function");
this.delegate.get().setB(data + "Delegate B Function");
this.delegate.get().setC(data + "Delegate C Function");
}
}
}
MainActivity 델리게이트 연동
public class MainActivity extends AppCompatActivity implements ClassBDelegate {
ClassB classb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
classb = new ClassB(this);
classb.callMe();
}
/// DelegateClass Interface
@Override
public void setA(String a) {
Log.d("DelegateA",a + " 처리가 되었습니다.");
}
@Override
public void setB(String b) {
Log.d("DelegateB",b + " 처리가 되었습니다.");
}
@Override
public void setC(String c) {
Log.d("DelegateC",c + " 처리가 되었습니다.");
}
}'Android(Java)' 카테고리의 다른 글
| [Java] 암시적 Intent 공유하기 (1) | 2024.01.11 |
|---|---|
| [Java] 암시적 Intent 기본 사용방법 (0) | 2024.01.11 |
| [Java] 사용자 Activity 활성화 명시적 Intent 사용 방법 (1) | 2024.01.11 |
| [Java] abstract Callback (추상클래스 콜백) (1) | 2024.01.05 |
| [Java] interface Callback (0) | 2024.01.05 |