如何使用Retrofit传输实时数据

时间:2015-07-01 14:14:04

标签: android retrofit

我想在我的Android应用程序中观察服务器的更改。 所以我使用这个界面与服务器打开流。

public interface Service {
 @GET("/n/{id}/streaming")
void streamThreads(@Path("name_space_id") String Id, @QueryMap Map<String, String> options,@Query("exclude_types") String type, Callback<Object> callback);
}

这是我的方法,我可以在我的活动中得到回应

  server.streamThreads(accountInfo.getId(), map, "thread", new Callback<Object>() {
        @Override
        public void success(Object o, Response response) {
            String json = (String) o;
            Log.i(TAG,json);
        }

        @Override
        public void failure(RetrofitError error) {
            Response r = error.getResponse();
            if (r != null)
                Log.e(TAG, "error: " + r.getReason());
        }
    });

所以我在网络浏览器和生命周期中测试了方法。 但响应每30分钟就会出现在我的移动应用中。我在onCreate()上使用了一个活动和调用方法。

由于

1 个答案:

答案 0 :(得分:0)

Retrofit提供@Streaming注释。 然后可以从原始的OkHttp ResponseBody获取未读的byteStream。