我想知道如何缓存来自 Web 服务器(返回 json 数据)的 okHTTP 响应?
我希望我的应用程序下载 RecycleView 所需的所有数据,并在用户第一次运行应用程序时将其缓存 - 如果数据未更改,则避免从 Web 服务器重新下载和解析所有相同的数据。
我试图获得响应标头,但这是我得到的:
Request URL: https://somedomain.com/wp-json/?categories=3&per_page=100&status=publish
Request Method: GET
Status Code: 200 OK
Remote Address: 176.28.12.139:443
Referrer Policy: no-referrer-when-downgrade
Access-Control-Allow-Headers: Authorization, Content-Type
Access-Control-Expose-Headers: X-WP-Total, X-WP-TotalPages
Allow: GET
Connection: keep-alive
Content-Encoding: gzip
Content-Type: application/json; charset=UTF-8
Date: Fri, 23 Mar 2018 15:41:23 GMT
Link: <https://somedomain.com/wp-json/>; rel="https://api.w.org/"
Server: nginx
Transfer-Encoding: chunked
Vary: Accept-Encoding
X-Content-Type-Options: nosniff
X-Powered-By: PleskLin
X-Powered-By: PHP/7.1.15
X-Robots-Tag: noindex
X-WP-Total: 43
X-WP-TotalPages: 1
Accept: application/json, text/plain, */*
Accept-Encoding: gzip, …Run Code Online (Sandbox Code Playgroud) 我在为不在集群中的标记实现 OnClickListener 时遇到问题,即未使用以下方法添加:
mClusterManager.addItem(markerCluster);
Run Code Online (Sandbox Code Playgroud)
我已将 OnMarkerClickLister 设置如下:
mMap.setOnCameraIdleListener(mClusterManager);
mMap.setOnMarkerClickListener(mClusterManager);
Run Code Online (Sandbox Code Playgroud)
如果我只是使用:
mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
点击标记根本不起作用。
例如:我有这种情况:
两个绿点和大蓝点(数字 6)是一个集群,但红色标记不在集群中,因为我不希望它像其他标记一样集群。当我单击红色标记时,通常会显示 InfoWindow,但 onMarkerClick 不起作用 - 以及 OnClusterItemClickListener。但是当我点击集群中的标记时, OnClusterItemClickListener 工作。
希望你明白我想要达到的目标。如果没有,请告诉我。