android

Android View Binding 에 대한 이해

Billcoreatech Billcoreatech 2021. 2. 16. 22:18

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();
            }
        });

    }

 

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

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

반응형