상세 컨텐츠

본문 제목

[안드로이드] DataBinding 컴포넌트 쉽게 접근하는 방법

안드로이드

by aries574 2022. 5. 10. 15:00

본문


이번 시간에는 DataBinding를 통해 레이아웃 컴포넌트에 쉽게 접근하는 방법에 대하여 알아보겠습니다.


목차

1. 실행 화면

2. dataBinding 설정

3. 메인 화면 구성 activity_main.xml

4. 메인 코드 구현 MainActivity.java


1. 실행 화면

 

2. dataBinding 설정

build.gradle(Module:프로젝트명:app)

android 괄호 안에 아래 코드를 넣어주시면 됩니다.

 dataBinding{

        enabled = true
    }

 

 

3. 메인 화면 구성 activity_main.xml

 - 설명 -

 1. 첫 번째 버튼은 숫자를 +1씩 크게 합니다.

 2. 두 번째 버튼은 숫자를 -1씩 작게 합니다.

 3. 텍스트뷰는 숫자를 표시합니다. 

 4. 최상위 레이아웃의 태그는 layout으로 해야 합니다. 

 5. layout으로 해야 메인코드에서 ActivityMainBinding 타입 객체를 만들 수 있습니다. 

<?xml version="1.0" encoding="utf-8"?>
<layout 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">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity">

        <Button
            android:id="@+id/plus_btn"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:text="더하기"
            android:textSize="25sp"/>

        <TextView
            android:id="@+id/score_text"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="8"
            android:gravity="center"
            android:text="0"
            android:textSize="150sp"/>

        <Button
            android:id="@+id/minus_btn"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:text="더하기"
            android:textSize="25sp"/>
    </LinearLayout>
</layout>

 

4. 메인 코드 구현 MainActivity.java

 - 설명 - 

 1. dataBinding설정과 layout태그가 돼있어야 ActivityMainBinding을 사용할 수 있습니다.

 2. binding = DataBindingUtil.setContentView(this, R.layout.activity_main);

  binding를 초기화합니다. 메인화면으로 설정합니다. 

 3. 이제 binding변수를 통해 레이아웃에 있는 컴포넌트에 직접 접근이 가능해집니다.

 4. 컴포넌트마다 findViewById()를 통해 아이디를 찾아서 변수를 만들 필요가 없습니다. 

public class MainActivity extends AppCompatActivity {

    ActivityMainBinding binding;

    int score = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //초기화
        binding = DataBindingUtil.setContentView(this, R.layout.activity_main);

        //마이너스 버튼
        binding.minusBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                score--;
                binding.scoreText.setText(String.valueOf(score));
            }
        });

        //플러스 버튼
        binding.plusBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                score++;
                binding.scoreText.setText(String.valueOf(score));
            }
        });

    }//onCreate
}//MainActivity

2022.05.07 - [안드로이드] - [안드로이드] HTTP 통신 Volley 사용법 part1 - 간단한 요청 및 응답

 

[안드로이드] HTTP 통신 Volley 사용법 part1 - 간단한 요청 및 응답

이번 시간에는 HTTP통신을 쉽게 도와주는 Volley 라이브러리를 이용해서 API 호출,  데이터를 가져오는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 권한 등록 3. 라이브러리 등록 4. 메인

aries574.tistory.com

2022.04.19 - [안드로이드] - [안드로이드] 커스텀 달력 만드는 방법 part1 화면 구성

 

[안드로이드] 커스텀 달력 만드는 방법 part1 화면 구성

이번 시간부터 커스텀 달력을 만들어 보겠습니다. 이번에는 메인화면 구성을 해보겠습니다. 목차 1. 실행 화면 2. 메인 화면 구성 activity_main.xml 1. 실행 화면 2. 메인 화면 구성 activity_main.xml  -.

aries574.tistory.com

2022.04.02 - [안드로이드] - [안드로이드] 같은 그림 찾기 게임 만드는 방법 part1 - 화면 구성

 

[안드로이드] 같은 그림 찾기 게임 만드는 방법 part1 - 화면구성

앞으로 같은 그림 찾기 게임을 만들어 보겠습니다. 이번 시간에는 화면 구성을 해보겠습니다. 이 게임은 8장의 카드가 있고, 2장의 카드를 뒤집어서 같은 그림이면 성공, 틀리면 맞을 때까지 하

aries574.tistory.com

 

반응형

관련글 더보기

댓글 영역