Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 持久双向关系_Android_Ormlite - Fatal编程技术网

Android 持久双向关系

Android 持久双向关系,android,ormlite,Android,Ormlite,我有以下课程: public class AllegationContent { @DatabaseField(generatedId = true) protected long id; @DatabaseField(canBeNull = true, foreign = true) private AllegationItem allegationItem; @DatabaseField() protected String conten

我有以下课程:

public class AllegationContent {

    @DatabaseField(generatedId = true)
    protected long id;

    @DatabaseField(canBeNull = true, foreign = true)
    private AllegationItem allegationItem;

    @DatabaseField()
    protected String content;
    ...
}
以及:

但我有一个错误:

04-24 10:41:57.128:错误/AndroidRuntime(802):java.lang.RuntimeException:无法启动活动组件信息{br.com.project/br.com.project.DaoTestActivity}:java.lang.NullPointerException


我解决了。无法创建该表,因为没有atributes,只有id(这是另一个问题)。NPE发生的原因是getAllegationContent返回null,因此首先我需要创建一个ForeignCollection列表,使用setAllegationContent进行设置,然后获取。

我解决了这个问题。无法创建该表,因为没有atributes,只有id(这是另一个问题)。NPE发生是因为getAllegationContent返回null,所以首先我需要创建一个ForeignCollection列表,使用setAllegationContent设置,然后使用get。

那么NPE发生在哪一行?您是否尝试过调试代码以确定该行上的哪些对象为空?没有足够的信息让任何人知道您试图在代码中访问空指针的位置。我找不到行。我从AllegationItem中删除了ForeignCollection并尝试只创建一个AllegationItem,但得到了以下错误:“信息/数据库(1024):sqlite返回:错误代码=1,msg=near”):语法“我无法理解…”。。。AllegationItem只有字段Id。抱歉,信息太少,我们无法提供帮助。抱歉,我是ORMLite和Android新手=/我可以编辑此帖子添加更多信息吗?我建议您学习如何使用调试器。逐步检查代码,直到得到异常。这是一个关于这个主题的好视频:那么NPE发生在哪一行呢?您是否尝试过调试代码以确定该行上的哪些对象为空?没有足够的信息让任何人知道您试图在代码中访问空指针的位置。我找不到行。我从AllegationItem中删除了ForeignCollection并尝试只创建一个AllegationItem,但得到了以下错误:“信息/数据库(1024):sqlite返回:错误代码=1,msg=near”):语法“我无法理解…”。。。AllegationItem只有字段Id。抱歉,信息太少,我们无法提供帮助。抱歉,我是ORMLite和Android新手=/我可以编辑此帖子添加更多信息吗?我建议您学习如何使用调试器。逐步检查代码,直到得到异常。下面是一段关于这个主题的精彩视频:
public class AllegationItem {
   @DatabaseField(generatedId = true)
    protected long id;

    @ForeignCollectionField(eager = false)
    protected ForeignCollection<AllegationContent> allegationContent;
    ...
}
    allegationContentDao = getAllegationContentDao();   
    AllegationContent allegationContent = new AllegationContent(); 
    allegationContent.setContent("allegation content");     
    allegationContentDao.create(allegationContent);

    allegationItemDao = getAllegationItemDao();
    AllegationItem allegationItem = new AllegationItem();
    AllegationContent allegationContent2 = allegationContentDao.queryForSameId(allegationContent);  //is that wrong?
    allegationItem.getAllegationContent().add(allegationContent2);
    allegationItemDao.create(allegationItem);