MVP登录注册
来源:互联网 发布:efd.lab软件下载 编辑:程序博客网 时间:2024/05/22 12:24
这是工程结构
Activity包
**************************************************************************************************************************************
public class MainActivity extends AppCompatActivity implements View.OnClickListener,LogiView { private TextView mTv; private EditText mMobileEdit; private EditText mPasswordEdit; private Button mLoginBtn; private Button mRegBtn; LogMyPresenter presenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); presenter=new LogMyPresenter(this,this); } private void initView() { mTv = (TextView) findViewById(R.id.tv); mMobileEdit = (EditText) findViewById(R.id.edit_mobile); mPasswordEdit = (EditText) findViewById(R.id.edit_password); mLoginBtn = (Button) findViewById(R.id.btn_login); mLoginBtn.setOnClickListener(this); mRegBtn = (Button) findViewById(R.id.btn_reg); mRegBtn.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_login: presenter.loading(mMobileEdit.getText().toString(),mPasswordEdit.getText().toString()); break; case R.id.btn_reg: Intent intent=new Intent(MainActivity.this,ZhuCeActivity.class); startActivity(intent); break; default: break; } } @Override public void ShowData(LogBean lbean) { Toast.makeText(MainActivity.this,""+lbean.getMsg(),Toast.LENGTH_SHORT).show(); }}********************************************************************************************************************************
public class ZhuCeActivity extends AppCompatActivity implements View.OnClickListener,RegiView { private TextView mTv; private EditText mMobileEdit; private EditText mPasswordEdit; private Button mRegBtn; RegMyPresenter presenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_zhu_ce); initView(); presenter=new RegMyPresenter(this,this); } private void initView() { mTv = (TextView) findViewById(R.id.tv); mMobileEdit = (EditText) findViewById(R.id.edit_mobile); mPasswordEdit = (EditText) findViewById(R.id.edit_password); mRegBtn = (Button) findViewById(R.id.btn_reg); mRegBtn.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_reg: presenter.Loading(mMobileEdit.getText().toString(),mPasswordEdit.getText().toString()); break; default: break; } } @Override public void ShowData(RegBean rbean) { Toast.makeText(ZhuCeActivity.this,""+rbean.getMsg(),Toast.LENGTH_SHORT).show(); }}Model
public interface LogiModel { public void initData(String mobile, String password, Callback callback);}*********************************************************************************************************
public class LogMyModel implements LogiModel { @Override public void initData(String mobile, String password, Callback callback) { OkHttpUtils.getInstance().doGet("http://120.27.23.105/user/login?mobile="+mobile+"&password="+password+"",callback); }}
**********************************************************************************************************
public interface RegModel { public void initData(String mobile, String password, Callback callback);}**********************************************************************************************************
public class RegMyModel implements RegModel { @Override public void initData(String mobile, String password, Callback callback) { OkHttpUtils.getInstance().doGet("http://120.27.23.105/user/reg?mobile="+mobile+"&password="+password+"",callback); }}
Presenter
public class LogMyPresenter { Context context; LogiView iview; LogMyModel model; LogBean lbean; public LogMyPresenter(Context context,LogiView iview){ this.context=context; this.iview=iview; model=new LogMyModel(); } public void loading(String mobile,String password){ model.initData(mobile, password, new OnUiCallback() { @Override public void onFailed(Call call, IOException e) { //失败 } @Override public void onSuccess(String result) { //成功 Gson gson = new Gson(); lbean =gson.fromJson(result,LogBean.class); iview.ShowData(lbean); } }); }}
**********************************************************************************************************************
public class RegMyPresenter { Context context; RegiView rview; RegMyModel model; public RegMyPresenter(Context context,RegiView rview){ this.context=context; this.rview=rview; model=new RegMyModel(); } public void Loading(String mobile,String password){ model.initData(mobile, password, new OnUiCallback() { @Override public void onFailed(Call call, IOException e) { } @Override public void onSuccess(String result) { Gson gson=new Gson(); RegBean rbean=gson.fromJson(result,RegBean.class); rview.ShowData(rbean); } }); }}
View
public interface LogiView { public void ShowData(LogBean lbean);}
********************************************************************************************
public interface RegiView { public void ShowData(RegBean rbean);}
util包和上一篇博客一样,这就不传了。
阅读全文
0 0
- MVP 实现登录注册
- 登录注册mvp模式
- MVP注册登录
- MVP 登录注册
- MVP注册登录
- MVP 登录+注册
- MVP登录注册
- MVP登录注册
- MVP登录注册
- Mvp实现登录注册
- MVP登录注册跳转
- MVP登录注册
- MVP登录注册、跳转
- MVP实现登录注册
- 登录注册mvp
- 登录注册(MVp)
- MVP注册登录
- MVP登录注册
- java 线程 启动 和 创建
- CSR8670 学习记录
- 游戏控制代码
- 手把手教你如何玩转虚拟定位
- JavaFile之获取获取目录下符合条件的文件集合
- MVP登录注册
- matlab 保存figure中的图像
- CodeForces 858B Which floor?
- 创建桌面notifications
- Lock、synchronized和ReadWriteLock的区别和联系
- 时间戳格式化
- Linux网络编程9 -- 简单总结Select改善多进程并发服务器
- RabbitMq--00
- javaweb三大框架和MVC设计模式