1.动态代理 http://blog.csdn.net/lxj1137800599/article/details/76022141
2.常见注解说明 (1)一般的get
public interface IUserBiz{
@GET("users")
Call<List<User>> getUsers();
}
@GET中所填写的value和baseUrl组成完整的路径 (2)动态的url访问@PATH
public interface IUserBiz{
@GET("{username}")
Call<User> getUser(@Path("username") String username);
}
@GET注解中使用{username}声明了访问路径,实际运行中会通过@PATH(“username”)所标注的参数进行替换 (3)查询参数的设置@Query
public interface IUserBiz{
@GET("users")
Call<List<User>> getUsersBySort(@Query("sortby") String sort);
}
组成的路径类似于http://baseurl/users?sortby=username (4)POST请求体的方式向服务器传入json字符串@Body
public interface IUserBiz{
@POST("add")
Call<List<User>> addUser(@Body User user);
}
Call<List<User>> call = userBiz.addUser(new User(1001, "jj", "123,", "jj123", "jj@qq.com"));
3.常见的adapter RxJava2CallAdapterFactory(切换线程的)
4.常见的converter SimpleXmlConverterFactory和GsonConverterFactory
5.如何取消网络请求—–Subscription //Flowable在这里
private Subscriber mSubscriber = new Subscriber<MyObject<List<MovieEntity>>>() {
@Override
public void onSubscribe(Subscription s) {
Log.e("Subscription", "Subscription");
s.request(Long.MAX_VALUE);
mSubscription = s;
}
@Override
public void onNext(MyObject<List<MovieEntity>> o) {
Log.e("onNext", "onNext");
mTextView.setText(o.subjects.toString());
}
@Override
public void onError(Throwable t) {
}
@Override
public void onComplete() {
}
};