码迷,mamicode.com
首页 > 其他好文 > 详细

Cursor直接转换为model

时间:2015-01-07 13:23:35      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:

public <T>  Object cursor2Model(Cursor cursor,Class<T> classz){
        Object object = null;
        Constructor<T> csr;
        try {
            csr = classz.getConstructor();
            try {
                object = csr.newInstance();
            } catch (InstantiationException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            } catch (IllegalArgumentException e) {
                e.printStackTrace();
            } catch (InvocationTargetException e) {
                e.printStackTrace();
            }
        } catch (NoSuchMethodException e1) {
            e1.printStackTrace();
        }
        Field[] fields = object.getClass().getFields();
        for (int i = 0; i < fields.length; i++) {
            Type type = fields[i].getType();
            String fieldName = fields[i].getName();
            fields[i].setAccessible(true);
            try {
                if (type == Long.class || (type == Long.TYPE)) {
                    fields[i].set(object,
                            cursor.getLong(cursor.getColumnIndex(fieldName)));
                } else if (Integer.class == type || (type == Integer.TYPE)) {
                    fields[i].set(object,
                            cursor.getInt(cursor.getColumnIndex(fieldName)));
                } else if (type == String.class) {
                    fields[i].set(object,
                            cursor.getString(cursor.getColumnIndex(fieldName)));
                }else if(type == Blob.class){
                    fields[i].set(object,
                            cursor.getBlob(cursor.getColumnIndex(fieldName)));
                }
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            } catch (IllegalArgumentException e) {
                e.printStackTrace();
            }
        }
        return object;
    }

Cursor直接转换为model

标签:

原文地址:http://my.oschina.net/u/1013713/blog/364555

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!