Convert results of SQLite Cursor to my object

后端 未结 2 1149
北恋
北恋 2020-12-31 13:28

I\'ve executed some queries on my SQLite DB on Android.

Main instruction used is this:

Cursor cursor = myDB.rawQuery(select, null);
<
相关标签:
2条回答
  • 2020-12-31 13:44

    Check out MicroOrm

    private static class SomeObject {
      @Column(SOME_FIELD)
      private String mSomeField;
    }
    
    SomeObject object = microOrm.fromCursor(cursor, SomeObject.class);
    
    0 讨论(0)
  • 2020-12-31 13:59

    I don't think there is an automated way to do this. Just populate the object yourself. For example, if your cursor was just an id and a name and you wanted to create a Person object:

    Person populatePerson(Cursor cursor)
    {
        try
        {
            int idIndex = cursor.getColumnIndexOrThrow("_id");
            int nameIndex = cursor.getColumnIndexOrThrow("name");
            long id = cursor.getLong(idIndex);
            String name = cursor.getString(nameIndex);
            return new Person(id, name);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
    

    You could wrap this function in your own Cursor class to make the process transparent.

    0 讨论(0)
提交回复
热议问题