从 table 读取到 android 后使用什么来存储行

What to use to store the rows after reading from table in android

保存从 SQLiteDatabase Android 读取的数据并使用行号或列名访问它们的最佳方法是什么?

您好下面是我用来获取数据的代码,但我想将行存储在某种数据集中,以便我可以使用列号或名称获取数据。我想在 android.

中的网格中动态显示这些数据
MyDatabaseSQLHelper myDatabaseSQLHelper = new MyDatabaseSQLHelper(this);

SQLiteDatabase mySQLiteDatabase = myDatabaseSQLHelper.getReadableDatabase();

String[] projection = {
        Items._ID,
        Items.COL_ITEM_NAME,
        Items.COL_ITEM_PRICE,
        Items.COL_ITEM_QUANTITY,
        Items.COL_ITEM_AMOUNT
};

Cursor cursor = mySQLiteDatabase.query(Items.TABLE_NAME,projection,null,null,null,null,null); 

要存储从数据库中获取的所有行,您可以将其存储在模态类型的数组列表中 class。对你来说,你的模式 class 可能是这样的

ItemBeen.java

public class ItemBeen {
     String id,itemName,itemPrice,itemQty,itemAmount;

     public String getId() {
        return id;
     }

     public void setId(String id) {
         this.id = id;
     }

     public String getItemName() {
         return itemName;
     }

     public void setItemName(String itemName) {
         this.itemName = itemName;
     }

     public String getItemPrice() {
         return itemPrice;
     }

     public void setItemPrice(String itemPrice) {
         this.itemPrice = itemPrice;
     }

     public String getItemQty() {
         return itemQty;
     }

     public void setItemQty(String itemQty) {
        this.itemQty = itemQty;
     }

     public String getItemAmount() {
        return itemAmount;
     }

    public void setItemAmount(String itemAmount) {
        this.itemAmount = itemAmount;
    }
}

然后现在在您的 class make 方法中从数据库获取数据并将所有记录存储到数组列表和 return 该数组列表,就像这样。

    public ArrayList<ItemBeen> getItemList() {
        Cursor cur;
        ArrayList<itemBeen> itemList = new ArrayList<>();
        SQLiteDatabase db = this.getReadableDatabase();
        cur = db.query(Items.TABLE_NAME.TBL_ITEM, projection, null, null, null, null, null);

    if (cur != null) {
        if (cur.moveToFirst()) {
            do {
                ItemBeen bean = new ItemBeen();
                bean.setId(cur.getString(cur.getColumnIndex(DBConstant.TBL_ITEM.KEY_ID)));
                bean.setItemName(cur.getString(cur.getColumnIndex(DBConstant.TBL_ITEM.KEY_ITEM_NAME)));
                bean.setItemPrice(cur.getBlob(cur.getColumnIndex(DBConstant.TBL_ITEM.KEY_ITEM_PRICE)));
                bean.setItemQty(cur.getString(cur.getColumnIndex(DBConstant.TBL_ITEM.KEY_ITEM_TQY)));
                bean.setItemAmount(cur.getInt(cur.getColumnIndex(DBConstant.TBL_ITEM.KEY_ITEM_AMT)));

                itemList.add(bean);
            } while (cur.moveToNext());
        }
    }
    return itemList;
}

现在,在 class 中,您希望 class 中的所有项目列表调用此 method.declare 数组列表并获取数据。

ArrayList<ItemBeen> itemList = new ArrayList<ItemBeen>();
itemList = DBConstant.dbHelper.getItemList();

并且itemList中的这种方式包含所有记录。