android - 从 DatabaseManager 返回 Cursor 对象?

标签 android android-sqlite

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

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

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

代码中的示例是preciated!

最佳答案

只需在 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;
}

关于android - 从 DatabaseManager 返回 Cursor 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15198489/

相关文章:

android - 验证备份 ZIP 文件

android:如何在不运行模拟器的情况下操作sqlite数据库?

android - 查找 Polyline 的哪一部分包含在另一条 Polyline 中的高效算法

android - ContentProvider 抛出 SQLiteCantOpenDatabaseException : unable to open database file

android - SearchView 小部件 - 有什么方法可以选择里面的所有文本吗?

android - OSM map 中的瓦片服务器是什么

SQLite:双主键和自动增量

android - 什么可能导致此 SQLite CursorWindowAllocationException?

android - 需要将文本移到下一行

java - 如何在java中找出强制门户URL