Вы можете назначить его глобальному объекту Application, к которому вы сможете получить доступ из Activity
и Content Provider
. Вы можете создать SQLOpenHelper
в Activity
или CP
, просто проверив, является ли он нулевым или нет, и создает ли он нулевой новый объект SQLOpenHelper
и присваивает его глобальному объекту.
public class ClassName extends Application {
private SQLiteOpenHelper helper;
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
}
public SQLiteOpenHelper getHelper() {
return helper;
}
public void setHelper(SQLiteOpenHelper helper) {
this.helper = helper;
}
}
и вы должны указать в AndroidManifest.xml
, что вы создаете контекст приложения
<application
android:name="ClassName" // <----- This line
android:icon="@drawable/icon"
android:label="@string/app_name" >
затем от вашего Activity
или Content Provider
вызова помощника, как это.
SQLiteOpenHelper helper = ((ClassName)getApplication()).getHelper();
if(null == helper) {
helper = new SQLiteOpenHelper();
}