MVP

来源:互联网 发布:苹果mac版office2016 编辑:程序博客网 时间:2024/06/13 18:26

//MyApp类

package com.bawei.chenkai.week02.app;



import android.app.Application;


import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;


/**
 * Created by Administrator on 2017/10/11 0011.
 */


public class MyApp extends Application {


    private static MyApp mInstance;




    @Override
    public void onCreate() {
        super.onCreate();
        mInstance=this;
        ImageLoaderConfiguration defaultcof = ImageLoaderConfiguration.createDefault(getApplicationContext());
        ImageLoader.getInstance().init(defaultcof);


    }
    public static MyApp getInstance(){
        return mInstance;
    };


}

//model

//IModel

package com.bawei.chenkai.week02.login.model;


import com.bawei.chenkai.week02.login.bean.User;


/**
 * author:Created by WangZhiQiang on 2017/12/10.
 */


public interface IModel {


    void login(User user, int i);
}

//Model 继承IModel

package com.bawei.chenkai.week02.login.model;


import com.bawei.chenkai.week02.login.bean.Register;
import com.bawei.chenkai.week02.login.bean.User;
import com.bawei.chenkai.week02.login.bean.UserInfo;


import java.io.IOException;
import java.util.HashMap;
import java.util.Map;


import okhttp3.Call;
import utile.GsonObjectCallback;
import utile.OkHttp3Utils;


/**
 * author:Created by WangZhiQiang on 2017/12/10.
 */


public class Model implements IModel {




    private setOnfinish setOnfinishs;


    public interface setOnfinish{
        void onfinish(UserInfo userInfo);
        void ofinish2(Register register);
    }
    public Model(setOnfinish setOnfinishs){


        this.setOnfinishs=setOnfinishs;
    }
    @Override
    public void login(User user, int i) {


        Map<String,String> map=new HashMap<>();


        map.put("mobile", user.getName());
        map.put("password", user.getPwd());
        if(i==0){


            OkHttp3Utils.doPost("http://120.27.23.105/user/login", map, new GsonObjectCallback<UserInfo>() {
                @Override
                public void onUi(UserInfo userInfo) {
                    if(setOnfinishs!=null){
                        setOnfinishs.onfinish(userInfo);
                    }
                }


                @Override
                public void onFailed(Call call, IOException e) {


                }
            });
        }else if(i==1){
            OkHttp3Utils.doPost("http://120.27.23.105/user/reg", map, new GsonObjectCallback<Register>() {


                @Override
                public void onUi(Register register) {
                    if(setOnfinishs!=null){


                        setOnfinishs.ofinish2(register);
                    }
                }


                @Override
                public void onFailed(Call call, IOException e) {


                }
            });
        }
    }
}


//Iview

package com.bawei.chenkai.week02.login.view;


/**
 * author:Created by WangZhiQiang on 2017/12/10.
 */


public interface Iview {


    void loginSucess(String msg);


    void loginError(String msg);


    void signSucess(String msg);


    void signError(String msg);
}


//presenter

//passer重写 Model.setOnfinish 

package com.bawei.chenkai.week02.login.presenter;


import com.bawei.chenkai.week02.login.bean.Register;
import com.bawei.chenkai.week02.login.bean.User;
import com.bawei.chenkai.week02.login.bean.UserInfo;
import com.bawei.chenkai.week02.login.model.Model;
import com.bawei.chenkai.week02.login.view.Iview;


/**
 * author:Created by WangZhiQiang on 2017/12/10.
 */


public class passer implements Model.setOnfinish {


    private Iview iview;
    private Model imodel;


    public passer(Iview iview) {
        this.iview = iview;
        this.imodel=new Model(this);
    }


    public void login(User user, int i) {


        imodel.login(user, i);
    }


    //登录
    @Override
    public void onfinish(UserInfo userInfo) {
        if (userInfo.getCode().equals("0")) {
            iview.loginSucess(userInfo.getMsg());
        } else {
            iview.loginError(userInfo.getMsg());
        }
    }
//注册
    @Override
    public void ofinish2(Register register) {
        if (register.getCode().equals("0")) {
            iview.signSucess(register.getMsg());
        } else {
            iview.signError(register.getMsg());
        }
    }
}

//Mainactivity

package com.bawei.chenkai.week02;


import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.Toast;


import com.bawei.chenkai.week02.login.bean.User;
import com.bawei.chenkai.week02.login.presenter.passer;
import com.bawei.chenkai.week02.login.view.Iview;
import com.tencent.connect.UserInfo;
import com.tencent.connect.auth.QQToken;
import com.tencent.connect.common.Constants;
import com.tencent.tauth.IUiListener;
import com.tencent.tauth.Tencent;
import com.tencent.tauth.UiError;


import org.json.JSONException;
import org.json.JSONObject;


import static com.bawei.chenkai.week02.R.id.pwd;


public class MainActivity extends AppCompatActivity implements Iview {


    /**
     * 输入手机号
     */
    private EditText mPhones;
    /**
     * 输入密码
     */
    private EditText mPwd;
    /**
     * 登入
     */
    private RadioButton mLogin;
    /**
     * 注册
     */
    private RadioButton mSign;
    private ImageView mQq;
    private UserInfo mUserInfo;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();


    }






    private void initView() {
        mPhones = (EditText) findViewById(R.id.phones);
        mPwd = (EditText) findViewById(pwd);
        mLogin = (RadioButton) findViewById(R.id.login);
        mSign = (RadioButton) findViewById(R.id.sign);
        mLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (TextUtils.isEmpty(mPhones.getText().toString()) || TextUtils.isEmpty(mPwd.getText().toString())) {
                    Toast.makeText(MainActivity.this, "输入项不能为空", Toast.LENGTH_SHORT).show();
                    return;
                } else {


                    new passer(MainActivity.this).login(new User(mPhones.getText().toString(), mPwd.getText().toString()), 0);
                }
            }
        });
        mSign.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (TextUtils.isEmpty(mPhones.getText().toString()) || TextUtils.isEmpty(mPwd.getText().toString())) {
                    Toast.makeText(MainActivity.this, "输入项不能为空", Toast.LENGTH_SHORT).show();
                    return;
                } else {


                    new passer(MainActivity.this).login(new User(mPhones.getText().toString(), mPwd.getText().toString()), 1);
                }
            }
        });


    }
    
    @Override
    public void loginSucess(String msg) {
        Toast.makeText(this, msg + "、欢迎使用☺", Toast.LENGTH_SHORT).show();
        Intent intent = new Intent(MainActivity.this, ListActivity.class);
        startActivity(intent);
        finish();


    }


    @Override
    public void loginError(String msg) {
        Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
    }


    @Override
    public void signSucess(String msg) {
        Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
    }


    @Override
    public void signError(String msg) {


        Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
    }
}

原创粉丝点击