【问题标题】:How do I get the items in this ArrayList and assign them to variables?如何获取此 ArrayList 中的项目并将它们分配给变量?
【发布时间】:2017-01-30 16:27:40
【问题描述】:

我在 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);
    }

在我调用这个函数的活动类中,它就像这样dBHelper.getAllitems()。我希望能够从将它们分配给独立变量的所有项目和 ID 中获取。我该怎么做?

【问题讨论】:

    标签: android sql android-sqlite


    【解决方案1】:

    您可以在 Activitiy 的 onCreate 方法中初始化您的数据库,然后编写一个帮助类以避免样板代码。

    【讨论】:

      【解决方案2】:

      一个你得到arraylist,你可以遍历它

      for(HashMap m : arrayList){
       int first = m.get(SALE_ITEM_ID);
      }
      

      我不知道这是否回答了你的问题. 同样,当您迭代光标时,您可以在 while 循环中使用 moveToNext() 作为它运行的条件

      【讨论】:

      • 抱歉,您可能需要转换该整数。
      猜你喜欢
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 2016-08-10
      • 1970-01-01
      • 2023-04-08
      相关资源
      最近更新 更多