Model 层
public class Model_Mvp implements Model_Interface{
@Override
public Observable<MyBean> getMessage(int phone, int pwd) {
Url_Interface url_interface = RetrofitUtils.getInstance().create(Url_Interface.class);
Observable<MyBean> myBeanCall = url_interface.MY_BEAN_CALL(phone, pwd);
return myBeanCall;
}
}
Model 层 接口 放置拼接网络的数据
public interface Model_Interface {
Observable<MyBean> getMessage(int phone, int pwd);
}
View 层 放置接口
public interface View_Map {
void View_Map(MyBean resultBeans);
}
Presenter 接口 传递 拼接的 信息
public interface Presenter_Interface {
void getMessage(int phone,int pwd);
}
Presenter 放置 请求 网络工具类
public class Presenter_Mvp implements Presenter_Interface {
private final View_Map view_map;
private Model_Mvp model_mvp;
public Presenter_Mvp(View_Map view_map) {
this.view_map=view_map;
this.model_mvp=new Model_Mvp();
}
@Override
public void getMessage(int phone, int pwd) {
model_mvp.getMessage(phone,pwd)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<MyBean>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(MyBean myBean) {
view_map.View_Map(myBean);
}
});
}
}
网络 请求 工具类
public class RetrofitUtils {
public static RetrofitUtils mRetrofitUtils;
private final Retrofit retrofit;
public static RetrofitUtils getInstance(){
synchronized (RetrofitUtils.class){
if( mRetrofitUtils== null){
return mRetrofitUtils= new RetrofitUtils();
}
}
return mRetrofitUtils;
}
private OkHttpClient okHttpClient(){
OkHttpClient build = new OkHttpClient.Builder()
.readTimeout(5000, TimeUnit.MILLISECONDS)
.connectTimeout(5000, TimeUnit.MILLISECONDS)
.writeTimeout(5000, TimeUnit.MILLISECONDS)
.build();
return build;
}
private RetrofitUtils(){
retrofit = new Retrofit.Builder()
.baseUrl(Urls.Url)
.client(okHttpClient())
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.build();
}
public Retrofit getRetrofit(){
return retrofit;
}
public <T> T create(Class<T> clazz){
return retrofit.create(clazz);
}
}
Main Activity
public class MainActivity extends AppCompatActivity implements View_Map {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Presenter_Mvp presenter_all = new Presenter_Mvp(this);
int number=1367112;
presenter_all.getMessage(number,123456);
}
@Override
public void View_Map(MyBean resultBeans) {
String status = resultBeans.getStatus();
Log.e("信息",status);
}
}