Как использовать SQLite из служб в Android? - PullRequest
5 голосов
/ 22 ноября 2010

Грустно, как трудно найти простую строку кода, которая делает это «На мой взгляд».

Так или иначе, проблема в том, что у меня есть программа с действиями и услугами "Я новичок в услугах".Я могу получить доступ к своей базе данных SQLite из действий, используя

Класс TheDB:

public TheDB(Context context) {
    this.context = context;
    OpenHelper openHelper = new OpenHelper(this.context);
    this.db = openHelper.getWritableDatabase();
}

И затем я могу просто вызвать методы, например

myActivity class:

private TheDB db;
bla... bla... bla...
this.db = new TheDB(this);
db.insertSomething(id, name);

Класс TheDB (метод, вызываемый из myActivity):

public void insertSomething(String id, String name){
    db.execSQL("INSERT into " + farmsTable
+ " (id, name)"
+ " Values "
+ " (" + id + ", '" + name  + "')");
}

ВСЕ, что я хочу сделать, это вызывать методы TheDB из моего сервиса, как я это делаю из myActivity.Я делаю новый конструктор?Могу ли я изменить способ, которым я его создаю?

1 Ответ

6 голосов
/ 22 ноября 2010

Просто сделайте это так же, как вы делали это для своей деятельности. Единственное, что вам нужно для создания экземпляра TheDB, это контекст; Activity - это Context, а также Service.

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