2012-03-25 2 views
4

내 응용 프로그램은 SQLite 데이터베이스를 사용하여 정보를 얻습니다. 나는 폴더와 데이터베이스가 이미 존재 하는지를 확인하는 함수를 가지고있다. 그렇지 않으면 인터넷에 갈 것이다 (현재 나는 dbbox를 저장하기 위해 dropbox를 사용하고있다). 그리고 데이터베이스를 다운로드하고 그것을 sd에 저장한다. 카드를 열면 데이터베이스가 열립니다. 데이터베이스는 사용자가 개체를 평가할 수 있도록 쓰기 가능합니다. 두 가지 질문이 있습니다.안드로이드 | SQLLite : SQLiteOpenHelper를 사용하지 않고 미리 생성 된 데이터베이스 업데이트

1) 1. 데이터베이스에 업데이트를 제공하고 버전 번호가 높으면 기존 데이터베이스를 바꾸고 데이터베이스를 업데이트하도록하십시오. 몇 가지 조사를 해본 결과 xml 또는 json 파일을 버전 번호와 함께 저장하고 정보를 구문 분석하고 버전 번호가 더 높은 경우 새 데이터베이스를 다운로드 할 수 있음을 발견했습니다.

이 작업을 수행하는 방법과이 작업에 xml 또는 json을 사용하는 것이 더 나은지 여부에 대한 예를 제공 할 수 있습니까?

2. 새 버전을 다운로드하여 액세스 할 때 새 버전의 데이터베이스에 등급을 저장하는 방법이 있습니까?

감사

+1

[SQLiteDatabase.html #하려면 setVersion (int)를 (HTTP를 잊지 마세요 : // developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#setVersion%28int%29)는 SQLiteOpenHelper가 버전을 설정하기 위해 사용하는 것입니다. 당신도 그것을 사용할 수 있습니다. sqlite에서 직접하고 싶다면'PRAGMA user_version'입니다. – zapl

답변

1

이틀 전에 나는 그런 일을 썼다.

  • 필드 이름과 필드 유형을 읽으면 웹 서비스 메서드에서 데이터베이스 구조를 배열로 묶을 수 있습니다. 배열의 구조는 임의적이다.
  • 웹 서비스 메서드를 호출하고 php에서 json_encode() 메서드를 사용하여 JSON으로 보낸 경우 JSONArray 객체를 나타내는 문자열을 받아야합니다.
  • 구조를 읽고 for 루프를 사용하여 CREATE DB 쿼리 문자열을 만듭니다.
  • 쿼리를 실행해야하므로 데이터베이스가 있어야합니다.
  • 배열을 사용하여 많은 정보를 보낼 수도 있습니다.
  • 각 부분을 소개하는 것은 어렵습니다. 따라서 각 부분은 Google입니다.
  • 가 ... 같은 VARCHAR => TEXT, SMALLINT => 정수로 SQLite는 유형에 맞게 필드 형식을 변환
관련 문제