Notice
Recent Posts
Recent Comments
Link
05-15 06:18
관리 메뉴

필피리의 잡학사전

로딩화면 구현하기 본문

Developer/Android

로딩화면 구현하기

김수필 2012. 4. 18. 23:18
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

로딩화면을 간단히 구현하겠습니다.

메인화면을 띄우자마자 로딩화면을 띄우고 3초(로딩시간)후에 다시 메인화면으로 돌아갑니다.

Start_Activity.java가 로딩화면을 나타내는 Activity입니다.

SplashTest.java가 메인화면을 나타내는 Activity입니다.

 

타싸이트에서 퍼온후 간단하게 수정했습니다.

 

Start_Activity.java

package com.Splash;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;

public class Start_Activity extends Activity
{

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.start_activity);

Handler handler = new Handler () {

@Override
public void handleMessage(Message msg)
{
// TODO Auto-generated method stub
super.handleMessage(msg);
finish();
}
};
handler.sendEmptyMessageDelayed(0, 3000);
// TODO Auto-generated method stub
}
}

그리고 위와 같이 수정해 주는데요. 일단 보시면 제일 밑에 추가되어져 있는 3000 이라는 숫자는 딜레이 타임입니다. 3000은 3초를 뜻합니다. 더 줄이거나 늘리려면 1초:1000이라는 간단한 것으로 변경할 수 있습니다. 위에서 쓰는 핸들러는 스레드에서 사용하는 건데, 어느 일정한 형식을 통해서 사용하게 되는 것입니다. 보시면 아마도 이런 말이 아닌가 싶어요. 3초까지 비어있는 메시지를 보낸다면(호출한다면) 핸들러가 실행되라는 말이라고 생각합니다. 일단 저렇게 사용하시면 된다는거~!!!!

finish()는 액티비티를 종료하는 것입니다 ^^

 

 

SplashTest.java

package com.Splash;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

public class SplashTest extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

startActivity(new Intent(this, Start_Activity.class));

}
}

 

Comments