본문 바로가기
인프런) 앱 8개를 만들면서 배우는 안드로이드 코틀린

섹션 6. 다이어트 메모 앱 만들기(3)-스플래시 화면 만들기

by 농농씨 2023. 9. 9.

어떤 운동을 했는지 메모 목록이 있고, 

글쓰기 아이콘을 클릭하면 날짜 선택, 그리고 메모를 남길 수 있는 앱을 만들어볼것이다.

 

사용할 기술은

1. Firebase Auth - uid (인증 기능)

2. Firebase Realtime Database (데이터베이스)

이렇게 두 가지 이다.

 

 프로젝트 이름을 diet_memo 라고 만들어주자

 

 

제일 먼저, 스플래시 화면을 만들어주자.

스플래시 화면을 만드는 이유는 화면이 나오는 동안 지금 앱을 켠 사람의 회원/비회원 여부를 확인하기 위함이다.

로그인안했으면-자동로그인시켜주고

로그인했으면-바로 메모 남길 수 있도록.

 

먼저, 스플래시 액티비티를 만들자.

메인액티비티파일이 속해있는 파일 우클릭-NewActivity-Empty Activity

이름은 SplashActivity

 

그 다음 스플래시 액티비티 파일을 다음과 같이 작성해준다.

원래 그냥 Handler()를 썼는데 alt+enter로 임포트 하려니까 둘중 하나 골랐더니 저렇게 됐다.

 

 

스플래시 화면이 먼저 뜨게 하려면?

매니페스트 파일로 가서~

메인액티비티의 인텐트 필터 영역을 스플래시 액티비티의 activity 태그 안으로 옮겨준다!

 

 

이제 스플래시 다음과 같이 화면을 꾸며보자

배경 black으로 설정해주고~

gravity로 가운데에 오게 해주고

constraintLayout으로 감싸져 있으니까 텍스트뷰 테두리의 점을 parentLayout으로 옮겨서 위치 고정해주기

 

<오류노트

앱이 실행되지 않았다.

로그에는 다음과 같은 오류가 떴다.

java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

참고블로그: https://velog.io/@mraz3068/Android12-SplashScreen-관련-에러-java.lang.IllegalStateException-You-need-to-use-a-Theme.AppCompat-theme-or-descendant-with-this-activity

 

스타일을 아예 새로 만드는 게 해결방법이었다.(!!!!)

(이전의 트와이스 앱 만들기에서는 해결방법이 보이지 않아서 포기했었는데 감격스럽다. 다시 해봐야겠다.)

res 폴더의 values-themes.xml을 열어준다.

첨부한 블로그의 코드에서

주석 위의 코드를 <style> 태그에 넣어주고, 여기서 그대로 Run 하면 매니페스트에 빨간줄이 뜰 것이다.

테마 이름을 새로 바꾼 테마이름으로 바꿔주면 된다.

/>

스플래시 화면이 아주 잘 뜬다. 🥹