在android中读取表后,使用什么来存储行

在android中读取表后,使用什么来存储行,android,cursor,Android,Cursor,保存从SQLiteDatabase Android读取的数据并使用行号或列名访问它们的最佳方法是什么 下面是我用来获取数据的代码,但我想将行存储在某种数据集中,以便使用列号或列名获取数据。我想在android的网格中动态显示这些数据 MyDatabaseSQLHelper myDatabaseSQLHelper = new MyDatabaseSQLHelper(this); SQLiteDatabase mySQLiteDatabase = myDatabaseSQLHelper.getRe

保存从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); 

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

itember.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;
    }
}
然后现在在你们的类中创建一个从数据库获取数据的方法,它将所有记录存储到数组列表中,并返回数组列表,如下所示

    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;
}
public ArrayList getItemList(){
光标电流;
ArrayList itemList=新建ArrayList();
SQLiteDatabase db=this.getReadableDatabase();
cur=db.query(Items.TABLE_NAME.TBL_ITEM,projection,null,null,null,null);
如果(cur!=null){
if(cur.moveToFirst()){
做{
ItemBeen bean=新的ItemBeen();
setId(cur.getString(cur.getColumnIndex(DBConstant.TBL_ITEM.KEY_ID));
setItemName(cur.getString(cur.getColumnIndex(DBConstant.TBL_ITEM.KEY_ITEM_NAME));
setItemPrice(cur.getBlob(cur.getColumnIndex(DBConstant.TBL_ITEM.KEY_ITEM_PRICE));
setItemQty(cur.getString(cur.getColumnIndex(DBConstant.TBL_ITEM.KEY_ITEM_TQY));
setItemAmount(cur.getInt(cur.getColumnIndex(DBConstant.TBL_ITEM.KEY_ITEM_AMT));
添加(bean);
}while(cur.moveToNext());
}
}
返回项目列表;
}
现在,在需要该类中的所有项列表的类中,调用此方法。声明数组列表并获取数据

ArrayList<ItemBeen> itemList = new ArrayList<ItemBeen>();
itemList = DBConstant.dbHelper.getItemList();
arraylistitemlist=newarraylist();
itemList=DBConstant.dbHelper.getItemList();
这样,itemList中就包含了所有记录