Я пытаюсь получить доступ к данным/папке на моем устройстве, я не могу его открыть?.. Я укоренил свой телефон, и я хочу подтолкнуть свою базу данных к папке базы данных на своем устройстве, чтобы я мог запускать свое приложение, он отлично работает на эмуляторе, но я хочу протестировать его на реальном устройстве и не получить базу данных.
Я создал свою базу данных с записями, используя диспетчер 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
Обычно вы должны переопределять onCreate
в вашем SQLiteOpenHelper, чтобы вставлять исходные данные. Поскольку вы создаете базу данных путем ее загрузки, я предлагаю использовать какое-то постоянное хранилище (например, общие привилегии или отдельную таблицу с одной строкой в db), чтобы сохранить флаг, указывающий, что db был инициализируется данными. Затем inserttable1Contact
только вызвать inserttable1Contact
если этот флаг не установлен (и установить флаг).
_id INTEGER PRIMARY KEY
; если вы открываете его нормально, ей также нужна таблица android_metadata
). Смотрите, например, эту статью .