안녕하세요. 오늘도 질문 한가지 올립니다.

SQLite를 사용하기 위해 SQLiteOpenHelper를 상속받은 클래스를 이용해서 사용하고 있는데요.
원래는 마스터테이블을 쓸 일이 없었는데, 사양서(지하철역 정보)가 바뀌어서 초기실행에서
마스터테이블을 넣어야만 하는 상황이 발생했습니다.

로컬에서 데이터베이스를 만들어서 카피하는 방법과 로컬에서 입력Query나 CSV화일를 읽어서
입력하는 방법을 생각하고 있습니다. 문제는 데이터양이 많아서 애뮬에서 5초이상 걸려서 ProcessBar
를 보여줄려고 하는데 쓰레드로 해도 그냥 순차적진행(?)으로 해도 생각되로 되질 않네요.

     public void onCreate(SQLiteDatabase db) {

        AlertDialog.Builder adBuilder = new AlertDialog.Builder(this.mContext);

        adBuilder.setTitle(StringXML.get(R.string.dialog_database_setting_alert_title));
        adBuilder.setMessage(StringXML.get(R.string.dialog_database_setting_alert_message))
               .setCancelable(false)
               .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int id) {
                       dialog.dismiss();
                   }
               });
        adBuilder.create().show();
        
        createDatabase();
     }

일단  순차적진행(?)방식으로 했을 경우인데요. 테스트를 위해 일단 AlertDialog를 이용해 보았습니다. 제일 마지막 createDatabase함수가
화일을 읽어서 데이터를 입력하는 함수이고요. 예상데로라면 다이얼로그가 보여주고 데이터를 입력하는 시간중에는 멈출 것으로 예
상되었는데... 이상하게 데이터입력이 끝날때까지 다이얼로그가 보여지지 않네요.

쓰레드를 써도 같은 현상입니다. 화일을 읽어들여서 데이터를 입력한 다음 다이얼로그가 보여지네요.....

원인을 모르겠습니다. 애뮬에서만 그런건지....

※StringXML클래스는 리소스를 읽어 들이는 클래스로 별 관계가 없을 듯...
profile

현재 일본에서 일하고 있는 프로그래머입니다.

안드로이드 경력은 일년이 좀넘어가는 중입니다.


Market URL

https://market.android.com/developer?pub=FattyRabbit