Android 将SQLite游标的结果转换为我的对象
我在Android上对SQLite数据库执行了一些查询 使用的主要说明如下:Android 将SQLite游标的结果转换为我的对象,android,cursor,gson,pojo,Android,Cursor,Gson,Pojo,我在Android上对SQLite数据库执行了一些查询 使用的主要说明如下: Cursor cursor = myDB.rawQuery(select, null); 现在,我希望将此查询的结果转换为我在项目中创建的泛型类。如果你认为我想要一个ORM系统,你是对的,但我现在发现的只是希望查询数据库、在数据库中保存对象和管理数据库本身的ORM系统 现在,我需要一个“简单”的ORM功能,它可以完全像google.gson库对JSON字符串所做的那样,将JSON字符串转换为自定义对象,我也需要同样的
Cursor cursor = myDB.rawQuery(select, null);
现在,我希望将此查询的结果转换为我在项目中创建的泛型类。如果你认为我想要一个ORM系统,你是对的,但我现在发现的只是希望查询数据库、在数据库中保存对象和管理数据库本身的ORM系统
现在,我需要一个“简单”的ORM功能,它可以完全像google.gson库对JSON字符串所做的那样,将JSON字符串转换为自定义对象,我也需要同样的功能,但需要将SQLite游标转换为我的类
有什么建议吗?我认为没有一种自动化的方法可以做到这一点。只需自己填充对象。例如,如果光标只是一个id和一个名称,并且您希望创建一个Person对象:
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();
}
}
您可以将此函数包装在自己的游标类中,使过程透明。签出
列名是动态生成的,这些列名最初并不知道。如何将这些值转换为JSON字符串。?转换JSON字符串还有其他方法吗?您最终使用了什么方法?
private static class SomeObject {
@Column(SOME_FIELD)
private String mSomeField;
}
SomeObject object = microOrm.fromCursor(cursor, SomeObject.class);