布局样式
<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); }