我正在处理应用程序,在应用程序启动时,我正在从Rest服务下载类别和帖子,以将它们存储在SQLite数据库中。我有几个问题:
@ViewChild('tab1') tab1;
...
this.tab1.getNativeElement().click();
变量很奇怪。代码:
ViewChild
ItemsApi.class:
objects
答案 0 :(得分:4)
以下是答案:
1)对于并行请求,应使用Observable.zip,如下所示
Observable<Boolean> obs = Observable.zip(
client.getCategories(),
client.getPosts(),
(categoriesList, postsList) -> {
// you have here both categories and lists
// write any code you like, for example inserting to db
return true;
});
在这里,您具有每个类型(列表和列表)的参数(categoriesList,postsList)。
2)您应该将代码放在我在注释中指定的位置。确保您使用正确的线程
3)也可以在那里下载图像。您可以在函数中使用另一个zip
-s,将并行下载的图像,插入到db等组合在一起。所有这些都应该是可观察到的,并与zip组合在一起。
在zip
中,您可以根据需要组合任意数量的可观察对象,它们的结果将作为组合函数的参数提供。
答案 1 :(得分:0)
1._您是否尝试过Retrofit的 addConverterFactory ?
Retrofit restAdapter = new Retrofit.Builder().baseUrl("https://abc")
.addConverterFactory(GsonConverterFactory.create(new Gson()))
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.build();
RestAuthenticationService restAuthenticationService = restAdapter.create(RestAuthenticationService.class);
在 RestAuthenticationService.class 中:
public interface RestAuthenticationService {
@POST("security/login")
Observable<User> login(@Body LoginRequest loginRequest);
}