본문 바로가기

Programming/Android

3. 사용자 인터페이스 구현 (2) - UI 작성법 : JAVA vs XML [1/2]

android studio logo image

 

 

 

안드로이드 프로그래밍에서 UI를 만드는 방법은 이론적으로는 자바 코드로 직접 작성하기, 레이아웃 XML로 작성하기 - 이렇게 두 가지 방법이 있습니다. 물론 실제로는 대부분 레이아웃 XML을 활용하는 것이 사실이지만, 기본적인 원리를 학습하는 차원에서 두 가지 방법 모두 학습해 보도록 하겠습니다. 

 

 


 

 

○ 자바 코드 사용

 

자바 코드를 통해서 화면을 구성하게 되면 - 레이아웃 XML을 사용하지 않고, 자바 코드만으로 뷰 생성을 진행하고 메서드를 활용해 뷰의 속성 등을 일일이 지정하게 됩니다. 그리고 이렇게 준비한 뷰를 setContentView( ) 함수의 파라미터로 넘기는 방식으로 화면을 구현하게 됩니다. 

 

안드로이드 스튜디오를 실행하고, 우리가 앞서서 사용한 AndroidLab 프로젝트를 다시 활용해 봅시다. [File > New > New Module] 메뉴를 통해서 새로운 모듈(앱) 하나를 생성하고 실습을 진행합시다. 

 

우선 Phone & Tablet 템플릿을 선택하고, Application/Library name은 JavaUISample로 지정해 보았습니다. 

 

 

 

 

그리고 Empty Activity를 선택해 줍니다. 

 

 

 

 

액티비티 명과 설정은 디폴트 값을 유지하고 Finish를 클릭해 모듈 생성을 완료해 봅시다.

 

 

 

이제 [MainActivity.java] 파일을 아래와 같이 직접 작성해 보겠습니다. 여기서는 LinearLayout을 하나 선언한 다음 여기에 버튼 2개를 추가하였습니다. 일단, LinearLayout 자체에 대한 설명은 추후 진행할 테니 여기서는 버튼 2개를 포함하는 클래스라고 생각하겠습니다. 참고로 이렇게 작성한 뒤에는 별도의 XML 파일 처리는 필요하지 않습니다.

 

package com.example.javauisample;

import android.os.Bundle;
import android.widget.Button;
import android.widget.LinearLayout;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        LinearLayout linear = new LinearLayout(this);
        
        Button bt = new Button(this);
        bt.setText("Button 1");
        linear.addView(bt);
        
        Button bt2 = new Button(this);
        bt2.setText("Button 2");
        linear.addView(bt2);
        
        setContentView(linear);
    }
}

 

 

 

 

ㅇㅇ