Attempt to invoke virtual method ‘java.lang.String com.activeandroid.TableInfo.getIdName()’ on a null object reference
我们在学习 ActiveAndroid 时会报出这样的错误,对于初学者来说报出这样的错误,比较头疼。这里TableInfo 应该是表名, 但是用命令行打开db看, 是没有创建表的。上网查了一下:
第一步:我们在AndroidManifest.xml配置 meta-data 时除了 AA_DB_NAME 以及AA_DB_VERSION还需要将定义的表的实体类加上:
xml
<application... >
<meta-data
android:name="AA_MODELS"
android:value="myfullpackage.myentity1, myfullpackage.myentity2
"
/>
否则生成的db 是没有 我们自己定义的表的。
第二步
在定义表类时, 在空参数的构造函数加上 super();
如果之后发现 报错ActiveAndroid SQLite exception ‘No such table’
解决办法: AA_DB_VERSION 将版本加增加1,或者卸载app重新安装就好了。
希望对你有帮助^_^
本文介绍了使用ActiveAndroid框架时遇到的表创建失败问题及解决方案。主要包括正确配置AndroidManifest.xml中的AA_MODELS元数据,确保定义了正确的实体类,并在实体类构造函数中调用super()方法。
6026

被折叠的 条评论
为什么被折叠?



