接口
package com.bwei.heji.api;
public class Api {
//连接头
public static final String MILU="http://172.17.8.100";
//登录
public static String Login =MILU+"/small/user/v1/login";
//注册
public static String Zhuc =MILU+"/small/user/v1/register";
public static String Show =MILU+"/small/commodity/v1/commodityList";
}
数据类
package com.bwei.heji.login.bean;
import java.io.Serializable;
public class LoginBean implements Serializable {
/**
* result : {"headPic":"http://172.17.8.100/images/small/default/user.jpg","nickName":"EJ_BH5E6","phone":"18310391933","sessionId":"15471866729891002","sex":1,"userId":1002}
* message : 登录成功
* status : 0000
*/
private ResultBean result;
private String message;
private String status;
public ResultBean getResult() {
return result;
}
public void setResult(ResultBean result) {
this.result = result;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public static class ResultBean {
/**
* headPic : http://172.17.8.100/images/small/default/user.jpg
* nickName : EJ_BH5E6
* phone : 18310391933
* sessionId : 15471866729891002
* sex : 1
* userId : 1002
*/
private String headPic;
private String nickName;
private String phone;
private String sessionId;
private int sex;
private int userId;
public String getHeadPic() {
return headPic;
}
public void setHeadPic(String headPic) {
this.headPic = headPic;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getSessionId() {
return sessionId;
}
public void setSessionId(String sessionId) {
this.sessionId = sessionId;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
}
}
model类
package com.bwei.heji.login.model;
import com.bwei.heji.network.Okhttps;
import java.util.Map;
public class AiModel implements AiModelImpl{
@Override
public void login(String url, final Class clazz, Map<String,String> parms, final ILoginCallBack loginCallBack) {
Okhttps.getInstance().doPost(url, clazz, parms, new Okhttps.NetCallBack() {
@Override
public void onSuccess(Object o) {
loginCallBack.onStatus(o);
}
@Override
public void onFailure(Exception e) {
}
});
// new Runnable(){
// @Override
// public void run() {
// Okhttps.OkHttpPost(url, username, pwd, new Callback() {
// @Override
// public void onFailure(Call call, IOException e) {
//
// }
//
// @Override
// public void onResponse(Call call, Response response) throws IOException {
// loginCallBack.onStatus(response.body().string());
// }
// });
// }
// }.run();
}
}
model接口
package com.bwei.heji.login.model;
import java.util.Map;
public interface AiModelImpl {
public void login(String url, final Class clazz, Map<String,String> parms, ILoginCallBack loginCallBack);
interface ILoginCallBack {
public void onStatus(Object data);
public void onFailed();
}
}
presenter类
package com.bwei.heji.login.presenter;
import android.util.Log;
import com.bwei.heji.MainActivity;
import com.bwei.heji.api.Api;
import com.bwei.heji.login.bean.LoginBean;
import com.bwei.heji.login.model.AiModel;
import com.bwei.heji.login.model.AiModelImpl;
import java.util.HashMap;
public class AiPresenter implements AiPresenterImpl{
private final AiModel aiModel;
MainActivity mainActivity;
public AiPresenter(MainActivity mainActivity) {
this.mainActivity=mainActivity;
//初始化model
aiModel = new AiModel();
}
@Override
public void loginPre(String name, String pswd) {
HashMap<String, String> map = new HashMap<>();
map.put("name",name);
map.put("pswd",pswd);
aiModel.login(Api.Login, LoginBean.class, map, new AiModelImpl.ILoginCallBack() {
@Override
public void onStatus(Object data) {
mainActivity.showMsg(data);
}
@Override
public void onFailed() {
}
});
// aiModel.login(Api.Login, name, pswd, new AiModel.ILoginCallBack() {
// @Override
// public void onStatus(String data) {
// // Log.i("", "onStatus: "+data);
// mainActivity.showMsg(data);
// }
// @Override
// public void onFailed() {
// }
// });
}
}
presenter接口
package com.bwei.heji.login.presenter;
public interface AiPresenterImpl {
public void loginPre(String name, String pswd);
}
view接口
package com.bwei.heji.login.view;
public interface AiView {
public void showMsg(Object msg);
}
实现类
package com.bwei.heji;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.bwei.heji.login.bean.LoginBean;
import com.bwei.heji.login.presenter.AiPresenter;
import com.bwei.heji.login.view.AiView;
import com.bwei.heji.register.ZhucActivity;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class MainActivity extends AppCompatActivity implements AiView {
@BindView(R.id.name)
EditText name;
@BindView(R.id.pwd)
EditText pwd;
@BindView(R.id.button)
Button button;
@BindView(R.id.button2)
Button button2;
@BindView(R.id.buttons)
Button buttons;
private String ai,ni;
private AiPresenter aiPresenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
aiPresenter = new AiPresenter(this);
}
@OnClick({R.id.button, R.id.button2,R.id.buttons})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.button:
ai = name.getText().toString();
ni = pwd.getText().toString();
if(!ai.isEmpty()&&!ni.isEmpty()){
aiPresenter.loginPre(ai,ni);
}
break;
case R.id.button2:
break;
case R.id.buttons:
startActivity(new Intent(MainActivity.this,ZhucActivity.class));
finish();
break;
}
}
@Override
public void showMsg(final Object msg) {
LoginBean loginBean= (LoginBean) msg;
String status = loginBean.getStatus();
if(status.equals("0000")){
Toast.makeText(MainActivity.this,"登录成功",Toast.LENGTH_LONG).show();
startActivity(new Intent(MainActivity.this,HomeActivity.class));
finish();
}else{
Toast.makeText(MainActivity.this,"账户密码错误",Toast.LENGTH_LONG).show();
}
}
}
相关布局
<?xml version="1.0" encoding="utf-8"?>
<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"
android:layout_gravity="center"
android:background="@mipmap/bj"
tools:context=".MainActivity">
<EditText
android:id="@+id/name"
android:hint="用户名"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="150dp"
android:ems="10"
android:text="17677185462"
android:inputType="textPersonName"
/>
<EditText
android:id="@+id/pwd"
android:hint="密码"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:text="登录" />
<Button
android:id="@+id/buttons"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="注册" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="200dp"
android:text="第三方登录" />
</LinearLayout>