<登陆-注册-详情界面-模拟购物车界面-模拟订单界面>-----2.注册
2018-01-19 12:39
549 查看
//接着上一个继续 哈哈 访问数据依然使用retrofit 在上个项目中已经生成,直接调用
//访问接口数据 生成一个注册bean RegisterBeanRegisterBean//开始网络请求 依然使用mvp//m层
import com.bwei.gaochao.text2.bean.RegisterBean;
public interface RegisterModelListener {
void success(RegisterBean registerBean);
}
public class RegisterModel {
public void getData(String name, String paw, final RegisterModelListener registerModelListener){
Map<String,String> map = new HashMap<>();
map.put("mobile",name);
map.put("password",paw);
RetrofitManager.get("user/reg", map, new BaseObserver<RegisterBean>() {
@Override
public void success(RegisterBean registerBean) {
if (registerModelListener != null){
registerModelListener.success(registerBean);
}
}
@Override
public void failure(int code) {
}
});
}
}
//p层public class RegisterPersenter {
RegisterViewListener registerViewListener;
RegisterModel registerModel;
public RegisterPersenter(RegisterViewListener registerViewListener) {
this.registerViewListener =registerViewListener;
registerModel = new RegisterModel();
}
public void getData(String name,String paw,String paw2,String email){
//判断用户名不能为空
if (TextUtils.isEmpty(name)){
if (registerViewListener != null){
registerViewListener.adminEmpty("用户名不能为空");
return;
}
}
//判断密码不能为空
if (TextUtils.isEmpty(paw)){
if (registerViewListener != null){
registerViewListener.pwdEmpty("密码不能为空");
return;
}
//判断二次输入的密码
if (TextUtils.isEmpty(paw2)){
if (registerViewListener != null){
registerViewListener.confrim("请再次输入密码");
return;
}
if (!paw2.equals(paw)){
if (registerViewListener != null){
registerViewListener.confrim("两次密码不一样");
return;
}
}
}
// boolean email1 = isEmail(email);
// if (!email1){
// if (registerViewListener != null){
// registerViewListener.email("邮箱格式不正确");
// return;
// }
// }
}
//调用m层
registerModel.getData(name, paw, new RegisterModelListener() {
@Override
public void success(RegisterBean registerBean) {
if (registerViewListener!=null){
registerViewListener.success(registerBean.getMsg());
}
}
});
}
//防止内存泄露
public void detach(){
registerViewListener=null;
}
// public boolean isEmail(String email) {
// String str = "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
// Pattern p = Pattern.compile(str);
// Matcher m = p.matcher(email);
//
// return m.matches();
// }
}//v层
//RegisterActivity 布局和代码<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.bwei.gaochao.text2.RegisterActivity">
<EditText
android:id="@+id/edi_name"
android:hint="请输入账号"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
4000
<EditText
android:id="@+id/edi_paw"
android:hint="请输入密码"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/edi_paw2"
android:hint="确认输入密码"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/edi_eml"
android:hint="请输入邮箱"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/but_register"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="注册"/>
</LinearLayout>
//访问接口数据 生成一个注册bean RegisterBeanRegisterBean//开始网络请求 依然使用mvp//m层
import com.bwei.gaochao.text2.bean.RegisterBean;
public interface RegisterModelListener {
void success(RegisterBean registerBean);
}
public class RegisterModel {
public void getData(String name, String paw, final RegisterModelListener registerModelListener){
Map<String,String> map = new HashMap<>();
map.put("mobile",name);
map.put("password",paw);
RetrofitManager.get("user/reg", map, new BaseObserver<RegisterBean>() {
@Override
public void success(RegisterBean registerBean) {
if (registerModelListener != null){
registerModelListener.success(registerBean);
}
}
@Override
public void failure(int code) {
}
});
}
}
//p层public class RegisterPersenter {
RegisterViewListener registerViewListener;
RegisterModel registerModel;
public RegisterPersenter(RegisterViewListener registerViewListener) {
this.registerViewListener =registerViewListener;
registerModel = new RegisterModel();
}
public void getData(String name,String paw,String paw2,String email){
//判断用户名不能为空
if (TextUtils.isEmpty(name)){
if (registerViewListener != null){
registerViewListener.adminEmpty("用户名不能为空");
return;
}
}
//判断密码不能为空
if (TextUtils.isEmpty(paw)){
if (registerViewListener != null){
registerViewListener.pwdEmpty("密码不能为空");
return;
}
//判断二次输入的密码
if (TextUtils.isEmpty(paw2)){
if (registerViewListener != null){
registerViewListener.confrim("请再次输入密码");
return;
}
if (!paw2.equals(paw)){
if (registerViewListener != null){
registerViewListener.confrim("两次密码不一样");
return;
}
}
}
// boolean email1 = isEmail(email);
// if (!email1){
// if (registerViewListener != null){
// registerViewListener.email("邮箱格式不正确");
// return;
// }
// }
}
//调用m层
registerModel.getData(name, paw, new RegisterModelListener() {
@Override
public void success(RegisterBean registerBean) {
if (registerViewListener!=null){
registerViewListener.success(registerBean.getMsg());
}
}
});
}
//防止内存泄露
public void detach(){
registerViewListener=null;
}
// public boolean isEmail(String email) {
// String str = "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
// Pattern p = Pattern.compile(str);
// Matcher m = p.matcher(email);
//
// return m.matches();
// }
}//v层
public interface RegisterViewListener { void success(String s); void failed(String s); void adminEmpty(String s); void pwdEmpty(String s); void email(String s); void confrim(String s); }
//RegisterActivity 布局和代码<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.bwei.gaochao.text2.RegisterActivity">
<EditText
android:id="@+id/edi_name"
android:hint="请输入账号"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
4000
<EditText
android:id="@+id/edi_paw"
android:hint="请输入密码"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/edi_paw2"
android:hint="确认输入密码"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/edi_eml"
android:hint="请输入邮箱"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/but_register"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="注册"/>
</LinearLayout>
import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import com.bwei.gaochao.text2.regoster_mvp.persenter.RegisterPersenter; import com.bwei.gaochao.text2.regoster_mvp.view.RegisterViewListener; public class RegisterActivity extends AppCompatActivity implements RegisterViewListener { private EditText mEdiName; private EditText mEdiPaw; private EditText mEdiPaw2; private EditText mEdiEml; private Button mButRegister; private RegisterPersenter registerPersenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_register); initView(); registerPersenter = new RegisterPersenter(this); } private void initView() { mEdiName = findViewById(R.id.edi_name); mEdiPaw = findViewById(R.id.edi_paw); mEdiPaw2 = findViewById(R.id.edi_paw2); mEdiEml = findViewById(R.id.edi_eml); //注册按钮 mButRegister = findViewById(R.id.but_register); mButRegister.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String name = mEdiName.getText().toString().trim(); String paw = mEdiPaw.getText().toString().trim(); String paw2 = mEdiPaw2.getText().toString().trim(); String eml = mEdiEml.getText().toString().trim(); registerPersenter.getData(name,paw,paw2,eml); } }); } @Override public void success(String s) { if (("注册成功").equals(s)){ Toast.makeText(RegisterActivity.this, s, Toast.LENGTH_SHORT).show(); finish(); } } @Override public void failed(String s) { Toast.makeText(RegisterActivity.this, s, Toast.LENGTH_SHORT).show(); } @Override public void adminEmpty(String s) { Toast.makeText(RegisterActivity.this, s, Toast.LENGTH_SHORT).show(); } @Override public void pwdEmpty(String s) { Toast.makeText(RegisterActivity.this, s, Toast.LENGTH_SHORT).show(); } @Override public void email(String s) { Toast.makeText(RegisterActivity.this, s, Toast.LENGTH_SHORT).show(); } @Override public void confrim(String s) { Toast.makeText(RegisterActivity.this, s, Toast.LENGTH_SHORT).show(); } }
相关文章推荐
- <登陆-注册-详情界面-模拟购物车界面-模拟订单界面>-----5.添加购物车
- <登陆-注册-详情界面-模拟购物车界面-模拟订单界面>-----6购物车
- <登陆-注册-详情界面-模拟购物车界面-模拟订单界面>-----1.登陆
- <登陆-注册-详情界面-模拟购物车界面-模拟订单界面>-----7订单界面
- <登陆-注册-详情界面-模拟购物车界面-模拟订单界面>-----3.商品列表界面
- <登陆-注册-详情界面-模拟购物车界面-模拟订单界面>----4.详情页
- Rerofit登录注册购物列表详情页购物车跳转订单
- MVP框架做的登陆注册,商品列表,商品详情,购物车功能 RxJava+Retrofit ijkplayer EventBus ButterKnife
- 登陆/注册/列表/详情/购物车
- 模拟登陆注册界面
- 商品详情界面+购物车+删除
- 【JavaSE练习】项目_项目_模拟用户登陆注册功能(IO完成)
- 在web.xml定义,在网页中使用变量实例 使用只有创建变量的servlet才可以访问的<init-param>方式 附带登陆和跳转实现
- 使用自定义标签模拟jstl的<c:for each>标签
- java web (登陆注册界面)
- 购物车订单界面的简单实现(三)
- 购物车与订单详情布局
- 模拟注册以及登陆:作业题练习
- 12.综合运用:模拟王者荣耀的登陆界面,并实现两个页面的跳转
- <Android>Xutils的本地数据库的使用---登录注册等