2012-12-02 136 views
0

後,我有這樣的方法:自動關閉DBHelper光標關閉

public Cursor getData(){ 
    DBHelper helper = new DBHelper(); 
    Cursor c; 
    ... 
    return c; 
} 

我如何定義之外封閉該方法的光標(c)之後關閉DBHelper的事件處理程序?

回答

0

你可以使DBHelper全球:

public MyActivity extends Activity { 
    DBHelper helper; 

    public Cursor getData() { 
     helper = new DBHelper(); 
     Cursor c; 
     ... 
     return c; 
    } 

    private void closeDBC() { 
     c.close(); 
     if(helper != null) helper.close(); 
    } 
} 

編輯: 我通常在onCreate打開我的DBHelper和關閉它 - 不知道如果這是很好的做法,但它爲我工作

+0

謝謝,但當使用ContentProvider時,您的解決方案無用。假設這個方法作爲apks之間的接口方法。 –