Я сделал много операций с базой данных Sqlite, и сейчас я создаю динамически файл db для другого пользователя, вошедшего в систему, и имя файла db принадлежит имени пользователя, вошедшего в систему. и используя файл базы данных в соответствии с их входом в систему.
Я получаю StringIndexOutOfBoundsException , когда пытаюсь получить новый экземпляр этого файла базы данных. например,
DatabaseHelper dbHelper = DatabaseHelper.getInstance(this);
dbHelper.methodOfDatabase(); // Throwing Exception
Вот мой фрагмент кода класса DatabaseHelper
public static String DATABASE_NAME = "";
public DatabaseHelper(Context context, String dbNmae) {
super(context, dbNmae, null, DATABASE_VERSION);
this.myContext = context;
DATABASE_NAME = dbNmae;
}
А вот мой метод проверки или создания нового файла БД
public String checkOrCreateDB(String dbName) {
if (databaseFilesList.contains(dbName)) {
DatabaseHelper.DATABASE_NAME = dbName;
} else {
DatabaseHelper.getNewDatabase(activity, dbName).getWritableDatabase();
DatabaseHelper.DATABASE_NAME = dbName;
}
return DatabaseHelper.DATABASE_NAME;
}
И, наконец, этот метод для создания нового файла базы данных.
public static DatabaseHelper getNewDatabase(Context context, String dbName) {
if(mInstance != null)
{
mInstance.close();
}
mInstance = new DatabaseHelper(context, dbName);
return mInstance;
}
Любая помощь будет оценена