JAVA + Android Studio

1. 0707_xml과 java파일, 버튼 만들기

55yudi 2021. 10. 21. 00:11

- activity_main.xml 의 design 을 가지고 화면을 시각적으로 보여줌

 

- activity_main.xml의 화면 구성

  palette | design | Attributes

 

- 자석모양버튼 클릭 : disable 해제

 

- text size 단위 : sp

- 도형, 공간 size 단위 : dp

 

 

- xml : 화면모양, 레이아웃

- java : 동작하는 코드    --> 이 두개로 나뉘어져 분리돼 있음

--> 프로그래밍 언어를 모르는 사람도 디자인만으로도 작업이 가능할 수 있음

     그러나 동작시키려는 코드가 어느 버튼에 적용되어 기능되는지 알아야 하므로 코드도 잘 봐야 한다.


- 버튼을 저장할 변수와 크기 만들어주기, import도 되어있어야 함

Button myButton = findviewById(R.id.button);

 

* 수동으로 import 하는 것 보다 자동import 하는 방법 :

File - setting > Editor - General - auto import - java란의 체크박스 2개 체크

 

- 변수크기 변수명 = id를 찾아주는 함수(id명 루트);

Button myButton = findViewById(R.id.button);
EditText myInput1 = findViewById(R.id.input1);
TextView myOutput1 = findViewById(R.id.output1);

- 변수 크기를 onCreate위에서 먼저 명시해주면

   아래쪽 코드에서 따로 적지않아도 된다.

myButton.setOnClickListener(new view.onclick~~() (생략)

- xml id값 확인

- 버튼을 클릭하면 textview가 홍길동 1로 바뀌도록 코드 작성

- 대신 텍스트뷰 변수크기랑 변수명은 Oncreate함수 밖에 써야 한다.

package com.example.test3;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    TextView myInput1;
    TextView myInput2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button myButton1 = findViewById(R.id.button1);
        myButton1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                myInput1.setText("홍길동1");
            }
        });

        Button myButton2 = findViewById(R.id.button2);
        myButton2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                myInput2.setText("홍길동2");
            }
        });

        myInput1 = findViewById(R.id.input1);
        myInput2 = findViewById(R.id.input2);

    }
}