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重新安装就好了。
希望对你有帮助^_^