从DatabaseManager返回Cursor对象?

时间:2013-03-04 09:41:20

标签: android android-sqlite

我需要一些建议/帮助。我有一个MainActivity和一个DatabaseManager类。我不确定如何处理从DatabaseManager到MainActivity的数据?

我需要在DatabaseManager中读取一些数据,然后将其返回到MainActivty,然后将数据传递给另一个具有ListView的活动。

首先,我应该从DatabaseManager返回Cursor对象,然后使用adapter将数据传递给ListView,或者如何将它传递给MainActivity?我可以迭代表中的每一行并将每列作为字符串返回吗?或者我应该将它添加到ArrayList然后返回?提供一些帮助!

代码中的示例是预先确定的!

1 个答案:

答案 0 :(得分:1)

只需在DatabaseHandler中创建一个名为“getMyGenericData(parameterIWishToUse)”的方法(我不知道你的数据库存储了什么数据)。

然后在您的DatabaseHandler中执行此操作(实现您自己的对象而不是我的通用一次):

public ArrayList<MyGenericItem> getAllVisistedEntries() {

    SQLiteDatabase db = this.getWritableDatabase();
    ArrayList<MyGenericItem> myGenericItems = new ArrayList<MyGenericItem>();

    String query = "SELECT * FROM MY_GENERIC_TABLE";

    Cursor cursor = db.rawQuery(query, null);
    if (cursor.moveToFirst()) {
      do {

        MyGenericItem mgi = new MyGenericItem();
        mgi.setValueOne(cursor.getString(0));
        mgi.setValueTwo(cursor.getString(1));
        // ETC....
       myGenericItems.add(myGenericItem);
      } while (cursor.moveToNext());
     }

    return myGenericItems;
}