0
DatabaseHelperクラスでこのメソッドを考えてみましょう:カーソルの簡単なロギングにより、プログラムの動作全体が変わることはありますか?
public Cursor getRules()
{
SQLiteDatabase db=this.getReadableDatabase();
Cursor cur=db.rawQuery("SELECT * from Rules",new String [] {});
Log.d("Cursor Size", "" + cur.getCount());
db.close();
return cur;
}
それはカーソルを返し、活動に、私はDatabaseHelperクラス内ハンドリング全体にカーソルを移動していないです(
Cursor ruleCursor=DatabaseHelper.getInstance(this).getRules();
if(ruleCursor!=null)
{
RuleManager.getInstance(this,null).loadRules(ruleCursor);
ruleCursor.close();
}
のようにそれを消費しますカーソルの代わりにObjectsのリストを返す)、問題は、私がLogRegをgetRules()で使わないと、プログラム全体が失敗するということです。私は "fillWindow()"文で "無効な文"を取得し、SQLiteは "Select"文に行を返しません。
cursor.getCount()のLog.dを追加するだけですべてが解決されます。また、言い換えれば、この事は昨日までうまくいっていて、最後の晩からこのように行動しています。
何か不足していますか?この動作は期待されていますか?