2016-10-18 8 views
1

SQLiteAssetHelperを使用して(アセット内に)事前に設定されたデータベースに新しい列または新しいテーブルを追加する方法を教えてください。 私はもともと3列を持つ単純なテーブルをプリロード:アセットにあらかじめ設定され、SQLiteAssetHelperを使用して、sqliteデータベースに新しい列またはテーブルを追加する方法

  • ID
  • 質問
  • 答えたら、アプリをインストールし

、私は、ユーザーのデータが移入されるいくつかの列を追加する必要があります好きなようにマークされている、前に見られた、編集された... また、私は勉強会の時間と最後の質問を記録する新しいテーブルを追加する必要があります。 は、ここに私のコードです:

import android.content.Context; 
import com.readystatesoftware.sqliteasset.SQLiteAssetHelper; 
public class DatabaseOpenHelper extends SQLiteAssetHelper { 
private static final int DATABASE_VERSION = 1; 
private static final String DATABASE_NAME = "mydatabase.db.sqlite"; 

public DatabaseOpenHelper(Context context) { 
    super(context, DATABASE_NAME, null, DATABASE_VERSION); 
} 
} 

public class DatabaseAccess { 
private SQLiteOpenHelper openHelper; 

private SQLiteDatabase database; 
private static DatabaseAccess instance; 

答えて

0

こんにちはあなたはあなたがデータベースのバージョンを確認することができます

public class OpenHelper extends SQLiteOpenHelper { 

    private final static int DB_VERSION = 2; 

    public TracksDB(Context context) { 
     super(context, DB_NAME, null, DB_VERSION); 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db) { 
     //.... 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     if (oldVersion < 2) { 
      "create table session" 
      " (_id integer primary key autoincrement, " + 
      "date text not null, " + 
      "question text not null);"; 
      db.execSQL(CREATE_TBL); 
     } 
    } 
} 

をONUPGRADE使用することができます。古いバージョンのアプリでデータベースバージョンを作成したり、クエリクエリを変更した場合。

SQLiteDatabase db = new Helper(context).getWritableDatabase(); 

if(db.getVersion()<2){ 
     "create table session" 
     " (_id integer primary key autoincrement, " + 
     "date text not null, " + 
     "question text not null);"; 
     db.execSQL(CREATE_TBL); 
} 

You must upgrade database version in asset folder. 
+0

Ahmedさん、ありがとうございます。あなたのソリューションは "extend SQLiteOpenHelper"でのみ動作し、 "extend SQLiteAssetHelper"では動作しません。 – AndroPro

関連する問題