注册

注册MVP
public static final String ZHUCE_STRING = "https://www.zhaoapi.cn/user/reg";
public static final String ZHUCE_BASE = "https://www.zhaoapi.cn/";
@GET("user/reg")
io.reactivex.Observable<RegBean> getZhuCe(@QueryMap HashMap<String,String> regMap);
public interface RegIConter {

    public interface RegIView{

        void RegShowData(RegBean regBean);

        void OnError(Throwable responseString);

    }

    public interface RegIPresenter<RegIView>{

        void attachView(RegIView regIView);

        void datachView(RegIView regIView);

        void RegRequestData(String userphone,String password);
    }

    public interface RegIModel{

        public interface RegCallBackListenter{

            void RegCallBack(RegBean regBean);

            void onFailer(Throwable throwable);

        }

        void RegResponseData(String userphone,String password,RegCallBackListenter regCallBackListenter);

    }

       

public class RegModel implements RegIConter.RegIModel {

    @SuppressLint("CheckResult")
    @Override
    public void RegResponseData(String userphone, String password, final RegCallBackListenter regCallBackListenter) {

        HashMap<String,String> map = new HashMap<>();
        map.put("mobile",userphone);
        map.put("password",password);

        Observable<RegBean> observable = Retrofitutil.getinstance().apiService(Contast.ZHUCE_BASE).getZhuCe(map);
        observable
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Consumer<RegBean>() {
                    @Override
                    public void accept(RegBean regBean) throws Exception {

                        regCallBackListenter.RegCallBack(regBean);

                    }
                }, new Consumer<Throwable>() {
                    @Override
                    public void accept(Throwable throwable) throws Exception {

                        regCallBackListenter.onFailer(throwable);
                    }
                });

    }
}
public class RegPresenter implements RegIConter.RegIPresenter<RegIConter.RegIView> {

    RegIConter.RegIView regIView;
    private RegModel regModel;
    private WeakReference<RegModel> regModelWeakReference;
    private WeakReference<RegIConter.RegIView> regIViewWeakReference;

    @Override
    public void attachView(RegIConter.RegIView regIView) {

        this.regIView = regIView;
        regModel = new RegModel();
        regModelWeakReference = new WeakReference<>(regModel);
        regIViewWeakReference = new WeakReference<>(regIView);
    }

    @Override
    public void datachView(RegIConter.RegIView regIView) {

        regModelWeakReference.clear();
        regIViewWeakReference.clear();

    }

    @Override
    public void RegRequestData(String userphone,String password) {

        regModel.RegResponseData(userphone, password, new RegIConter.RegIModel.RegCallBackListenter() {
            @Override
            public void RegCallBack(RegBean regBean) {
                regIView.RegShowData(regBean);
            }

            @Override
            public void onFailer(Throwable throwable) {

                regIView.OnError(throwable);

            }
        });

    }
}
public class RegActivity extends AppCompatActivity implements RegIConter.RegIView {

    @BindView(R.id.reg_phone)
    EditText regPhone;
    @BindView(R.id.reg_password)
    EditText regPassword;
    @BindView(R.id.reg_zc)
    Button regZc;
    private RegIConter.RegIPresenter regPresenter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_reg);
        ButterKnife.bind(this);
        regPresenter = new RegPresenter();
        regPresenter.attachView(this);

    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        regPresenter.datachView(this);
    }

    @OnClick(R.id.reg_zc)
    public void onViewClicked() {
        String stringPhone = regPhone.getText().toString();
        String regPassword = this.regPassword.getText().toString();
        if(stringPhone.trim().length()!=11){
            Toast.makeText(RegActivity.this,"请输入正确的手机号",Toast.LENGTH_SHORT).show();
        }else if(regPassword.trim().length()!=6){
            Toast.makeText(RegActivity.this,"密码必须定义为6位",Toast.LENGTH_SHORT).show();
        }else{
            regPresenter.RegRequestData(stringPhone,regPassword);
        }
    }


    @Override
    public void RegShowData(RegBean regBean) {
       if(regBean.getCode().equals("0")){
           Intent intent = new Intent(RegActivity.this,LoginActivity.class);
           startActivity(intent);
           Toast.makeText(RegActivity.this,"注册成功",Toast.LENGTH_SHORT).show();
       }else{
           Toast.makeText(RegActivity.this,"注册失败,该手机号已被注册",Toast.LENGTH_SHORT).show();
       }
    }

    @Override
    public void OnError(Throwable responseString) {
        Toast.makeText(RegActivity.this,responseString+"",Toast.LENGTH_SHORT);
    }
}

         

         

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值