Android

안드로이드 스튜디오 고양이 나이 계산하여 알려주는 app 개발

567Rabbit 2024. 6. 5. 12:16

 

화면 개발하기

 

 

 

 

로직 개발하기

 

package com.~.catage;

import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import com.google.android.material.snackbar.Snackbar;

import java.util.Calendar;


public class MainActivity extends AppCompatActivity {

    // 매개변수 입력하기
    Button btnCal;
    EditText editYear;
    TextView txtAge;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //화면과 코드 연결해주기
        btnCal = findViewById(R.id.btnCal);
        editYear = findViewById(R.id.editYear);
        txtAge = findViewById(R.id.txtAge);
        
        
        //버튼 누르면 동작할 코드
        btnCal.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                //1. 유저가 입력한 년도를 가져온다.
                String strYear = editYear.getText().toString().trim();

                //1-1. 입력한 년도가 문자열이니까 정수로 바꿔준다.

                int year = 0;

                try {
                    year = Integer.parseInt(strYear);
                } catch (Exception e){
                    Snackbar.make(btnCal,"년도는 숫자만 입력하세요!"
                            ,Snackbar.LENGTH_SHORT).show();
                    return;
                }

                //2. 현재 년도를 가져와서 유저가 입력한 년도를 뺀다.
                int currentYear = Calendar.getInstance().get(Calendar.YEAR); // 현재시간을 가져온다.

                int age = currentYear - year;

                Log.i("Cat Main", ""+age); // 로그캣 보기

                if(age < 0){
                    Snackbar.make(btnCal,"년도를 정확히 입력하세요"
                            ,Snackbar.LENGTH_SHORT).show();
                    return;
                }

                //3. 계산 결과를 텍스트뷰에 표시한다.

                txtAge.setText("나이는 "+age+"살 입니다");

            }
        });
    }
}