마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 시작화면 질문입니다.(쌩초보입니다.) [closed]

0 추천

웹개발자 입니다. .net ㅎㅎ

먼저 제가 하고 싶은부분은 안드로이드 앱 시작 을 하면 보통 이미지 하나가 뜨고 로딩후 다른 메인화면으로 넘어가는것을 하고싶습니다. 

방법론 질문인데..activity 에서 onCreate 시작시 setContentView 인가 에서 xml렌더링후 다른 acitivity를 바로 호출해야되나요??

웹은 순서대로 스크립트로 실행 시키면 렌더링을 할수있는데.. setContentView인가 연속으로 실행하면 그냥 최종 xml 을 렌더링 하더군요 ㅎ

뭐 어쨋든 제가 방법론을 모르겟네요ㅠ 설명이나...사이트 링크를 부탁드려요ㅎ

현재 회사라서 eclipse가 없는 상태에서 질문을 남길려니 함수이름이 맞는지 모르겟네요 .

 

질문을 종료한 이유: 답변을 충분히 받은거 같습니다.
안드가미 (200 포인트) 님이 2016년 3월 17일 질문
안드가미님이 2016년 3월 18일 closed
아 뭐 아직 해보진않았는데 좋은 답변들 감사드려요 ㅎㅎ개발이 어려운게 아니라 진짜 방법론을 모르네요 ㅠㅠ 어떤분 채택해야할지 몰라서 아무나 한분 ㅎㅎ해보고 안되면 다시 질문하겠습니다.ㅎ

5개의 답변

0 추천
 
채택된 답변
setContentView 하고나서든 하기전이든 상관없습니다.

그냥 메인액티비티 onCreate안에 startActivity(new Intent(this,splash.class)); 해주시면 됩니다.

그럼 시작될때 splash.class라고 정의된 액티비티가 시작되구요

여기 클래스에는 전용 레이아웃 하나 물려주시고

onCreate안에 handler로 몇초뒤에 finish()해준다 이런거 설정해주시면 됩니다.

이렇게 하면 말씀하신 로고만 나오는 화면이 물려져있는 액티비티 클래스(여기서는 splash.class)가 처음 메인액티비티 시작되면서 불려져 오면서 설정해주신 시간 뒤에 꺼지도록 하는 효과를 낼수 있습니다.

그리고 모든 액티비티는 메니페스트에 등록을 해주셔야 사용이 가능합니다.
안드잘하고싶 (3,310 포인트) 님이 2016년 3월 17일 답변
안드가미님이 2016년 3월 18일 채택됨
Splash를 두는 이유가 앱 시작하기전에 필요한 데이터를 로딩하기 위함이 아닌가요~? 안드님 답변도 좋은 것 같습니다만 앱의 성격에 따라 오류의 발생 위험이 있을 듯 합니다. Manifest파일에서 Splash 액티비티를 Intent Main으로 두고
Splash에서 준비가 되면 메인 액티비티를 호출하는게 자연스럽고 좋은 방법 같습니다. 개발에 정답은 없지만 보통 이런식으로 많이 작업을 하더라구요.
0 추천
저같은 경우는 IntroActivity를 따로 만들고, MainActivity 따로 만들어서

IntroActivity에 인트로에 띄우고싶은 이미지등을 xml에 세팅해놓고

IntroActivity클래스에서 Intent를 사용해서 startActivity()로 MainActivity를 실행시켜줍니다.

여기서 서버와 통신해서 앱 정보를 받아오는등의 작업을 하셔도되고,

아무런 작업이없다면 startActivity()를 바로 하면 인트로가 보이자마자 사라지는현상이 생길테니

딜레이를 1~2초정도 걸어주시면 됩니다.
캬옹이 (37,920 포인트) 님이 2016년 3월 17일 답변
0 추천
보통 Splash 화면이라고들 하죠.

하지만 구글에서는 Splash화면자체를 추천하지 않습니다.

앱 로딩 과정에서 Pre load해야될 데이터들이 많고 로딩시간이 소요된다면

Splash화면을 두는 것도 좋은 방법이나 그런게 아니라면 굳이 필요해 보이진 않습니다.

 

Splash화면을 구현하신다면 보통 Handler등 을 이용해서 일정 시간의 딜레이를 주고

메인 화면으로 이동하도록 구현합니다.
클린코드 (300 포인트) 님이 2016년 3월 17일 답변
0 추천
Handler 사용하세요. 구글에 안그로이드 Splash 검색해보면 잘나와있습니다.
꿈꾸는쭌 (1,130 포인트) 님이 2016년 3월 17일 답변
0 추천
하이브리드의 경우 답변이 없어서 추가합니다

http://stackoverflow.com/questions/3149216/how-to-listen-for-a-webview-finishing-loading-a-url-in-android

페이지 스타트에서 스플래시를 보여주시고

페이지 피니시에서 감추세요
익명사용자 님이 2016년 3월 17일 답변
...