본문 바로가기

대학교 과제/모바일프로그래밍 [ 2 - 2 ]

[모바일 프로그래밍 과제] - 4주차 (직접풀어보기 5 - 3)

반응형

1. 과제 안내문, 예시 출력화면


다음 화면을 xml 파일 없이 Java 코드만 이용하여 완성하라. 에디트텍스트, 버튼 및 텍스트뷰 각각 1개로 화면이 구성되며, 버튼을 클릭하면 에디트텍스트에 입력된 문자열이 하단의 텍스트뷰에 나타나게 한다.

예시실행화면


 이 과제에 특별한 점은 Java코드만으로 객체들을 구성해야 한다. 그 전에 Java에서 Paint같은 메소드를 사용하거나 컴토넌트들을 구성한 경험이 있어 그렇게 어렵게 느껴지지는 않았다. 다음은 코드구성이다.

 

2. 코드 구성

 

코드를 구성하는 경우는 그렇게 어렵지 않았다. 배치같은 경우도 Linearlayout 안에 순서대로 객체들을 넣어주기만 하면 되었고, 리스너같은 경우도 버튼을 눌렀을 때 EditText에서 값을 받아 TextView의 텍스트로 지정해주기만 하면 됐기 때문이다. 다음은 나의 코드이다.

 

package com.cookandroid.assignment_4;

import androidx.appcompat.app.AppCompatActivity;

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

public class MainActivity extends AppCompatActivity {

    EditText edit;
    Button btn;
    TextView text;

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

        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.MATCH_PARENT);

        LinearLayout baseLayout = new LinearLayout(this);
        baseLayout.setOrientation(LinearLayout.VERTICAL);
        setContentView(baseLayout,params);

        edit = new EditText(this);

        btn = new Button(this);
        btn.setBackgroundColor(Color.rgb(255,255,1));
        btn.setText("버튼입니다");

        text = new TextView(this);
        text.setTextColor(Color.rgb(255,51,153));
        text.setTextSize(20);

        baseLayout.addView(edit);
        baseLayout.addView(btn);
        baseLayout.addView(text);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String buff = edit.getText().toString();
                text.setText(buff);
            }
        });
    }
}

 

3. 결어

 

 이제 코드들이 손에 익어가는 것 같다. 자만일 수 있지만...... 계속 익어갈 수 있도록 많은 문제를 풀어보았으면 좋겠다.

반응형