MVP的简单使用
来源:互联网 发布:增值税发票的税率算法 编辑:程序博客网 时间:2024/05/22 06:51
布局样式
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/edit_01" /><EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/edit_02" /><Button android:text="登录" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btn" />Activity主页面
public class MainActivity extends AppCompatActivity implements V_mvp { private EditText editText1; private EditText editText2; private Button btn; private P_mvp p_mvp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText1 = (EditText) findViewById(R.id.edit_01); editText2 = (EditText) findViewById(R.id.edit_01); btn = (Button) findViewById(R.id.btn); p_mvp = new P_mvp(this); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { p_mvp.denglu(editText1.getText().toString(),editText2.getText().toString()); } }); } @Override public void sjh() { Toast.makeText(this, "手机号不能为空", Toast.LENGTH_SHORT).show(); } @Override public void mm() { Toast.makeText(this, "密码不能为空", Toast.LENGTH_SHORT).show(); } @Override public void cg(Object object) { runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_SHORT).show(); } }); } @Override public void sb(int code) { Toast.makeText(MainActivity.this, "登录失败", Toast.LENGTH_SHORT).show(); }}P_Presenter页面
public class P_mvp { private final V_mvp v_mvp; private final M_mvp m_mvp; public P_mvp(V_mvp v_mvp) { this.v_mvp = v_mvp; m_mvp = new M_mvp(); } public void denglu(String sjh, String mm) { if(TextUtils.isEmpty(sjh)){ v_mvp.sjh(); return; } if(TextUtils.isEmpty(mm)){ v_mvp.mm(); return; } m_mvp.chengong(sjh,mm, new ChengGongShiBai() { @Override public void chenggong(String data) { v_mvp.cg(data); } @Override public void shibai(int code) { v_mvp.sb(code); } }); }}V_View页面_接口类
public interface V_mvp { // 手机号码为空 public void sjh(); // 密码为空 public void mm(); // 登陆成功 public void cg(Object object); // 登陆失败 public void sb(int code);}M_Model页面
public class M_mvp { public void chengong(String sjh, String mm, final ChengGongShiBai chengbai) { OkHttpClient okHttpClient = new OkHttpClient(); RequestBody body = new FormBody.Builder() .add("pscid","39") .add("page","1") .build(); final Request request = new Request.Builder().url("http://120.27.23.105/product/getProducts") .post(body) .build(); okHttpClient.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { chengbai.shibai(1); } @Override public void onResponse(Call call, Response response) throws IOException { String result = response.body().string() ; chengbai.chenggong(result); } }); }}ModelCallBack接口页面
public interface ChengGongShiBai { public void chenggong(String data); public void shibai(int code);}
阅读全文
0 0
- MVP的简单使用
- MVP的简单使用
- MVP的简单使用
- mvp框架的简单使用
- Android mvp的简单使用和实现
- Android中使用MVP的简单封装
- MVP+retrofit+rxjava+Knife的简单使用
- RecyclerView的MVP模式简单使用
- 安卓MVP的简单使用
- Android MVP框架和简单的使用
- mvp简单使用
- Mvp简单使用
- MVP简单使用+RecyclerView
- MVP框架 简单使用
- MVP的简单理解
- MVP的简单理解
- MVP的简单实例
- MVP 简单的例子
- 三角形的判定
- TQ210裸机编程——uart
- install record
- 七大查找算法
- 图片压缩按质量压缩
- MVP的简单使用
- nginx upstream模块配置
- VMware Workstation12安装Ubuntu 16.04和VMware Tools教程
- HDU1052Tian Ji -- The Horse Racing
- 组建一台计算机1_硬件1 单位加法器
- 现在流的泪,都是当年犯滴错
- DDOS攻击攻击种类和原理
- C++指针变量的简单运算
- javascript贪吃蛇完整版