实现登录注册

首先导入权限

implementation ‘com.squareup.okhttp3:okhttp:3.7.0’
implementation ‘com.squareup.okio:okio:1.12.0’

写Api

public class Api {
public static final String BASE_URL=“http://172.17.8.100”;
//商品列表
public static String SHOPLIST=BASE_URL+"/small/commodity/v1/commodityList";
//登录
public static String LOGIN=BASE_URL+"/small/user/v1/login";
//轮播
public static final String BUNNER = BASE_URL+"/small/commodity/v1/bannerShow";
//注册
public static final String REGIST = BASE_URL+"/small/user/v1/register";
}

然后创建写okhttp

import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;

public class OkHttp {

private static OkHttpClient okHttpClient;
private static Request request;
private static OkHttpClient client;
private static RequestBody build;
private static Request requestBuild;

public static void okHttpGet(String url, Callback callback){
    okHttpClient = new OkHttpClient();
    request = new Request.Builder().url(url).method("GET", null).build();
    okHttpClient.newCall(request).enqueue(callback);

}
public static void okHttpPost(String url,String name,String pwd,Callback callback){
    client = new OkHttpClient();
    build = new FormBody.Builder().add("phone", name).add("pwd", pwd).build();
    requestBuild = new Request.Builder().url(url).post(OkHttp.build).build();
    client.newCall(requestBuild).enqueue(callback);
}

}

model层
import com.skr.myproject.network.OkHttp;
import java.io.IOException;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;

public class HomeModel implements IHomeModel{
@Override
public void getData(String url, final ModelInterface modelInterface) {
OkHttp.okHttpGet(url, new Callback() {
@Override
public void onFailure(Call call, IOException e) {

        }
        @Override
        public void onResponse(Call call, Response response) throws IOException {
            modelInterface.loadSuccess(response.body().string());
        }
    });
}

}
model接口层

public interface IHomeModel {
void getData(String url,ModelInterface modelInterface);
interface ModelInterface{
void loadSuccess(String data);
void loadFailed();
}
}
prsenter层

import com.skr.myproject.api.Api;
import com.skr.myproject.fragment.HomeFragment;
import com.skr.myproject.home.model.HomeModel;
import com.skr.myproject.home.model.IHomeModel;
import com.skr.myproject.presenter.ILoginPresenter;

public class HomePresenter implements IHomePresenter{
HomeFragment homeFragment;
private final HomeModel homeModel;
public HomePresenter(HomeFragment homeFragment) {
this.homeFragment = homeFragment;
homeModel = new HomeModel();
}

@Override
public void getPresenterData() {
    homeModel.getData(Api.SHOPLIST, new IHomeModel.ModelInterface() {
        @Override
        public void loadSuccess(String data) {
            homeFragment.getViewData(data);
        }

        @Override
        public void loadFailed() {

        }
    });
    homeModel.getData(Api.BUNNER, new IHomeModel.ModelInterface() {
        @Override
        public void loadSuccess(String data) {
            homeFragment.getBannerData(data);
        }

        @Override
        public void loadFailed() {

        }
    });
}

}

prsenter接口层

public interface IHomePresenter {
void getPresenterData();
}

view登录层

public interface ILoginView {
void showMsg(String msg);
void jumpActivity();
}

view注册层

public interface IRegistView {
void showMsg(String msg);
void jumpActivity();
}

登录Activity

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.google.gson.Gson;
import com.skr.myproject.bean.LoginBean;
import com.skr.myproject.presenter.LoginPresenter;
import com.skr.myproject.view.ILoginView;
import com.skr.myproject.view.IRegistView;

public class MainActivity extends AppCompatActivity implements ILoginView{

private EditText et_login_name;
private EditText et_login_pwd;
private CheckBox ck_rem_pwd;
private TextView text_reg;
private Button btn_login;
private LoginPresenter loginPresenter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    et_login_name = findViewById(R.id.et_login_name);
    et_login_pwd = findViewById(R.id.et_login_pwd);
    ck_rem_pwd = findViewById(R.id.ck_rem_pwd);
    text_reg = findViewById(R.id.text_reg);
    btn_login = findViewById(R.id.btn_login);
    //初始化presenter
    loginPresenter = new LoginPresenter(this);
    btn_login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String name = et_login_name.getText().toString();
            String pwd = et_login_pwd.getText().toString();
            if (TextUtils.isEmpty(name)||TextUtils.isEmpty(pwd)){
                Toast.makeText(MainActivity.this, "用户名或密码不能为空", Toast.LENGTH_SHORT).show();
            }else{
                loginPresenter.loginPre(name,pwd);
            }
        }
    });
    text_reg.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
             Intent intent = new Intent(MainActivity.this,RegistActivity.class);
             startActivity(intent);
        }
    });
}

@Override
public void showMsg(final String msg) {
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            Gson gson = new Gson();
            LoginBean loginBean = gson.fromJson(msg, LoginBean.class);
            String status = loginBean.getStatus();
            if (status.equals("0000")){
                Intent intent = new Intent(MainActivity.this,ShowActivity.class);
                startActivity(intent);
                finish();
            }else{
                Toast.makeText(MainActivity.this, loginBean.getMessage(), Toast.LENGTH_SHORT).show();
            }
        }
    });

}

@Override
public void jumpActivity() {

}

}

注册Activity

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.google.gson.Gson;
import com.skr.myproject.bean.RegistBean;
import com.skr.myproject.presenter.LoginPresenter;
import com.skr.myproject.view.IRegistView;

public class RegistActivity extends AppCompatActivity implements IRegistView {

private EditText et_reg_name;
private EditText et_reg_pwd;
private EditText et_reg_yan;
private TextView text_login;
private LoginPresenter loginPresenter;
private Button btn_regist;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_regist);
    et_reg_name = findViewById(R.id.et_reg_name);
    et_reg_yan = findViewById(R.id.et_reg_yan);
    et_reg_pwd = findViewById(R.id.et_reg_pwd);
    btn_regist = findViewById(R.id.btn_regist);
    text_login = findViewById(R.id.text_login);

    loginPresenter = new LoginPresenter(this);
    btn_regist.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String name = et_reg_name.getText().toString();
            String pwd = et_reg_pwd.getText().toString();
            if (TextUtils.isEmpty(name)||TextUtils.isEmpty(pwd)){
                Toast.makeText(RegistActivity.this, "输入内容不能为空", Toast.LENGTH_SHORT).show();
            }else{
                loginPresenter.registPre(name,pwd);
            }
        }
    });
    text_login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(RegistActivity.this,MainActivity.class);
            startActivity(intent);
            finish();
        }
    });
}
@Override
public void showMsg(final String msg) {
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            Gson gson = new Gson();
            RegistBean registBean = gson.fromJson(msg, RegistBean.class);
            String status = registBean.getStatus();
            if (status.equals("0000")){
                Intent intent = new Intent(RegistActivity.this,MainActivity.class);
                startActivity(intent);
                finish();
            }else{
                Toast.makeText(RegistActivity.this, registBean.getMessage(), Toast.LENGTH_SHORT).show();
            }
        }
    });
}
@Override
public void jumpActivity() {

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值