[android] 데이터 바인딩을 사용한 옵저버패턴 구현
안녕하세요! 안드로이드 앱에서 옵저버 패턴을 구현하고자 할 때 데이터 바인딩 라이브러리를 사용하는 방법을 알아보겠습니다.
데이터 바인딩이란?
안드로이드의 데이터 바인딩은 뷰와 데이터를 바인딩하여 UI 컴포넌트와 비즈니스 로직을 분리하는 라이브러리입니다. 이를 통해 데이터의 변경에 따른 UI 업데이트를 간소화할 수 있습니다.
옵저버 패턴 구현
옵저버 패턴을 구현하려면 다음 구성 요소들이 필요합니다.
- Observable(관찰 대상): 데이터 변경을 감지할 객체
- Observer(옵저버): 데이터 변경을 감지하고 처리할 객체
데이터 바인딩을 사용한 옵저버 패턴 구현 방법
// Observable 클래스 구현
public class User extends BaseObservable {
private String name;
@Bindable
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
notifyPropertyChanged(BR.name);
}
}
// Observer (액티비티 또는 프래그먼트)에서 사용
public class MainActivity extends AppCompatActivity {
private User user;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
user = new User();
binding.setUser(user);
// 옵저버 등록
user.addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
@Override
public void onPropertyChanged(Observable sender, int propertyId) {
if (propertyId == BR.name) {
// 이름 변경에 따른 처리
}
}
});
}
}
위의 예시에서는 User
클래스가 옵저버 패턴의 Observable 역할을 하며, MainActivity
가 Observer 역할을 합니다.
결론
이제 데이터 바인딩을 사용하여 안드로이드 앱에서 옵저버 패턴을 구현하는 방법을 배웠습니다. 데이터 바인딩을 통해 데이터와 UI 간의 결합도를 낮추고 유지보수성을 향상시킬 수 있습니다.
더 많은 정보는 안드로이드 공식 문서를 참고하세요.