На основе http://developer.android.com/guide/topics/data/data-storage.html#db кажется, что мне понадобится другой файл класса Java (который я сделал), но теперь я столкнулся с довольно печальная проблема: я не уверен, как с этим справиться.
Как бы я назвал это в своем основном действии, и только он создаст базу данных один раз или попытается повторно создать базу данных каждый раз, когда она будет работать?
Это будет "создавать" базу данных только в первый раз. После этого вы можете использовать объект этого класса SQLiteOpenHelper для доступа к этой базе данных. Обратите внимание, что вам не нужно беспокоиться о воссоздании базы данных, android позаботится об этом, если вы используете подход SQLiteOpenHelper.
Взяв пример хранения данных вперед, вы должны создать его объект, а затем использовать метод getWriteableDatabase, чтобы получить доступ на запись в базу данных
DictionaryOpenHelper myDictionary;
myDictionary = new DictionaryOpenHelper(this);
SQLiteDatabase db = myDictionary.getWritableDatabase();
//to enter values in the db
ContentValues values = new ContentValues();
values.put("name","Rhyno");
db.insert(nameOfTable, null, values);
Более подробный пример приведен в этом уроке: http://marakana.com/forums/android/examples/55.html
он создается только в том случае, если он существует.
SQLiteOpenHelper имеет 2 очень полезных метода: onCreate() и onUpgrade().
Также есть onDowngrade() и onOpen(), когда DATABASE_VERSION уменьшается или база данных открывается, соответственно.
onCreate() - это то, где вы хотите сделать свой db.execSQL("CREATE TABLE...."), чтобы сначала создать свои таблицы.
Затем вы можете использовать экземпляр SQLiteOpenHandler для выполнения dbHandler.getWritableDatabase() и dbHandler.getReadableDatabase(), которые возвращают читаемый или записываемый объект SQLiteDatabase в ваш код. Затем вы можете writeableDb.insert() или readableDB.query(), чтобы поместить и получить материал из своего db.
SQLiteOpenHelper
(и любойSQLiteOpenHelper
вами класс, который его расширяет) сначала проверит, существует ли БД. Если он не существует, он будет создан. После этого, пока «версия» базы данных остается неизменной, она будет продолжать просто использовать базу данных, которая была первоначально создана. Если выonUpgrade
другой (более высокий) номер версии базы данных, будет вызыватьсяonUpgrade
, позволяющий динамически обновлять БД (создавать / удалять таблицы, добавлять новые поля в таблицы и т. Д.).