현재 프로젝트가 초기에 Excel에서 정보를 읽어 DB를 생성하게 됩니다.
그런데 이 시간이 대략 10초정도 걸립니다.
얼핏 사용자입장에서 바라봤을 때는 어플이 멈춘줄 알것같습니다.
따라서 로딩화면을 보여주려고하는데 다음과 같은 ProgressDialog를 이용합니다.
...내용중략...
private ProgressDialog pDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
pDialog = new ProgressDialog(this);
pDialog.setMessage("데이터베이스 생성중");
pDialog.setIndeterminate(true);
pDialog.setCancelable(false);
pDialog.show();
makeDatabase();
pDialog.dismiss();
startActivity(new Intent(this, MainDiffFrame.class));
finish();
}
private void makeDatabase(){
ArrayList<Store> storeList = getStoreListInExcel();
for( int i = 0; i < storeList.size(); i++ ){
Store store = storeList.get(i);
makeTable(store);
pDialog.setMessage("데이터베이스 생성중 " + (i+1) + "/" + (storeList.size()+1));
}
}
설명하면 다음과 같습니다.
다이얼로그띄움
-> 1개 db생성시마다 다이얼로그메시지 변경 (1/27개 생성... 2/27개 생성... 3/27개 생성... 이런식)
-> 총 db 27개 생성시 다이얼로그 종료
자, 문제는 제가 원하는데로 다이얼로그가 출력이 되지않습니다.
여전히 그대로 화면은 멈춘상태에서 db를 생성하고 27개 다 생성하면 마지막에 0.1초정도 다이얼로그가 뜨고 팍 사라집니다.
왜그럴까요? 해결책 제시부탁합니다 ㅠㅠ