2013-03-15 2 views
0

양식 생성기 (구성 파일을 기반으로 SQLite 데이터베이스가있는 양식을 만드는 응용 프로그램)를 작성하고 있습니다. 문제는 데이터베이스가 결코 동일하지 않기 때문에 데이터베이스의 모든 테이블 행과 테이블을 지정할 수 있어야한다는 점을 동적으로 정의해야한다는 것입니다.동적으로 SQLite 데이터베이스 생성

내가 가지고있는 문제는 구성 파일이므로 데이터베이스를 만들 때 데이터베이스의 onCreate()에 의존 할 수없는 테이블 및/또는 테이블 행이 무엇인지 아직 알지 못합니다.

onCreate()을 무시하고 내 자신을 tableCreate() 기능으로 바꾸는 것보다 더 좋은 방법이 있을지 궁금합니다.

영어가 모국어가 아니기 때문에 명확한 지 모르겠지만 필요한 경우 내 질문을 편집합니다. 그런데 나는 안드로이드에 익숙하지 않기 때문에 스 니펫 + 설명을 감상 할 수 있습니다.

  • 응용 프로그램이로드, 그것은 응용 프로그램에 밀려 구성 파일 (간단한 텍스트 파일)를 사용하여 데이터베이스를 작성 (전용 데이터베이스가 존재하지 않는 경우).

  • 그런 다음 다시 구성 파일 (테이블 행의 이름과 데이터 형식)을 기반으로 테이블을 만듭니다.

  • 응용 프로그램은 이전에 만든 데이터베이스에 응답을 저장할 수있는 특성을 가진 구성 파일을 기반으로 양식을 작성합니다.

이 응용 프로그램의 목표는 주어진 사람에 대한 정보를 수집하기 위해 새로운 양식을 효율적으로 신속하게 만들 수있게하는 것입니다.

+1

왜 양식에 따라 SQL 문자열을 작성하지 않고 원할 때 그에 따라 데이터베이스를 만드시겠습니까? – rennoDeniro

+0

테이블 작성을 위해 작성된 새로운 문자열을 onCreate() 메소드에 전달하려면 어떻게해야합니까? 이것은 내 문제입니다, 나는 심지어 테이블 행을하기 전에 데이터베이스를 만들 수 있어야합니다. – Placebo

+0

좋아, 네가하고 싶은 모든 단계에 대해 네 질문에 설명해 주겠니. 그래서 나는 완전히 이해할 수있다. 애플리케이션 시작부터 끝까지. 감사합니다. – rennoDeniro

답변

1

그래, 내가 해결 방법을 만들 수 있었다 : 내가 가진 것은 4 개의 필드 (_id, farmerId, fieldName 및 fieldValue)가있는 db를 가지고있어서 특정 값 키를 가질 수있다. 농장주.

그런 다음 특정 농부에 관한 여러 행으로 JSONObject를 생성하고이를 내 활동으로 반환하는 몇 가지 함수를 작성했습니다. 이렇게하면 "대상"에 5 개 또는 6 개의 입력란이 필요한 경우에는 별 문제가되지 않습니다.

+0

내가이 솔루션을 선택한 이유는 onUpgrade가 테이블을 삭제하고 새 구성 파일에 맞는 새 테이블을 만드는 동안 임시 테이블을 만드는 것이 정말 어려웠을 것입니다. 그런 다음 모든 것을 다시 전송합니다. 이 솔루션은보다 융통성이 있으며 내가 가진 각 농부에 대해 "필드"의 수에 엄격하지 않습니다. – Placebo