괴발개발

[Android] About ViewBinding 본문

Study/Android Studio

[Android] About ViewBinding

yousim 2022. 4. 14. 16:25

ViewBinding에 대해서 알아본다. 



1. build.gradle(module) 에 해당 코드를 추가한다. 

(난 안드로이드 버전 4..0 이상이라 이렇게 썼다. 

 

 


android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    buildFeatures { viewBinding = true }

 


4.0보다 안된다면  android { }안에   

viewBinding

{enabled = true}

를 넣어야한다. 



2.  xml을 작성한다. 


<?xml version="1.0" encoding="utf-8"?>


<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    tools:context=".MainActivity"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="8dp"
        android:textColor="#FF333333"
        android:text="Hello"
        tools:ignore="MissingConstraints" />



</LinearLayout>




3. 이렇게 하고 MainActivity.java에 가면

ActivityMainBinding이 저절로 생성된다. 

MainActivity.java  코드는 이와 같다. 

package com.example.fragment;

import androidx.appcompat.app.AppCompatActivity;


import android.os.Bundle;

import com.example.fragment.databinding.ActivityMainBinding;

public class MainActivity extends AppCompatActivity {

   ActivityMainBinding mainBinding;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mainBinding= ActivityMainBinding.inflate(getLayoutInflater());
        setContentView(mainBinding.getRoot());
        mainBinding.tv.setText("asd");

    }


}