где я могу вставить значения в SQLite Android - PullRequest
1 голос
/ 23 января 2012

Когда я вставляю значения в sqlite android, это происходит один раз или база данных создается каждый раз, когда я запускаю свое приложение?

В частности, у меня есть категории, которые будут заполнять список (еда, напитки ....и т. д.)

Где я могу разместить метод вставки?В моем классе dbHelper или классе, который нуждается в данных?

public class ShoppingCategories extends ListActivity{
  private AppSQLite mDbHelper;
  private Cursor mNotesCursor;

@Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mDbHelper = new AppSQLite(this);
    insertShoppingCategories();
}

public void insertShoppingCategories(){
    mDbHelper.open();
    long id;
    id = mDbHelper.createShoppingCategory("food", 5, "@drawable/ic_launcher");
    id = mDbHelper.createShoppingCategory("drink", 3, "@drawable/ic_launcher");

    mDbHelper.close();
}

и createShoppingCategory из класса dbHelper:

   public long createShoppingCategory(String name, int priority, String icon) {
    ContentValues initialValues = new ContentValues();
    initialValues.put(KEY_NAME, name);
    initialValues.put(KEY_PRIORITY, priority);
    initialValues.put(KEY_ICON, icon);

    return mDb.insert(tShopCateg, null, initialValues);
}

Ответы [ 4 ]

1 голос
/ 23 января 2012

База данных создается, только если она не существует.Если есть значения, которые нужно вставить только один раз, вы должны поместить их в onCreate внутри вашего dbHelper класса.

0 голосов
/ 23 января 2012

Как только ваша база данных создана, она будет воссоздана, только если ваша версия БД будет изменена или когда вы очистите свои данные из настроек >> Приложение >> Управление приложением >> очистить данные.И если вы хотите вставить свои данные один раз, то вы должны поместить этот код в onCreat () класса dbHelper.

0 голосов
/ 23 января 2012

поместите его туда, где вы действительно хотите иметь функциональность для вставки данных в конкретное событие / экземпляр.Вы определяете, какой будет ваша БД (строки и столбцы таблицы) в dbHelpr и выполняет такую ​​же операцию, как удаление вставки в действии.

И да, БД создается только при первом запуске вашего приложения при создании объектакоманды dbHelper и db._exec.

0 голосов
/ 23 января 2012

База данных создается один раз при создании первого экземпляра mDbHelper.open(); (это может измениться в зависимости от реализации метода onCreate() класса DB Helper). Данные, которые вы вставляете в БД, остаются в БД даже после закрытия приложения (это причина наличия БД). Вы используете функцию вставки, когда вам нужно постоянно сохранять пользовательские данные в базе данных.

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