如何在andrid中读取Apollo规范化SQL缓存



我使用Apollo Normalized SQL缓存来缓存Android中的用户数据,如用户id、姓名和电话号码。有没有一种方法可以让我在需要的时候获取这些信息,而不管查询是否被触发?

存储在缓存中的查询的响应。

query loginUser($mobile: String!, $password: String!) {
login(mobile: $mobile, password: $password){
token
id
}
}

ApoloClient.java

public class OtherAplClient {
public static final String BASE_URL = AplClient.BASE_URL; 
public static ApolloClient getmApolloClient() {
OkHttpClient okHttpClient = new OkHttpClient.Builder().build();
return ApolloClient.builder()
.serverUrl(BASE_URL)
.okHttpClient(okHttpClient)
.build();
}
}

这里我想读取缓存

ApolloClient apolloClient = OtherAplClient.getmApolloClient();
// Here I want to read the cache

您需要的是ApolloStore,请参阅此处https://www.apollographql.com/docs/kotlin/caching/storeApolloStore是缓存,您可以读取它。

示例来自https://www.apollographql.com/docs/kotlin/caching/troubleshooting

val dump = apolloClient.apolloStore.dump()
NormalizedCache.prettifyDump(dump)

最新更新