Java 如何确保只从api获取一次数据

Java 如何确保只从api获取一次数据,java,android,Java,Android,我有几张膨胀的卡片,我从网站的api中获取数据并将其插入数据库,然后使用seeAll选项按钮返回前3行,以添加碎片B,并从数据库中膨胀整行。在fragmentB中,我从同一个网站获取相同的内容,只是为了确保它被获取并插入到数据库中。在再次尝试获取api之前,是否有方法进行检查 更好的解释: 这是主布局,在这张下面几乎没有其他卡 这是我按“全部查看”时打开的片段 因此,一旦应用程序打开,我将获取api并放大主布局,当我添加新片段时,我想检查链接是否已获取,而不是在创建链接后仅获取链接,而不查看任

我有几张膨胀的卡片,我从网站的api中获取数据并将其插入数据库,然后使用seeAll选项按钮返回前3行,以添加碎片B,并从数据库中膨胀整行。在fragmentB中,我从同一个网站获取相同的内容,只是为了确保它被获取并插入到数据库中。在再次尝试获取api之前,是否有方法进行检查

更好的解释: 这是主布局,在这张下面几乎没有其他卡

这是我按“全部查看”时打开的片段


因此,一旦应用程序打开,我将获取api并放大主布局,当我添加新片段时,我想检查链接是否已获取,而不是在创建链接后仅获取链接,而不查看任何代码…:

将数据保存在您定义的对象中,例如

private apiData recievedData = null;
无论何时尝试接收数据,都将首先检查对象是否为null

if(recievedData == null)
{
     recievedData = getDataFromAPI();
}
return recievedData; //will return previously retrieved data if not null

最好先检查数据库,如果记录存在,则不要从服务器获取它。另外,当您已经在FragmentA中获取数据时,是否有任何理由再次获取FragmentB中的数据。无论如何,尝试先检查数据库中的记录,如果记录不存在,则从API中获取它。

一些代码将有助于。。。同时请澄清问题,很难理解你在问什么。如果不先获取数据,你将如何检查数据?@redFive我打开应用程序后获取数据,但有时启动应用程序时可能没有连接,所以我想确保当我按下“全部查看”并添加新片段时,它是被提取的,而不是在创建新片段时直接提取它。我是否将它设置为静态,以便可以从片段访问它?s=@RedEagle取决于您的项目设置,但听起来您的片段应该总是从活动中获取它。我会创建一个接口适配器。问题是它需要更新,因为每次球员得分时它都会更新,所以我的想法是创建一个静态布尔值,并从片段中检查它