这是android的网络底层封装,可以简便的使用网络调用,对网络返回进行统一的封装处理。
先上代码,以登录为例
下面是使用代码
//先通过单例模式获取retrofit对象,调用api类访问接口。
Observable<HttpResult<TokenRec>> call = NetConnect.getInstance().getService(UserService.class).userLogin(vm.getUsername(),vm.getPassword());
call.compose(NetConnect.<HttpResult<TokenRec>>setThread()).subscribe(new CallBackObserver<TokenRec>() {
@Override
public void onSuccess(HttpResult<TokenRec> response) {
});
api接口
public interface UserService {
/**登录*/
@FormUrlEncoded //通过表单访问,参数field注解必须要有这个。
@POST("user/login") //url地址后缀
Observable<HttpResult<TokenRec>> userLogin(@Field("username") String username,@Field("password") String password);
}
网路请求类
public class NetConnect {
// 网络请求超时时间值(s)
private static final int DEFAULT_TIMEOUT = 60;
private static NetConnect instance;
private Retrofit retrofit;
//单例
public static NetConnect getInstance(){
if(instance ==