model
package com.bawei.gsc.gsc0324;
import io.reactivex.Observable;
public class AModel implements Contart.IModel {
private Apresenter apresenter;
public AModel(Apresenter apresenter) {
this.apresenter = apresenter;
}
@Override
public void getloginModel(String phone, String pwd) {
Observable<ABean> data = RetrofitUtils.getmInstance().getservice().getData(phone, pwd);
apresenter.getloginPresenter(data);
}
}
presenter
public class Apresenter implements Contart.IPresenter {
private AModel aModel;
private Contart.IView iView;
public Apresenter(Contart.IView iView) {
this.iView = iView;
aModel = new AModel(this);
}
public void getkey(String key,String pwd){
aModel.getloginModel(key, pwd);
}
@Override
public void getloginPresenter(Observable<ABean> abean) {
abean.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<ABean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(ABean aBean) {
iView.success(aBean);
}
@Override
public void onError(Throwable e) {
iView.failure(e.getMessage());
}
@Override
public void onComplete() {
}
});
}
}
RetrofitUtils
public class RetrofitUtils {
private static RetrofitUtils mInstance;
private final Retrofit retrofit;
public static RetrofitUtils getmInstance() {
if (mInstance==null){
synchronized (RetrofitUtils.class){
if (mInstance==null){
mInstance=new RetrofitUtils();
}
}
}
return mInstance;
}
private RetrofitUtils() {
retrofit = new Retrofit.Builder()
.baseUrl("")
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build();
}
public WeiduService getservice(){
return retrofit.create(WeiduService.class);
}
}
public class MainActivity extends AppCompatActivity implements Contart.IView{
private FragmentManager supportFragmentManager;
private OneFragment oneFragment;
private TwoFragment twoFragment;
private FragmentTransaction fragmentTransaction;
private FrameLayout frame;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("");
setSupportActionBar(toolbar);
frame = findViewById(R.id.frame);
supportFragmentManager = getSupportFragmentManager();
oneFragment = new OneFragment();
twoFragment = new TwoFragment();
fragmentTransaction = supportFragmentManager.beginTransaction();
fragmentTransaction.add(R.id.frame,oneFragment);
fragmentTransaction.add(R.id.frame,twoFragment);
fragmentTransaction.commit();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
FragmentTransaction transaction = supportFragmentManager.beginTransaction();
if (id==R.id.reying){
transaction.show(oneFragment).hide(twoFragment).commit();
Toast.makeText(this, "第一", Toast.LENGTH_SHORT).show();
return true;
}else if (id==R.id.shangying){
transaction.show(twoFragment).hide(oneFragment).commit();
Toast.makeText(this, "第二", Toast.LENGTH_SHORT).show();
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void success(ABean aBean) {
}
@Override
public void failure(String msg) {
}
}