0

Я хочу получить доступ к данным из SQLiteDatabse в SERVICE. Я создал объект db и попытался получить доступ к базе данных из службы, но не работал. Чтобы получить доступ к содержимому базы данных в методе onStart, что мне делать. Я много искал, но создание контекста методом getApplicationContext() не помогло мне. Пожалуйста, помогите мне с кодом для доступа к базе данных в SERVICE.Доступ к базе данных из фоновой службы

+0

функции, такие как db.isOpen() и т.д. работают отлично. Но когда я запускаю запрос select с помощью db.rawQuery(), он не работает. Plz поможет мне получить значения в сервисе. – TechHelper

+0

Спасибо, друзья. Мне удалось решить эту проблему. Большое спасибо за помощь. – TechHelper

+0

Теперь у меня другая проблема. Я попытался запустить запрос обновления с использованием rawQuery(), а также значений db.update() и контента, но, тем не менее, он не работает. Есть ли другой способ обновить таблицу в SERVICE? Спасибо – TechHelper

ответ

0

Android Service не имеет такого метода onStart(). Вы можете использовать либо onStartCommand(), либо onCreate().

+0

Извините, это была ошибка. Но можете ли вы сказать, как получить значения/обновить значения базы данных из службы. – TechHelper

+0

Пожалуйста, разместите код, который у вас есть. – Kristopher

+0

SQLiteDatabase db = (новое хранилище (getBaseContext()). GetReadableDatabase(); \t db = (новое хранилище (getBaseContext()). GetWritableDatabase(); – TechHelper

0

У вас есть варианты, что вы можете сделать.

Фрист Вариант следующий:


Вы ВСЕГДА использовать статический контекст (например, в mainactivity), над которым вы ВСЕГДА Acces БД. Вы можете сделать это так:

public static Activity thi; 

Secound Опция следующее:


В вашей службы вы можете позвонить:

this.getApplicationContext(); 

С помощью этого контекста вы также можете написать в ваш дБ.

С наилучшими пожеланиями

сафари

+0

Я пробовал вот так: db = (новое хранилище (this.getApplicationContext()). getReadableDatabase(); И то же самое для getWritableDatabase(), но после запуска запроса выбора, используя rawquery() не извлекает данные. – TechHelper

+0

И не могли бы вы рассказать мне больше о статическом контексте, который вы написали выше. Удивительно. Должен ли я использовать этот статический контекст в SERVICE? – TechHelper

+0

вы можете использовать его, но вам не обязательно нравится это делать. сначала вы его создаете. thi.getApplicationContext(); и он должен работать нормально. ;) – safari

Смежные вопросы