안드로이드 개발 질문/답변
(글 수 45,052)
VideoView를 이용하여 동영상을 재생하는 것을 구현하였습니다.
동영상이 뜨기전까지 시간이 좀 오래 걸립니다.
약 15초정도 기다려야 동영상이 재생됩니다.
이 시간동안 화면에는 아무런 표시가 되지 않는데여
프로그레스바를 넣어주고 싶습니다.
Thread를 이용하여 넣어주려고 아래와 같이 해봤는데
뜨기는 뜨는데 순간지나가서 보이지않네여.
다이얼로그 닫아주는거
dismissDialog(0);
removeDialog(0);
부분 주석처리하면 보입니다.
protected Dialog onCreateDialog(int id) { switch (0) { case DIALOG_PROGRESS_ID: System.out.println(">>>>>>>>>> onCreateDialog() <<<<<<<<<<"); ProgressDialog progressDialog = new ProgressDialog(ClassName.this); progressDialog.setMessage("로딩중입니다."); new ProgressThread(handler).start(); return progressDialog; } return null; } final Handler handler = new Handler() { public void handleMessage(Message msg) { System.out.println(">>>>>>>>>> Handler() <<<<<<<<<<"); // 백그라운드 작업이 끝나고 실행해야 할 것들을 이곳에 구현한다. | UI 적인 부분 적용은 이곳에서... dismissDialog(0); removeDialog(0); } }; private class ProgressThread extends Thread { Handler mHandler; ProgressThread(Handler h) { mHandler = h; } public void run() { // 백그라운드로 실행해야 할 것들을 이곳에 구현한다. System.out.println(">>>>>>>>>> Run() <<<<<<<<<<"); news_video.setMediaController(mc); news_video.setVideoURI(video); news_video.requestFocus(); news_video.start(); Message msg = mHandler.obtainMessage(); mHandler.sendMessage(msg); }