안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요. 오늘도 질문 한가지 올립니다.
SQLite를 사용하기 위해 SQLiteOpenHelper를 상속받은 클래스를 이용해서 사용하고 있는데요.
원래는 마스터테이블을 쓸 일이 없었는데, 사양서(지하철역 정보)가 바뀌어서 초기실행에서
마스터테이블을 넣어야만 하는 상황이 발생했습니다.
로컬에서 데이터베이스를 만들어서 카피하는 방법과 로컬에서 입력Query나 CSV화일를 읽어서
입력하는 방법을 생각하고 있습니다. 문제는 데이터양이 많아서 애뮬에서 5초이상 걸려서 ProcessBar
를 보여줄려고 하는데 쓰레드로 해도 그냥 순차적진행(?)으로 해도 생각되로 되질 않네요.
일단 순차적진행(?)방식으로 했을 경우인데요. 테스트를 위해 일단 AlertDialog를 이용해 보았습니다. 제일 마지막 createDatabase함수가
화일을 읽어서 데이터를 입력하는 함수이고요. 예상데로라면 다이얼로그가 보여주고 데이터를 입력하는 시간중에는 멈출 것으로 예
상되었는데... 이상하게 데이터입력이 끝날때까지 다이얼로그가 보여지지 않네요.
쓰레드를 써도 같은 현상입니다. 화일을 읽어들여서 데이터를 입력한 다음 다이얼로그가 보여지네요.....
원인을 모르겠습니다. 애뮬에서만 그런건지....
※StringXML클래스는 리소스를 읽어 들이는 클래스로 별 관계가 없을 듯...
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클래스는 리소스를 읽어 들이는 클래스로 별 관계가 없을 듯...

현재 일본에서 일하고 있는 프로그래머입니다.
안드로이드 경력은 일년이 좀넘어가는 중입니다.
Market URL
https://market.android.com/developer?pub=FattyRabbit




아직 화면에 보이기 전에 오래걸리는 작업이 시작된것이죠...
그리고 그 작업이 끝나야 엑티비티 생명주기가 넘어가고 그 이후에 Dialog가 눈에 보여지게 됩니다.