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