mvp登录界面

mvp登录界面

public class MainActivity extends AppCompatActivity implements LoginView {

private EditText edit1,edit2;
private Button btn1,btn2;
private LoginPresenter mLoginPresenter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    edit1 = findViewById(R.id.edit1);
    edit2 = findViewById(R.id.edit2);
    btn1 = findViewById(R.id.btn1);
    btn2 = findViewById(R.id.btn2);
    mLoginPresenter = new LoginPresenter(this);
    btn2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String tel = MainActivity.this.edit1.getText().toString().trim();
            String pwd = MainActivity.this.edit2.getText().toString().trim();
            mLoginPresenter.login(UrlUtil.LOGIN,tel+UrlUtil.LOGINEND,pwd);
        }
    });
}

@Override
public void onSucess(String result) {
    Toast.makeText(MainActivity.this, result, Toast.LENGTH_SHORT).show();
}

@Override
public void onFailer(String failer) {
    Toast.makeText(MainActivity.this, failer, Toast.LENGTH_SHORT).show();
}

@Override
public void onKong() {
    Toast.makeText(MainActivity.this, "不能为空", Toast.LENGTH_SHORT).show();
}

@Override
public void show() {

}

@Override
public void hide() {

}

}

定义网络接口
public interface UrlUtil {
public String LOGIN=“http://www.zhaoapi.cn/user/login?mobile=”;
public String LOGINEND="&password=";
}

网络请求
public class UrlConnection {
public void login(final String url, final CallBack callBack){
new AsyncTask<String, Void, String>() {
@Override
protected String doInBackground(String… strings) {
try {
URL url1 = new URL(url);
HttpURLConnection urlConnection = (HttpURLConnection) url1.openConnection();
urlConnection.setConnectTimeout(3000);
int responseCode = urlConnection.getResponseCode();
if(responseCode == 200){
InputStream inputStream = urlConnection.getInputStream();
InputStreamReader reader = new InputStreamReader(inputStream);
String string = CharStreams.toString(reader);
return string;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            callBack.getData(s);
        }
    }.execute();
}
public interface CallBack{
    void getData(String s);
}

}

bean类
public class Login {
private String msg;
private String code;
private DataBean data;

public String getMsg() {
    return msg;
}

public void setMsg(String msg) {
    this.msg = msg;
}

public String getCode() {
    return code;
}

public void setCode(String code) {
    this.code = code;
}

public DataBean getData() {
    return data;
}

public void setData(DataBean data) {
    this.data = data;
}

public static class DataBean {
    /**
     * age : null
     * appkey : d618f5bb63be3a33
     * appsecret : 2289D4055C3A98DEFB19F19A407811D4
     * createtime : 2018-11-09T14:42:45
     * email : null
     * fans : null
     * follow : null
     * gender : null
     * icon : null
     * latitude : null
     * longitude : null
     * mobile : 15010746215
     * money : null
     * nickname : null
     * password : 8F669074CAF5513351A2DE5CC22AC04C
     * praiseNum : null
     * token : 91215D0826019F504078EAA759377F39
     * uid : 22111
     * userId : null
     * username : 15010746215
     */

    private Object age;
    private String appkey;
    private String appsecret;
    private String createtime;
    private Object email;
    private Object fans;
    private Object follow;
    private Object gender;
    private Object icon;
    private Object latitude;
    private Object longitude;
    private String mobile;
    private Object money;
    private Object nickname;
    private String password;
    private Object praiseNum;
    private String token;
    private int uid;
    private Object userId;
    private String username;

    public Object getAge() {
        return age;
    }

    public void setAge(Object age) {
        this.age = age;
    }

    public String getAppkey() {
        return appkey;
    }

    public void setAppkey(String appkey) {
        this.appkey = appkey;
    }

    public String getAppsecret() {
        return appsecret;
    }

    public void setAppsecret(String appsecret) {
        this.appsecret = appsecret;
    }

    public String getCreatetime() {
        return createtime;
    }

    public void setCreatetime(String createtime) {
        this.createtime = createtime;
    }

    public Object getEmail() {
        return email;
    }

    public void setEmail(Object email) {
        this.email = email;
    }

    public Object getFans() {
        return fans;
    }

    public void setFans(Object fans) {
        this.fans = fans;
    }

    public Object getFollow() {
        return follow;
    }

    public void setFollow(Object follow) {
        this.follow = follow;
    }

    public Object getGender() {
        return gender;
    }

    public void setGender(Object gender) {
        this.gender = gender;
    }

    public Object getIcon() {
        return icon;
    }

    public void setIcon(Object icon) {
        this.icon = icon;
    }

    public Object getLatitude() {
        return latitude;
    }

    public void setLatitude(Object latitude) {
        this.latitude = latitude;
    }

    public Object getLongitude() {
        return longitude;
    }

    public void setLongitude(Object longitude) {
        this.longitude = longitude;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public Object getMoney() {
        return money;
    }

    public void setMoney(Object money) {
        this.money = money;
    }

    public Object getNickname() {
        return nickname;
    }

    public void setNickname(Object nickname) {
        this.nickname = nickname;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Object getPraiseNum() {
        return praiseNum;
    }

    public void setPraiseNum(Object praiseNum) {
        this.praiseNum = praiseNum;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public int getUid() {
        return uid;
    }

    public void setUid(int uid) {
        this.uid = uid;
    }

    public Object getUserId() {
        return userId;
    }

    public void setUserId(Object userId) {
        this.userId = userId;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }
}

}

presenter层
public class LoginPresenter {
private LoginView mLoginView;
private LoginModel mLoginModel;

public LoginPresenter(LoginView loginView) {
    mLoginView = loginView;
    mLoginModel = new LoginModel();
}
public void login(String url,String tel,String pwd){
    if(TextUtils.isEmpty(url)||TextUtils.isEmpty(pwd)){
        mLoginView.onKong();
    }
    mLoginView.show();
    mLoginModel.login(url, tel, pwd, new UrlConnection.CallBack() {
        @Override
        public void getData(String s) {
            if(s.equals("登录成功")){
                mLoginView.onSucess("登录成功");
            }
            else if (s.equals("天呢!密码错误")){
                mLoginView.onFailer("密码或者账号错误");
            }
            else if (s.equals("请输入正确的手机号码")){
                mLoginView.onFailer("请输入正确的手机号码");
            }
            else if (s.equals("密码格式有问题,不能少于6位数")){
                mLoginView.onFailer("密码格式有问题,不能少于6位数");
            }
        }
    });
}

}

view层
public interface LoginView {
void onSucess(String result);
void onFailer(String failer);
void onKong();
void show();
void hide();
}

model层
public class LoginModel {
public void login(String url, String tel, String pwd, final UrlConnection.CallBack callBack){
UrlConnection urlConnection = new UrlConnection();
urlConnection.login(url + tel + pwd, new UrlConnection.CallBack() {
@Override
public void getData(String s) {
Gson gson = new Gson();
Login login = gson.fromJson(s, Login.class);
String msg = login.getMsg();
callBack.getData(msg);
}
});
}
public interface CallBack{
void getData(String s);
}
}

注册
if (s.equals(“天呢!用户已注册”)){
mLoginView.onFailer(“天呢!用户已注册”);
}
else if (s.equals(“请输入正确的手机号码”)){
mLoginView.onFailer(“请输入正确的手机号码”);
}
else if (s.equals(“密码格式有问题,不能少于6位数”)){
mLoginView.onFailer(“密码格式有问题,不能少于6位数”);
}
else if (s.equals(“注册成功”)){
mLoginView.onSucess(“注册成功”);
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值