Android - load values from sqlite database to an arraylist

后端 未结 3 1159
盖世英雄少女心
盖世英雄少女心 2021-02-04 17:34

I am new to android . I have an application working with SQLite DB. I need to push values from database to an arraylist of type object. The code i used is given here.



        
相关标签:
3条回答
  • 2021-02-04 17:56

    try this:

    private ArrayList<objectname> objectList  = getResults();
    
    private ArrayList<objectname> getResults() {
    
        MyDb db = new MyDb(this); //my database helper file
        db.open(); 
    
        ArrayList<objectname> resultList = new ArrayList<objectname>();
    
    
        Cursor c = db.getAllValues(); //function to retrieve all values from a table- written in MyDb.java file
        while (c.moveToNext())
        {
            String date = c.getString(c.getColumnIndex("date"));
    
            try
            {
                ob = new objectname();
                ob.setDate(date);// setDate function is written in Class file
                resultList.add(ob);
            }
            catch (Exception e) {
                Log.e(MY_DEBUG_TAG, "Error " + e.toString());
            }
    
        }
    
        c.close();
    
        db.close();
        return resultList;
    }
    
    0 讨论(0)
  • 2021-02-04 18:16

    Probably your query is drawing a blank and moveToFirst is returning false.

    What about logging the value of c.getCount() before your if statement?

    0 讨论(0)
  • 2021-02-04 18:19

    I had a similar issue with retrieving values from the db using cursors and displaying on screen.. The below solution works for me..

                Cursor cur = db.getAllValues();
                int index = c.getColumnIndex("date");
        cur.moveToFirst();
    
        while (cur.isAfterLast() == false) {
            System.out.println(cur.getString(index)); // For debug purposes
            String date = cur.getString(index);
            try {
                ob = new objectname();
                ob.setDate(date);
                resultList.add(ob);
            } catch (Exception e) {
                Log.e(MY_DEBUG_TAG, "Error " + e.toString());
            }
            cur.moveToNext();
        }
        cur.close();
    
    0 讨论(0)
提交回复
热议问题