2011-03-09 54 views
2

每当我需要创建SQLiteOpenHelper'databasehelper'对象时,我需要在函数调用中传递上下文。全局访问数据库帮助对象

dbUtils.setEntityValues(this, moduleId, sendTo)

的 '这个' 参数是指活动上下文。每次新的数据库帮助对象正在创建和执行数据库任务。

DataBaseHelper dbHelper = new DataBaseHelper(context); 


    try { 
     dbHelper.openDataBase(); 

     SQLiteDatabase db = dbHelper.getReadableDatabase(); 

从不扩展活动或应用程序的类文件,我不能创建databasehelper对象。有什么办法可以全局获取数据库帮助对象吗?或者以任何方式获取不属于Activity的类中的应用程序上下文...?

我是一位机器人的初学者,请提出一些建议..提前

谢谢, 乔

回答

0

谢谢willytate,我解决了它。我的方式做到这一点是...

class myActivity extends Activity { 
public static Activity me = null; 
... 
protected void onCreate(Bundle icicle) { 
    ... 
    me = this; 
    ... 
    }; 
}; 
class myClass { 
void myMthd() { 
    ... 
    Intent myIntnt = myActivity.me.getIntent(); 
    ... 
    }; 
}; 

现在我可以创建一个没有经过像背景下继 'databasehelper' 对象..

public DataBaseHelper() { 

    super(myActivity.me.getApplicationContext(), DB_NAME, null, 1);  

    this.myContext = myActivity.me.getApplicationContext(); 
} 

再次感谢,