如何从SQLITE数据库中获取数据到Android中的数组?

thigvfpy  于 2023-05-18  发布在  SQLite
关注(0)|答案(2)|浏览(143)

我很确定这是一个简单的例子,但是我被所有的例子弄糊涂了,这些例子把从游标返回的数据调整到不同的视图中。我只是想运行一个rawquery,并将返回的每一项数据放入一个float数组(以便稍后将它们相加)。我需要用什么来做这个?* 谢谢 *

qvsjd97n

qvsjd97n1#

当你查询数据库时,你仍然有一个游标,但是一旦你得到了游标,你就可以迭代它,把你需要的值拉到一个数组中,就像这样:

DbAdapter db = new DbAdapter(mContext);
    int columnIndex = 3; // Whichever column your float is in.
    db.open();
    Cursor cursor = db.getAllMyFloats();
    float[] myFloats = new float[cursor.getCount()-1];

    if (cursor.moveToFirst())
    {                       
        for (int i = 0; i < cursor.getCount(); i++)
        {
            myFloats[i] = cursor.getFloat(columnIndex);
            cursor.moveToNext();
        }           
    }
    cursor.close();
    db.close();

    // Do what you want with myFloats[].
omjgkv6w

omjgkv6w2#

不要在float[] myFloats = new float[cursor.getCount()-1];中减去1,因为(int i =0)或者i从0开始。如果你使用它,将出现Java.lang.IndexOutOfBoundsException。您需要数组索引直到[cursor.getCount()],而不是直到[cursor.getCount()-1]。所以正确的是float[] myFloats = new float[cursor.getCount()];

相关问题