отправить базу данных на рутированное устройство

1

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

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

это мой код вставки в классе DBHelper:

public void inserttable1Contact(String a, String b){

                ContentValues initialValues = new ContentValues();
                initialValues.put(KEY_a, a);
                initialValues.put(KEY_b, b);
                 db.insert(DATABASE_TABLE1, null, initialValues);}

и затем я называю это в своем основном классе:

 db.inserttable1Contact("aa", "bb");

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

Thanx

  • 0
    В чем проблема, точно? Ваше приложение не видит базу данных или оно видит ее, но вводит исходные данные снова и снова?
  • 0
    без вызова метода вставки (уже вставленные записи с помощью диспетчера sqlite, как я уже говорил), это не работает, я не могу перенести его в папку данных на моем устройстве, а затем попытался создать пустую базу данных и вызвать метод вставки, но он сохраняет вставка при каждом запуске приложения
Теги:
database
push
insert

1 ответ

0

Обычно вы должны переопределять onCreate в вашем SQLiteOpenHelper, чтобы вставлять исходные данные. Поскольку вы создаете базу данных путем ее загрузки, я предлагаю использовать какое-то постоянное хранилище (например, общие привилегии или отдельную таблицу с одной строкой в db), чтобы сохранить флаг, указывающий, что db был инициализируется данными. Затем inserttable1Contact только вызвать inserttable1Contact если этот флаг не установлен (и установить флаг).

  • 0
    Таким образом, нет никакого способа перенести базу данных на моем компьютере непосредственно на мое устройство?
  • 0
    @ Ама - я думал, что только что описал один. Вы должны убедиться, что вы помещаете файл db в нужное место. Кроме того, структура базы данных должна быть точно правильной (каждая таблица нуждается в столбце _id INTEGER PRIMARY KEY ; если вы открываете его нормально, ей также нужна таблица android_metadata ). Смотрите, например, эту статью .
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню