gpt4 book ai didi

android - 在 android 中一次性调用静态数据的 api 需要考虑哪些检查?

转载 作者:搜寻专家 更新时间:2023-11-01 09:34:30 25 4
gpt4 key购买 nike

我的应用程序中有许多 API,它们提供静态数据,并在多个地方使用过。因此,我不想在所有地方进行调用,而是只调用一次并将其存储在本地。所以我有三个问题

1) 为此要注意什么条件。2)在哪里调用API?在应用程序启动时,如果是,则有许多 API 需要调用。3)这样做是一种好习惯吗?如果 API 调用失败该怎么办。

最佳答案

如果您正在进行同步 API 调用,那么一种好的方法是

public class APIHandler{
public static class API1{
private static int data1 = -1;
public static int getData1(Context context){
if(data1 < 0){
return getResponse();
}else{
return data1;
}
}

private static int getResponse(){
int response;
//write your synchronous API call method here
response = 1; //your actual response
return response;
}
}
}

这基本上是单例实现,如果您的变量有一些值,那么它将返回该变量,否则它将通过 API 调用获取值并存储它。这里的 API1 类适用于您的一个 API,您可以为每个 API 创建另一个类。考虑到您的所有值都将大于 0,变量 data1 被初始化为 -1。

This is not a good implementation as it will block your main thread.

方法 2(推荐)
案例一:
如果您的 API 每次都发送相同的值,那么您可以在您的 Application 类中进行一次 API 调用,并将这些值存储在 SharedPreference 或 Realm/SQLite 中,而无需从下一次开始进行调用。

案例2:
如果您的 API 发送不同的值,则每次从应用程序类调用 API 并将这些值存储在常量中。

如果 API 调用次数过多,您还可以从 IntentService 进行这些调用,并在您的 Application 类中启动这些服务。这将确保获取响应并且不会影响您的主线程。唯一需要注意的是调用的顺序。在不太重要的 API 之前调用重要的 API。

关于android - 在 android 中一次性调用静态数据的 api 需要考虑哪些检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44493516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com