2015-08-17 2 views
1

У меня есть SQLite database, который я создал в Android, что я вручную управляю всем кодом для выполнения своих операций чтения и записи. Недавно я обнаружил ORMlite. Я хочу использовать ORMlite для управления моей базой данных с этого момента. Проблема в том, что приложение уже находится на рынке Android, и я не хочу, чтобы мой пользователь потерял свои данные.Android - HELP отходит от встроенного SQLite до Ormlite

Есть ли способ сообщить ORMlite, чтобы начать управление уже сделанной базой данных? Или существует стандартная практика для чтения всех моих данных из старой базы данных и записи ее на новую?

ответ

0

Ну, после достаточного количества должной осмотрительности я понял, насколько простой задачей является это. Ormlite фактически находится поверх встроенного SQLite. Для перехода на Ormlite код не требуется. Я просто ссылаюсь на свое имя базы данных в моем Ormlite Helper Class. Мой код ниже. Надеюсь, это поможет кому-то еще в будущем.

public class OrmHelper extends OrmLiteSqliteOpenHelper { 
    private final String TAG = this.getClass().getSimpleName(); 
    private Context context; 

    public OrmHelper(Context context) { 
     //references my Sqlite dbnames. I made them static in the SqlHelper class 
     super(context, DataBase.DB_Name, null, DataBase.DB_Version); 
     this.context = context; 
    } 

    @Override 
    public void onCreate(SQLiteDatabase database, ConnectionSource connectionSource) { 
     try { 
      Log.i(TAG, "Creating database in Ormlite"); 
      TableUtils.createTable(connectionSource, Model.class); 
      TableUtils.createTable(connectionSource, UserCredential.class); 
     } catch (SQLException e) { 
      Log.e(TAG, "Error creating database", e); 
     } 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase database, ConnectionSource connectionSource, 
     int oldVersion, int newVersion) { 

    } 

    /** 
    * this genric method is for grabbing the Dao for any ormlite table 
    */ 
    public <T, V> Dao<T, V> getTypeDao(Class<T> classType, Class<V> idType) 
      throws SQLException{ 
     return getDao(classType); 
    } 
}