Можно ли превратить базу данных SQLite в глобальную переменную? - PullRequest
2 голосов
/ 12 августа 2011

Идея состоит в том, чтобы использовать только одно соединение по всему приложению, поскольку оно будет использоваться почти каждый раз.Можно ли получить SQLiteDatabase и превратить его в глобальную переменную, которая будет использоваться во всем приложении?

Каким путем я должен следовать, чтобы сделать это?

Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 12 августа 2011

Два текущих ответа говорят об одном и том же, и они на 100% правильны, но, возможно, не объясняют все это. В платформе Android класс Application - это место, куда вы помещаете любые переменные и данные, которые вы хотите использовать в глобальном масштабе. http://developer.android.com/reference/android/app/Application.html

Из любого действия вы можете вызвать getApplication (), и он вернет созданный вами экземпляр приложения.

Итак, вы можете сделать базу данных доступной, добавив публичный метод в ваше приложение.

В конце вы бы сделали что-то вроде:

SQLiteDatabase myDatabase = getApplication().getDatabase();

Затем в своем классе Application вы должны заполнить метод getDatabase ().

Немного лучшим подходом может быть создание класса, который управляет базой данных, и сделать этот класс членом приложения. Это позволит вам объединить все открытые документы и бизнес с базой данных в одном классе. Затем вы можете использовать методы класса приложения для передачи курсоров из запросов и т. Д.

0 голосов
/ 12 августа 2011

Это можно сделать двумя способами: создать пользовательский класс Application или использовать Singleton .

0 голосов
/ 12 августа 2011

Вы можете разместить соединение и доступ к БД в классе Application. Это позволит вам создать одноэлементное соединение с БД, которое будет доступно в вашей программе.

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