我试图在请求的成功案例中阅读httpstatus代码e body.所以我创建了下面的代码来测试,但是我没有得到被onNext调用,我试图使用okhttp(com.squareup.okhttp.Response)和改进Response(retrofit.Response )类,但我无法使其工作.
有人可以帮我在这里阅读正文和httpstatus代码吗?我想继续使用Observables.提前致谢.
package com.app.rest;
import com.squareup.okhttp.Response;
import retrofit.GsonConverterFactory;
import retrofit.Retrofit;
import retrofit.RxJavaCallAdapterFactory;
import retrofit.http.GET;
import rx.Observable;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
public class TestApiClient {
public interface Test {
@GET("/posts")
Observable<Response> getPosts();
}
public TestApiClient() {
new Retrofit.Builder()
.baseUrl("http://jsonplaceholder.typicode.com")
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.build().create(Test.class).getPosts().subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()).subscribe(new Subscriber<Response>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
e.toString();
}
@Override
public void onNext(Response response) {
response.toString();
}
});
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试将公司应用程序迁移到dagger 2.10和AndroidInjector.inject方法,但我认为我发现了一个问题.该应用程序使用自定义范围...就像功能登录有3个活动(每个活动都有自己的匕首模块)和一个LoginModule负责共享只应该在此范围内的单身人士.所以在我用过的第一个Activity中执行类似的操作:
public class LoginActivity extends AppCompatActivity{
public void onCreate(Bundle bla){
LoginActivityComponent activityComponent = ((CustomApplication) getApplicationContext())
.plus(new LoginModule()) // generates LoginComponent and save the reference in the CustomApplication
.plus(new LoginActivityModule(this));
activityComponent.inject(this);
...
}
Run Code Online (Sandbox Code Playgroud)
在我刚刚执行的其他活动中 ((CustomApplication) getApplicationContext()).getLoginComponent().plus(new ForgetPasswordModule()).inject(this)
使用AndroidInjector时如何归档相同的行为?