我需要暂停执行,直到我从数据库中获得响应。我该怎么做?
Posted
技术标签:
【中文标题】我需要暂停执行,直到我从数据库中获得响应。我该怎么做?【英文标题】:I need to pause the execution till I get response from my database. How do i do it? 【发布时间】:2022-01-06 05:23:56 【问题描述】:我正在制作一个 android Java 应用程序。我有一个带有函数的类,它使用 Volley 从我的数据库中获取二维字符串数组。 由于我无法从我创建的函数中返回字符串数组(因为我使用的是 volley),所以我将它保存在静态另一个类的变量。
在我的主要活动中,我调用获取字符串数组的类并将其分配给静态变量。
问题是,在类接收到我的字符串数组之前,我的主要活动使用了二维数组,因为字符串数组是未定义的。它给了我一个空指针异常。
我需要先初始化字符串数组,然后将其用作我的主要活动。
【问题讨论】:
这能回答你的问题吗? Why does my function that calls an API return an empty or null value? 您能否提供一些您遇到问题的代码 【参考方案1】:字符串数组的初始化应该在onResponse()上完成 如果您在主线程中进行了字符串数组初始化,您将收到上面提到的错误。您应该只在 volley 线程上调用字符串数组。
【讨论】:
我只在响应时初始化了 volley 数组,并将数组传递给静态类变量。在主线程中,我只访问该变量 你是否使用接口传递静态类变量? 不,我直接获取静态变量 这就是为什么你直接通过接口方法得到错误 我昨天运行了我的主要活动,它工作了以上是关于我需要暂停执行,直到我从数据库中获得响应。我该怎么做?的主要内容,如果未能解决你的问题,请参考以下文章