2026/02/12

오늘의 이야기

developer.android.com/topic/libraries/view-binding?hl=ko



 


뷰 결합  |  Android 개발자  |  Android Developers


뷰 결합 기능을 사용하면 뷰와 상호작용하는 코드를 쉽게 작성할 수 있습니다. 모듈에서 사용 설정된 뷰 결합은 모듈에 있는 각 XML 레이아웃 파일의 결합 클래스를 생성합니다. 바인딩 클래스의


developer.android.com




이건 뭔가 하는 생각이 들때 한번 해보면 편하게 적용할 수 있다는 것을 알게 된다.


예전 처음 안드로이드를 배울때 부터... 여태것  layout 에 버튼을 하나 달면 꼭 activity 내에서 다시 선언을 하고 나서야 


그 버튼을 활용할 수 있었다.


 


 Android Studio 3.6 Canary 11 이상에서만 적용이 된다고 나와 있기는 하지만, 그 이후에서 부터는 저기 기술된 것처럼


view binding 을 이용해 한줄 이라도 덜 코딩하는 마법(?)이 생겨난다.


 


이걸 구현 하기 위해서는 build.gradle 에 아래 예시 처럼 선언이 필요하다.


 


android {
       
...
        viewBinding
{
            enabled = true
        }

   
}


 


 


activity 소스 내에서는 layout 파일이름으로 바인딩을 먼저 선언하고


실제 사용에는 아래 예시와 같이 작성한 후 해당 layout 안에 있는 것들을 사용하면 된다.


 


    ActivityMainBinding binding ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityMainBinding.inflate(getLayoutInflater());
View view = binding.getRoot() ;
setContentView(view);
setSupportActionBar(binding.toolbar);

binding.fabMenuSetting.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "Mesg", Toast.LENGTH_LONG).show();
}
});

}

 


이렇게 코딩을 함으로 해서 조금은 편하게 코딩을 할 수 있게 되는 것이다.


이보다 더 낮은 방법이 있을 수 도 있는데, 아직은 여기 까지...





댓글 없음:

댓글 쓰기

오늘의 이야기

온라인으로 동시에 여러사람이 사용할 앱을 만들고 싶다. 그런데 동시에 데이터를 볼 수 있어야 한다면 내가 운영할 서버를 만들어야 한다.    방법으로는 호스팅 서비스를 이용해서 업무를 주고 받을 서버를 구축하고 사용하거나,  내가 관리할 수 있는 위치...