반응형

유튜브 채널 hongdroid홍드로이드님의 강의를 보고 학습했습니다.

 

hongdroid홍드로이드

안녕하세요 구디에서 신입 앱 개발자로서의 삶을 살아가고 있는 홍드로이드 라고 합니다. 이 채널에서는 IT 계열 앱 개발자는 도대체 어떻게 하루를 보낼까 하는 분들을 위해서 만들어졌습니다.

www.youtube.com

XML 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?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"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:textColor="#000000"
        android:text="SEMIN"
        />
 
    <Button
        android:id="@+id/btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button1"
        />
 
    <Button
        android:id="@+id/btn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button2"
        />
 
    <View
        android:id="@+id/v1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#3F51B5"
        />
    <View
        android:id="@+id/v2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#E91E63"
        android:visibility="gone"
        />
 
</LinearLayout>
cs

Java 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package com.example.edittext2;
 
import androidx.appcompat.app.AppCompatActivity;
 
import android.os.Bundle;
import android.service.autofill.OnClickAction;
import android.view.View;
import android.widget.Button;
 
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
 
    private Button btn1;
    private Button btn2;
 
    private View v1;
    private View v2;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        btn1 = findViewById(R.id.btn1);
        btn2 = findViewById(R.id.btn2);
 
        v1 = findViewById(R.id.v1);
        v2 = findViewById(R.id.v2);
 
        btn1.setOnClickListener(this);
        btn2.setOnClickListener(this);
    }
 
    public void onClick(View v){
        switch(v.getId()){
            case R.id.btn1 :
                v1.setVisibility(View.VISIBLE);
                v2.setVisibility(View.GONE);
                break;
            case R.id.btn2 :
                v1.setVisibility(View.GONE);
                v2.setVisibility(View.VISIBLE);
                break;
        }
    }
}
cs

 

지난 글의 OnClick 구현을 하던 중 OnClick을 구현하는 방법이 여러가지가 있다는 것을 알았고, 오늘은 OnClick을 구현하는 다른 방법을 공부했다.

구글링을 하면서 찾은 Java 코드 10번째 줄에 implements 라는 것이 있었는데, 이는 extends 외의 다른 형태의 상속이라 한다.

그래서 이 개념이 나온 김에 상속에 대해서도 정리를 하고자 한다.

1. 상속

위 그림처럼 클래스의 특성을 이어받는 것을 상속이라고 한다.

  1) extends 상속 : 부모의 메소드를 그대로 사용

  2) implements 상속 : 부모의 메소드를 반드시 재정의(Override) 해야 한다.

공부를 하면서 안 점은 Java는 다중상속을 지원하지 않아, implements를 많이 사용한다고 한다.

 

2. View : 화면을 출력하는 역할을 하는 것 같다.( 색을 넣을 수 있음 ) 

  1) background : View의 색을 설정해준다. ( #ffffff )

  2) setVisibility : 설정한 화면이 애플리케이션 상에 보여질지를 정한다.

    --> visibility의 속성은 3가지가 있다. (1) visible, (2) invisible, (3) gone

    visible은 view를 보여주고

    invisible은 view를 보여주지는 않지만 자리를 차지한다.

    gone은 view를 보여주지도 않고 자리도 차지하지 않는다.

출력화면 - BUTTON1 입력
출력화면 - BUTTON2 입력

반응형

+ Recent posts