我在Android上使用SQLite。我在一个名为sale的表中保存了一些事务。我可以像这样得到表格中的所有项目。
public ArrayList<HashMap<String, Object>> getAllItems() {
ArrayList<HashMap<String, Object>> array_list = new ArrayList<>();
SQLiteDatabase db = this.getReadableDatabase();
Cursor res = db.rawQuery("SELECT * FROM " + SALE_TABLE_NAME, null);
res.moveToFirst();
while (res.isAfterLast() == false) {
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put(SALE_ITEM_ID, res.getInt(0));
hashMap.put(SALE_ITEM_NAME, res.getString(1));
hashMap.put(SALE_AMOUNT, res.getString(2));
array_list.add(hashMap);
res.moveToNext();
}
return array_list;
}
public int getMaxId() {
SQLiteDatabase db = this.getReadableDatabase();
Cursor res = db.rawQuery("SELECT MAX(id) FROM " + SALE_TABLE_NAME, null);
res.moveToFirst();
return res.getInt(0);
}
在我调用此函数的activity类中,就像这个dBHelper.getAllitems()
一样。我希望能够从中获取所有项目和ID,将它们分配给独立变量。我怎么能这样做?
答案 0 :(得分:0)
您可以在Activitiy的onCreate方法中初始化数据库,然后编写一个帮助程序类以避免样板代码。
答案 1 :(得分:0)
你得到了arraylist,你可以通过
进行迭代for(HashMap m : arrayList){
int first = m.get(SALE_ITEM_ID);
}
我不知道这是否回答了你的问题.
也可以在迭代游标时使用while循环中的moveToNext()作为运行条件