网络请求

/**
* Retrofit帮助类
*/
public class RetrofitHelper {

/** 测试服务器路劲*/

// private static final String API_SERVER = “http://”;
/* 正式服务器路径/
private static final String API_SERVER = “https://”; //接口

private static OkHttpClient mClient;
private Retrofit mRetrofit;

private RetrofitHelper() {

    mClient = OkHttpClientHelper.getInstance().getOkHttpClient();
}

private static RetrofitHelper helper;

//单例 保证对象唯一
public static RetrofitHelper getInstance() {
    if (helper == null) {
        synchronized (RetrofitHelper.class) {
            if (helper == null) {
                helper = new RetrofitHelper();
            }
        }
    }
    return helper;
}

//获取Retrofit对象
public Retrofit getRetrofit() {

    if (mClient == null) {

        mClient = OkHttpClientHelper.getInstance().getOkHttpClient();
    }

    if (mRetrofit == null) {
        mRetrofit = new Retrofit.Builder()
                .baseUrl(API_SERVER + "/")
//                    .addConverterFactory(GsonConverterFactory.create())  //添加Gson支持
                //TODO 修改--java.lang.IllegalStateException: Fatal Exception thrown on Scheduler.Worker thread.
                .addConverterFactory(GsonConverterFactory.create(new Gson()))  //添加Gson支持
                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())  //添加RxJava支持
                .client(mClient)                                            //关联okhttp
                .build();
    }
    return mRetrofit;
}

}

public class HttpUtils {

private static INetService mService = getService();

/**
 * 首页的数据
 */
public static void requestGetHomeData(String alt, Subscriber subscriber) {
    setSubscriber(mService.getHomeDataPost(alt), subscriber);
}
      //订阅事件
   public static <T> void setSubscriber(Observable<T> observable, Subscriber<T> subscriber) {

    //        observable.subscribeOn(Schedulers.newThread())
  //                .observeOn(AndroidSchedulers.mainThread())
//                .subscribe(subscriber);

    observable.subscribeOn(Schedulers.io())
            .subscribeOn(Schedulers.newThread())//子线程访问网络
            .observeOn(AndroidSchedulers.mainThread())  //回调到主线程
            .subscribe(subscriber);
}

//获取服务对象
private static INetService getService() {
    if (mService == null) {
        mService = RetrofitHelper.getInstance()
                .getRetrofit()
                .create(INetService.class);
    }
    return mService;
}

}

/**
* service统一接口数据
*/
public interface INetService {

//express/query?act=5a58ca2893748f3b

/**
 * 首页数据
 */
@FormUrlEncoded
@POST(“index)
Observable<Entity> getHomeDataPost(@Field("act") String act);

}

简单的retrofit2—-RxJava—okhttp网络请求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值