본문 바로가기

Android Studio59

[Android Studio] Activity 생명주기(lifecycle) 함수 설명 안드로이드 액티비티의 생명주기(activity lifecycle)란? 액티비티의 생명주기(activity lifecycle)는 액티비티가 생성되고 소멸될 때 일어나는 일련의 이벤트들을 나타냅니다. 액티비티는 다양한 상태로 이동하며, 각 상태에 따라 특정한 생명주기 메서드가 호출됩니다. 주요한 생명주기 메서드에 대한 설명은 다음과 같습니다. onCreate() 액티비티가 처음 생성될 때 호출됩니다. onStart() 액티비티가 사용자에게 보여지기 직전에 호출됩니다. onResume() 액티비티가 사용자와 상호 작용을 시작할 때 호출됩니다. onPause() 다른 액티비티가 화면을 가리거나, 현재 액티비티가 일부분만 화면에 나타날 때 호출됩니다. 액티비티가 부분적으로 가려지거나 다른 액티비티가 나타날 때 실.. 2023. 12. 26.
[Android Studio] NullPointerException 에러 발생하는 이유 NullPointerException 자바 프로그래밍 언어에서 발생할 수 있는 예외 중 하나입니다. 이 오류는 프로그램이 null 값을 가진 참조를 사용하려고 할 때 발생합니다. null은 아무런 객체를 참조하지 않는 상태를 나타내기 때문에, 이에 대한 메소드 호출이나 필드 접근 등을 시도하면 발생합니다. 오류 해결 방식을 위한 접근 방법들 if (myObject != null) { // myObject를 사용하는 코드 } else { // null이 아닌 경우에 대한 대체 로직 또는 오류 처리 } -> Null 체크: 사용하기 전에 참조가 null인지 확인하십시오. MyClass myObject = new MyClass(); // 또는 다른 초기화 방법 -> 올바른 초기화: 참조 변수를 사용하기 전에 .. 2023. 12. 22.
[Android Studio] CountDownTimer 사용 방법 사용 방법 // 카운트다운타이머 객체 생성 CountDownTimer countDownTimer; long time = Integer.parseInt(strTime); time = time * 1000; // 위의 time에 맞는 타이머를 동작시킨다. countDownTimer = new CountDownTimer(time, 1000) { // 1초마다 함수 실행 @Override public void onTick(long l) { // 남은 시간을 화면에 표시. 매초 마다 long remain = l / 1000; txtTime.setText(remain+""); } // 타이머가 종료될 때 실행 @Override public void onFinish() { // 타이머가 종료되면 할 작업 작성. //.. 2023. 12. 22.
[Android Studio] values 폴더의 strings.xml 사용하기 strings.xml 파일은 언어만 따로 처리하면, 다국어 처리가 쉽기 때문에 파일 하나로 관리해준다. 코드에 값을 바로 입력하는 하드코딩도 하지 않기 때문에 변수값도 strings.xml 파일에 저장해서 활용할 수 있다. 사용하기 QuizApp A honey bee can fly at 15mph. A jellyfish is approximately 95% water.! Elephants are the only mammals that can\'t jump Cats can hear ultrasound. A human brain weighs about three pounds. The tongue is the fastest healing part of the body. Americans, on average,.. 2023. 12. 22.
[Android Studio] IndexOutOfBounds Exception 에러 IndexOutOfBoundsException란? 자바에서 배열 또는 리스트 등의 컬렉션에서 유효하지 않은 인덱스에 접근하려고 할 때 발생하는 예외입니다. 이 예외는 배열 또는 리스트의 범위를 초과하는 인덱스를 사용하는 시도를 감지하고 발생합니다. 예제 public class Example { public static void main(String[] args) { // 배열 선언 int[] numbers = {1, 2, 3, 4, 5}; try { // 유효하지 않은 인덱스에 접근 int value = numbers[10]; System.out.println(value); } catch (IndexOutOfBoundsException e) { System.out.println("IndexOutOfBou.. 2023. 12. 22.
[Android Studio] ProgressBar 사용법 activity_main.xml Palette - Widgets에 가면 ProgressBar가 두 개 있는데 위 사진과 같은걸(Horizontal) 골라 준다. 드래그 해서 화면에 넣고, Attributes 탭 - Common Attributes에 가서 속성을 설정한다. 화면 progressTint : 색상 max = 프로그레스바 최대 칸 progress = 시작 칸 2023. 12. 22.
[Android Studio] AlertDialog 사용하기 // 다이얼로그 객체 생성 AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); // 이 다이얼로그의 외곽부분을 눌렀을 때 사라지지 않게 하는 함수 builder.setCancelable(false); // 제목 builder.setTitle("퀴즈 끝"); // 내용 builder.setMessage("퀴즈가 모두 끝났습니다. 맞춘 정답은 " + count + "개 입니다." ); // 버튼 1 builder.setNegativeButton("취소", OnClickListener(){}) // 버튼 2 builder.setPositiveButton("확인", OnClickListener(){}) // 버튼 3 builder... 2023. 12. 22.
[Android Studio] 에뮬레이터에서 Toast 메세지 안 뜰때 해결 방법 Toast.makeText(MainActivity.this, "년도를 입력하세요.", Toast.LENGTH_LONG).show(); -> 코드에 문제가 없는데 에뮬레이터에서 뜨지 않는다. 해결법 에뮬레이터 정지 후, Tools > AVD Manager에 들어가서 사용 중인 에뮬레이터의 데이터를 삭제한다. (Wipe Data) 그 후 에뮬레이터를 다시 실행, Android Studio도 다시 실행한다. 결과 -> Toast 메세지가 제대로 보인다. 2023. 12. 22.
[Android Studio] TextView 객체에 setText() 사용할 때 주의점 TextView textResult; result = 3232 textResult.setText("" + result); TextView 클래스의 setText 함수에는 문자열만 넣어줘야 한다. 만약 입력해야할 값이 숫자인 경우는 빈따옴표 처리 해주면 된다. 숫자를 넣게되면 에러가 발생해 앱이 종료 되어 버린다. 2023. 12. 22.
[Android Studio] LinearLayout 사용하기 LinearLayout 종류는 horizontal, vertical가 있는데 상황에 맞게 사용하면 된다. -> 화면 비율을 지정하고 싶을때는 layout_weight으로 비율을 설정하면 된다. 2023. 12. 21.