//工具类的使用
public class NoteWorkMargent {
private static NoteWorkMargent mNoteWorkMargent;
private Retrofit mRetrofit;
private final static String Mall_Api=“http://172.17.8.100/small/”;
private OkHttpClient mClient;
//双重锁
public static NoteWorkMargent getInsert(){
if (mNoteWorkMargent==null){
synchronized (NoteWorkMargent.class){
if (mNoteWorkMargent == null){
mNoteWorkMargent = new NoteWorkMargent();
}
}
}
return mNoteWorkMargent;
}
private NoteWorkMargent(){
// 初始化okhttp
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BASIC);
mClient = new OkHttpClient.Builder()
.addInterceptor(logging)
.build();
mRetrofit = new Retrofit.Builder()
.client(mClient)
.baseUrl(Mall_Api)
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.build();
}
//把接口的注解翻译为OKhttp请求
public <T> T create(final Class<T> service) {
return mRetrofit.create(service);
}
}
/**
* 注册方法
* @param
* @return
*/
@FormUrlEncoded
@POST(“user/v1/register”)
Observable getRegin(@Field(“phone”)String phone,@Field(“pwd”)String pwd);
/**
* Banner方法
* @param
* @return
*/
@GET("commodity/v1/bannerShow")
Observable<Result<List<BannerBean>>> getBanner();
=========================================================================================================
BasePersent基类
public abstract class BasePersent {
private Consumer mConsumer;
public BasePersent(Consumer consumer) {
mConsumer = consumer;
}
protected abstract Observable mObservable(Object...args);
public void reqeust(Object...args){
mObservable(args).subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(mConsumer);
}
}
public class LeftPersent extends BasePersent {
public LeftPersent(Consumer consumer) {
super(consumer);
}
@Override
protected Observable mObservable(Object...args) {
IView iView = LeftNetWorkManger.getinster().create(IView.class);
return iView.getLeft();
}
}
==========================================================================================================
//获取数据
class LoginCall implements Consumer{
@Override
public void accept(Result loginResult) throws Exception {
if (loginResult.getStatus().equals(“0000”)){
Intent intent = new Intent(getBaseContext(),ShowActivity.class);
startActivity(intent);
}
Toast.makeText(getBaseContext(),loginResult.getMessage(),Toast.LENGTH_SHORT).show();
}
}