我正在尝试升级到Retrofit 2.0并在我的android项目中添加RxJava.我正在进行api调用,并希望在服务器发出错误响应的情况下检索错误代码.
Observable<MyResponseObject> apiCall(@Body body);
Run Code Online (Sandbox Code Playgroud)
并在RxJava调用中:
myRetrofitObject.apiCall(body).subscribe(new Subscriber<MyResponseObject>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(MyResponseObject myResponseObject) {
//On response from server
}
});
Run Code Online (Sandbox Code Playgroud)
在Retrofit 1.9中,RetrofitError仍然存在,我们可以通过以下方式获得状态:
error.getResponse().getStatus()
Run Code Online (Sandbox Code Playgroud)
如何使用RxJava进行Retrofit 2.0?
我正在尝试使用我的api调用(通过Retrofit2.0制作)创建单元测试Mockito.
这似乎是在使用最流行的博客Mockito用Retrofit.
http://mdswanson.com/blog/2013/12/16/reliable-android-http-testing-with-retrofit-and-mockito.html
不幸的是,它使用的是早期版本Retrofit,并且取决于Callbacks和RetrofitError,它们从2.0中断.
你是怎么做到的Retrofit 2.0?
PS:我使用的是RxJava一起retrofit,让一些有工作RxJava将是巨大的.谢谢!
我试图在我的应用程序中集成Youtube播放器api.但是,当我切换到全屏时,会出现一些问题:
公共类YouTubeVideoElement extends Element实现了YouTubePlayer.OnInitializedListener {
private final String DEVELOPER_KEY = "MY_KEY";
private static final int RECOVERY_DIALOG_REQUEST = 1;
private RelativeLayout.LayoutParams layoutParams;
private YouTubePlayerFragment playerFragment;
private View playerView;
private ViewGroup viewFrame;
public State state;
private Dialog errorDialog;
private Context context;
public YouTubeVideoElement(Context context) {
this.context = context;
}
@Override
public String getType() {
return null;
}
@Override
public ViewGroup getView() {
return viewFrame;
}
@Override
public ViewGroup populateView(Context context, JsonObject data, Map<String, String> style) {
viewFrame = new FrameLayout(context); …Run Code Online (Sandbox Code Playgroud)