文档章节

android Cursor转换为model

Ranger_wang
 Ranger_wang
发布于 2015/01/07 09:51
字数 152
阅读 101
收藏 1
定义的方法中成员变量必须是public属性,私有属性暂时不支持;

public <T>  Object cursor2Model(Cursor cursor,Class<T> classz){
        Object object = null;
        Constructor<T> csr;
        try {
            csr = classz.getConstructor();
            try {
                object = csr.newInstance();
                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);
                    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 == byte[].class){
                        fields[i].set(object,
                                cursor.getBlob(cursor.getColumnIndex(fieldName)));
                    }
                }
            } 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();
        }
        
        return object;
    }


© 著作权归作者所有

Ranger_wang
粉丝 3
博文 23
码字总数 9312
作品 0
南京
程序员
私信 提问
Android数据库监听的问题

新学Android。网上看到说Android里ContentProvider和ORM框架不能一起用。在用ContentProvider时,可以通过监听ContentResolver来实现,但是Cursor和Model的操作太麻烦了。 通过ORM框架修改数...

Ellipse
2014/11/05
764
1
SimpleCursorAdapter无数据显示

// 执行查询 Cursor cursor = db.rawQuery("select * from news_inf" , null); inflateList(cursor); ..................................... @SuppressLint("NewApi") private void inflat......

山顶洞人02
2014/05/10
399
1
android imageview 笔记

android学习笔记34--------------有用代码集(不断更新) 5人收藏此文章, 我要收藏发表于3个月前 , 已有758次阅读 共0个评论 转载请注明原文出处:奔跑的蜗牛(袁方的技术博客)点击打开链接...

守夜之星
2012/06/18
1K
0
android 1.6下使用 Loader示例

android 3.0 sdk,引入了很多新api,比如Loader。和Fragment类似(编写兼容android1.6的fragment),该api也可在android 1.6以上版本执行。 以下介绍如何编写Loader,实现对ListView的异步加...

鉴客
2011/03/30
459
0
检索Android图片库并显示详细信息

这篇文章,我们将学习如何检索并显示媒体库中的图片以及每张图片的详细信息包括名称,ID,路径,大小等等。 关于游标(cursor)不懂的可以看博文:Android中Cursor类的概念和用法 具体实现: ...

Failure
2012/04/16
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
808
11
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
15
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部