Ввод данных SQLite Android - PullRequest
       2

Ввод данных SQLite Android

0 голосов
/ 31 марта 2012

Хорошо, поэтому я создал свою базу данных на SQLite в Android, но она доступна только для чтения, я хотел ввести свою информацию в таблицы, чтобы добавить к ней функции в Android.

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

Я уверен, что многие из вас порекомендуют это http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

Это хорошо, но не поддерживает внешние ключи ...

Я знаю, что вы можете сделать это таким образом, но у меня много информации.

ContentValues values = new ContentValues();
    values.put(DBAdapter.Column1,  "HP");
    values.put(DBAdapter.Column2,  "qw");
    values.put(DBAdapter.Column3,  "5280");
    values.put(DBAdapter.Column4,  "345, 546");
    db.insert(DBAdapter.TABLE, null, values);

Ответы [ 3 ]

1 голос
/ 31 марта 2012

Внешние ключи есть. Вам необходимо удалить эту строку из дампа:

PRAGMA foreign_keys=OFF; и альта! У вас есть ваши внешние ключи.

Все, что вам нужно сделать, это:

db.execSQL("PRAGMA foreign_keys=ON;");

при создании вашей БД. По умолчанию он выключен, и вы не получите внешние ключи при его включении. Хотите пример кода?

0 голосов
/ 31 марта 2012

но как вы можете иметь информацию о таблице уже в приложении, когда пользователь загружает приложение?

Попробуйте это:

@Override
public void onOpen(SQLiteDatabase db) {
    super.onOpen(db);
    if (!db.isReadOnly()) {
        db.execSQL("PRAGMA foreign_keys=ON;");

        ContentValues values = new ContentValues();
        values.put(COLUMN_NAME, DATA);
        long id = db.insert(TABLE_NAME, null, values);
    }
}
0 голосов
/ 31 марта 2012

Разве вы не можете просто выполнить операторы вставки в вашем классе, который расширяет SQLiteOpenHelper? Примерно так:

public class DataStore extends SQLiteOpenHelper {

@Override
public void onCreate(SQLiteDatabase db) {
    // execute create
            // execute insert
    }

}

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