这是工程结构
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包和上一篇博客一样,这就不传了。