如何通过URI获取数据库表指定列的数据类型? 貌似不可以,数据库里面存的是1的话,你怎么可能知道是boolean 还是integer,还是text。还有,不知道楼主试过没有,你这样能得到列名?应该是先指定了projection然后才能得到你指定的projection的列名吧。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以呀,不过我在这里只是大概列出几个语句而已,没有逻辑的,我的意图就是通过得到对应数据库表项的Cursor,然后再通过它来得到表项的其他信息,函数getColumnName(i)就是列出列名的,我试过的。具体如下:Cursor mCursor =mContext.getContentResolver().query(uri,null, null,null,null);int size = mCursor.getColumnCount();for (int i = 0; i < size; i++){String mColumnName=mtableInfo.mColumnName=mCursor.getColumnName(i);//获取列名}还有像其他的例如getColumnCount()可以得到数据库的列数一样,不知道怎样去得到列的类型。是否由于通过Content Provide提供的接口有限,取得数据类型是比较麻烦呀(意图:想通过这个方式得到某个应用程序的数据库信息,在不考虑它的表项信息变化,比如增加列,改变数据类型等情况下,在本应用程序重建一个一样的数据库。因为权限的关系,只好通过程序提供的Uri来操作。如果大家有好的其他建议可以提出来) 这个啊,不知道楼主的ContentProvider是不是自己写的,如果是的话,你的Provider里应该已经把projection都填好了。然后你的Cursor里才能得到。 projection 可以不指定就相当于select * 一样 ContentProvider不是自己写的,是其他程序提供的。ContentProvider提供的接口很有限,所以才会碰见这样的难题。projection我用的是空null,是要返回所有列的数据 求助使用android-xmlrpc导致connection to http://10.0.2.2:8080 refused 谁知道如何在程序里执行adb指令 Android数据库打包 复制问题? GridView加载多个ImageView速度太慢 大神们求指导 如何保护apk里的图文资源(assets)? 求助,listview怎么取出数据 大神们,本人想自己闲余时间开发一个自己的APP,怎么搭建服务器。 有没有搞Android下wifi开发的一起交流下 eclipse 在线安装ADT出错 建立AVD的时候 需要从android官网上下载一些东西 能自己安装吗? Android数据库问题
具体如下:Cursor mCursor =mContext.getContentResolver().query(uri,null, null,null,null);
int size = mCursor.getColumnCount();
for (int i = 0; i < size; i++)
{
String mColumnName=mtableInfo.mColumnName=mCursor.getColumnName(i);//获取列名
}还有像其他的例如getColumnCount()可以得到数据库的列数一样,不知道怎样去得到列的类型。
是否由于通过Content Provide提供的接口有限,取得数据类型是比较麻烦呀
(意图:想通过这个方式得到某个应用程序的数据库信息,在不考虑它的表项信息变化,比如增加列,改变数据类型等情况下,在本应用程序重建一个一样的数据库。因为权限的关系,只好通过程序提供的Uri来操作。如果大家有好的其他建议可以提出来)
这个啊,不知道楼主的ContentProvider是不是自己写的,如果是的话,你的Provider里应该已经把projection都填好了。然后你的Cursor里才能得到。
就相当于select * 一样
ContentProvider不是自己写的,是其他程序提供的。ContentProvider提供的接口很有限,所以才会碰见这样的难题。
projection我用的是空null,是要返回所有列的数据