참고서적:모두의 안드로이드
*제가 직접 사서 참고하고 있습니다.
개발환경:우분투 20.04 lts
[1.시작화면 만들기]
앱이 처음 시작 될 때 이미지를 몇 초간 띄운 후에 지도 앱이 열리게 해보겠습니다. 이렇게 앱이 시작 할 때 뜨는 로고나 사진 같은 이미지를 인트로(intro) 또는 스플래쉬(splash)라고 합니다.
app>java>패키지 폴더의 오른쪽을 클릭해서 New > Activity > Empty Activity
그리고 액티비티 이름을 정하고 Launcher Activity 체크박스 클릭해주고 Finish누르고 종료합니다.
[2.사용할 이미지 넣기]
출처:https://www.suwon.go.kr/sw-www/www05/www05-03/www05-03-04.jsp |
사용할 이미지를 res/drawable에 이미지를 복사해서 붙여넣습니다.
[2.1레이아웃 배경에 이미지 넣기]
app / res / layout 폴더에 가서 아까 인트로로 지정한 액티비티 xml파일을 엽니다.(제 경우는 activity_suwon_int 입니다)
그리고 xml파일이 열리면 design탭으로갑니다.그리고 왼쪽하단에 Constraint tree의 ConstraintLayout을 클릭합니다.
그러면 오른쪽에 attribute칸으로 가서 오른쪽 부분 긴 작대기 아이콘을 누릅니다.
그러면 아까 복사해둔 이미지를 클릭하고 ok합니다.
[3.java파일 설정]
인트로 자바파일로 이동해서 onCreate()함수에 코드를 추가합니다.
[변경 전]
[변경 후]
//추가코드1:post delay
Handler x = new Handler();
x.postDelayed(new SplashHandler(),1000);
}
//추가코드2
public class SplashHandler implements Runnable {
public void run(){
Intent intent = new Intent(getApplicationContext(),
MapsActivity.class);
startActivity(intent);
finish();
}
}
post delay는 특정 시간이 지난 후에 지정된 코드를호출하는 역할입니다. 1000은 여기서 밀리세컨즈 단위이므로 1000밀리세컨드는 1초 이므로 , 1초 후에 SplashHandler 라는 클래스를 부릅니다. (추가코드2에 있는 클래스)
SplashHandler클래스는 스레드 입니다.
스레드는 특정 기능을 수행하기 위해 대기하고 있다가 자신이 호출되면 내부 코드를 수행합니다.
그래서 SplashHandler 가 호출되면 지도화면(MapsActivity로 전환됩니다.)
*스레드는 프로그램 내에서 실행되는 흐름의 단위입니다.
[4.실행화면]
'오늘의 공부 > android' 카테고리의 다른 글
[모두의 안드로이드] 7일차 관광지도 앱 만들기 4.앱이름 & 아이콘 변경 (0) | 2020.10.07 |
---|---|
[모두의 안드로이드] 5일차 관광지도 앱 만들기 .2 마커 표시하기 (0) | 2020.10.05 |
[모두의 안드로이드]4일차:관광지도 앱 만들기 01 (0) | 2020.09.28 |
[모두의 안드로이드]4일차: 대화창 띄우기 (0) | 2020.09.28 |
[모두의 안드로이드]4일차: 프로그레스바로 대기상태 표시하기 (0) | 2020.09.28 |