问题描述
我想加载一个json,一个接一个,由于其较大的JsonArray 。在此之前,我使用了Retrofit调用及其oKey,但是输出时间过长。感谢您提供有关如何以这种方式实施的帮助。
ApiInterface.java
public interface ApiInterface {
@POST("/token/login")
Call<User> login(@Body Login login);
@Streaming
@GET("/api/schools/")
Observable<ResponseBody> getAllSchools(@Header("Authorization") String authToken);
}
Client.java
public class Client {
public static final String BASE_URL = "site.net";
private static Retrofit retrofit;
public static Retrofit getClient(){
if (retrofit == null){
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build();
}
return retrofit;
}
}
ApiInterface apiInterface = Client.getClient().create(ApiInterface.class);
String tok = "Token " + token;
apiInterface.getAllSchools(tok)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<ResponseBody>() {
@Override
public void onSubscribe(Disposable disposable) {
}
@Override
public void onNext(ResponseBody responseBody) {
//fetch json one after one.
Toast.makeText(getContext(),responseBody.toString(),Toast.LENGTH_SHORT).show();
}
@Override
public void onError(Throwable throwable) {
}
@Override
public void onComplete() {
Toast.makeText(getContext(),"finish--",Toast.LENGTH_SHORT).show();
}
});
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)