База данных Android - PullRequest
       4

База данных Android

0 голосов
/ 13 февраля 2011

Я пытаюсь создать простое приложение, чтобы справиться с Android, как я новичок. Я программировал в течение многих лет на PHP и MySQL, так что это не совсем незнакомо для меня, но одна концепция в настоящий момент меня смущает.

Если бы я хотел создать это приложение с сотнями вопросов, как бы я создал такую ​​базу данных? Я имею в виду, что в данный момент мое приложение запускается и создает базу данных. Нужно ли делать это каждый раз, когда приложение запускается, так как я предполагаю, что если оно будет намного больше, это будет означать медленное время загрузки. Или есть способ создать базу данных один раз, а затем, когда приложение запускается, нет необходимости заполнять ее.

Max

Ответы [ 3 ]

1 голос
/ 13 февраля 2011

Steps

i> Установите мобильное приложение Android и запустите

ii> Создание базы данных и таблицы при первом запуске мобильного приложения

пример кода:

sampleDB.openOrCreateDb(SplashScreen.this, DBConstants.DB_NAME,
                            MODE_PRIVATE, null);

Пояснение:

Когда мобильное приложение открывается в первый раз, база данных создается и открывается. Точно так же таблицы должны быть созданы следующим образом.

sampleDB.execSQL("CREATE TABLE IF NOT EXISTS " + Constants.TABLE_NAME + " (Title VARCHAR, Description VARCHAR);");

В следующий раз, когда будет запущено мобильное приложение, необходимо открыть только базу данных, поскольку оно уже создано. То же самое относится и к таблицам.

Вы можете сбросить 100 вопросов в первый раз, если хотите, показывая диалог с соответствующим сообщением, указывающим пользователю, что выполняется фоновая операция

0 голосов
/ 13 февраля 2011

Попробуйте создать класс, который расширяет SQLLiteOpenHelper - есть метод onCreate (), который вы можете переопределить:

private class DBOpenHelper extends SQLiteOpenHelper {

    public DBOpenHelper(Context context, String name, int version) {
        super(context, name, null, version);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table ...");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // nothing to do
    }

}

Затем необходимо создать класс, который реализует DatabaseHelper, и в его конструкторе создать экземпляр подкласса SQLLiteOpenHelper и вызвать метод EstabDB ():

public final class StandardSQLLiteDatabaseHelper implements DatabaseHelper {
    private SQLiteDatabase db;
private final DBOpenHelper openHelper;

StandardSQLLiteDatabaseHelper(final Context context) {
    this.openHelper = new DBOpenHelper(context, "MSPC", 1);
    if (db == null) {
        db = this.openHelper.getWritableDatabase();
    }
}
}
0 голосов
/ 13 февраля 2011

Обычно это как вы описали. База данных SQLite создается (и, возможно, заполняется) при первом запуске приложения. Затем вы просто используете созданную базу данных при последующих запусках.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...