MVVM登录和注册框架

先进行敲框架然后进行登录注册

package com.example.zhuangao21.base.Http.Login;

import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;

import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

import com.example.zhuangao21.R;
import com.example.zhuangao21.base.Http.Entity.UserEntity;
import com.example.zhuangao21.base.Http.Resigter.ResigterActivity;
import com.example.zhuangao21.base.Http.View.BaseActivity;
import com.example.zhuangao21.databinding.ActivityLoginBinding;
import com.google.gson.Gson;

import java.util.HashMap;
import java.util.Map;

import okhttp3.MediaType;
import okhttp3.RequestBody;

public class LoginActivity extends BaseActivity<ActivityLoginBinding,LoginViewmodel> {



    @Override
    protected int getLayoutId() {
        return R.layout.activity_login;
    }

    @Override
    protected Class<LoginViewmodel> getViewmodel() {
        return LoginViewmodel.class;
    }

    @Override
    protected void initview() {
        mviewDAtaBinding.dl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String username=mviewDAtaBinding.yonghum.getText().toString().trim();
                String password=mviewDAtaBinding.mima.getText().toString().trim();
                Map<String,String> stringMap=new HashMap<>();
                stringMap.put("username",username);
                stringMap.put("password",password);
                String json=new Gson().toJson(stringMap);
                RequestBody requestBody=RequestBody.create(MediaType.parse("application/json;charset=utf-8"),json);
                mviewmodel.getloginmodel(requestBody);
            }
        });

    }

    @Override
    protected void initdata() {

    }

    @Override
    protected void handObserver() {
        super.handObserver();

        mviewmodel.mutableLiveData.observe(this, new Observer<UserEntity>() {
            @Override
            public void onChanged(UserEntity userEntity) {
                if (userEntity.getCode()==200){
                    Toast.makeText(LoginActivity.this, "登录成功", Toast.LENGTH_SHORT).show();
                }
                else
                {
                    Toast.makeText(LoginActivity.this, "登录失败"+userEntity.getMessage(), Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
}

//这是登录Activity的代码进行登录以及登录成功或登录失败

package com.example.zhuangao21.base.Http.Resigter;

import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;

import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import android.widget.Toolbar;

import com.example.zhuangao21.R;
import com.example.zhuangao21.base.Http.Entity.UserEntity;
import com.example.zhuangao21.base.Http.View.BaseActivity;
import com.example.zhuangao21.databinding.ActivityFoodBinding;
import com.example.zhuangao21.databinding.ActivityResigterBinding;
import com.google.gson.Gson;

import java.util.HashMap;
import java.util.Map;

import okhttp3.MediaType;
import okhttp3.RequestBody;

public class ResigterActivity extends BaseActivity<ActivityResigterBinding,ResigterViewmodel> {


    @Override
    protected int getLayoutId() {
        return R.layout.activity_resigter;
    }

    @Override
    protected Class<ResigterViewmodel> getViewmodel() {
        return ResigterViewmodel.class;
    }

    @Override
    protected void initview() {
        mviewDAtaBinding.zc.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
               String username=mviewDAtaBinding.etUsername.getText().toString().trim();
               String password=mviewDAtaBinding.etPassword.getText().toString().trim();
               String repassword=mviewDAtaBinding.etRepassword.getText().toString().trim();
                Map<String,String> stringMap=new HashMap<>();
                stringMap.put("username",username);
                stringMap.put("password",password);
                stringMap.put("repassword",repassword);
                String json=new Gson().toJson(stringMap);
                RequestBody requestBody=RequestBody.create(MediaType.parse("application/json;charset=utf-6"),json);
                mviewmodel.getResigtermodel(requestBody);

             }
        });

    }

    @Override
    protected void initdata() {

    }

    @Override
    protected void handObserver() {
        super.handObserver();

        mviewmodel.mutableLiveData.observe(this, new Observer<UserEntity>() {
            @Override
            public void onChanged(UserEntity userEntity) {
                if (userEntity.getCode()==200){
                    Toast.makeText(ResigterActivity.this, "注册成功", Toast.LENGTH_SHORT).show();
                }
                else
                {
                    Toast.makeText(ResigterActivity.this, "注册失败"+userEntity.getMessage(), Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
}

//这是注册Activity的界面以及注册成功或注册失败;

  • 34
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值