Я использую Sqlite с android для разработки и приложения, которое можно настроить (для разработчика) в будущем. Я создал базу данных с данными, которые затем будут использоваться для создания базы данных для приложения. Поэтому, если в будущем необходимо будет внести какие-либо изменения или я напишу приложение для кого-то другого в будущем, все, что мне нужно сделать, это изменить эту исходную базу данных. Идея заключается в том, что база данных разработчика настроит весь пользовательский интерфейс и все, что связано с приложением.
Я застрял в том, что делать дальше. У меня есть база данных, которая мне нужна в приложении, поскольку разработчик полностью заполнен. Моя идея состояла в том, чтобы создать еще один класс DBHelper и в рамках этой ссылки исходный класс DBHelper и запрос в новом классе DB. Итак, это второй класс DBHelper, который я пытаюсь создать из предыдущей базы данных:
public class appDbHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "library.db"; //database name
Cursor all, tables, options, ui_type;
SQLiteDatabase database;
public appDbHelper(Context context) {
super(context, DATABASE_NAME, null, 1);
DBHandler databaseHelper = new DBHandler(context);
database = databaseHelper.getReadableDatabase();
all = database.rawQuery("SELECT * FROM config", null);
tables = database.rawQuery("SELECT * FROM table_names", null);
options = database.rawQuery("SELECT * FROM options", null);
ui_type = database.rawQuery("SELECT * FROM ui_type", null);
}
@Override
public void onCreate(SQLiteDatabase db) {
for(int i=0; i<tables.getCount(); i++){
tables.moveToPosition(i+1);
String sql = "";
for(int j = 0; i < all.getCount(); j++){
if (all.moveToFirst()) {
do{
sql = ", " + all.getString(2) + " " + all.getString(5).toUpperCase();
}
while (all.moveToNext());
}
}
Log.v("DatabaseSQL", sql);
database.execSQL( "CREATE TABLE " + tables.getString(1) + "(_id INTEGER PRIMARY KEY AUTOINCREMENT"+sql+");");
}
}
Но я чувствую, что это не тот путь, который мне нужен. Любая помощь будет оценена.