最初のステップでdbが空のときに、db上のすべてのアイテムを取得しようとしています。その後、dbからいくつかのアイテムを挿入します。正しく挿入しています(エラーがなく、numの挿入が0より大きい)。しかし、dbからすべてのアイテムを取り戻そうとするときに挿入した後、dbAdper.getAllTitles()でnullを取得します。
これが私のコードです
public ArrayList<Object> getWantedItemsList(Context context,String item,String item2,String item3,String item4){
ArrayList<Object> ListRssLinkAndTitle=new ArrayList<Object>();
DBAdapter dbAdper=new DBAdapter(context);
Cursor CursorDb =null;
try
{
dbAdper.open();
dbAdper.drop();
dbAdper.createTable();
dbAdper.insertTitle(context,"Ynet", "http://www.ynet.co.il/Integration/StoryRss2.xml", "rtl",null);
dbAdper.insertTitle(context,"BBC", "http://feeds.bbci.co.uk/news/world/us_and_canada/rss.xml", "rtl",null);
CursorDb =dbAdper.getAllTitles();
CursorDb.moveToFirst();
if (CursorDb.getCount()>0)
do
{
ListRssLinkAndTitle.add(new rssLinkAndTitle(CursorDb.getString(CursorDb.getColumnIndex(item)),CursorDb.getString(CursorDb.getColumnIndex(item2)),CursorDb.getString(CursorDb.getColumnIndex(item3)),CursorDb.getBlob(CursorDb.getColumnIndex(item4))));
}
while(CursorDb.moveToNext());
}
finally{
if (CursorDb.equals("null"))
CursorDb.close();
dbAdper.close();
return ListRssLinkAndTitle;
}
}
nullを取得するメソッドは
public Cursor getAllTitles() throws SQLException
{
return db.query(DATABASE_TABLE, new String[] {
KEY_ROWID,
link,
RssTitle,
Rtl,
image
},
null,
null,
null,
null,
null
);
}