软件工程日报22

个人作业实现——01
今天对个人作业进行分析,创建了数据库表并实现了登录与注册功能

package com.example.mywork;

import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

import com.example.mywork.pojo.User;
import com.example.mywork.service.UserService;

import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;

public class LoginActivity extends AppCompatActivity {
    private EditText etUserId, etPassword;
    private Button btnLogin, btnGoToRegister;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        etUserId = findViewById(R.id.etUserId);
        etPassword = findViewById(R.id.etPassword);
        btnLogin = findViewById(R.id.btnLogin);
        btnGoToRegister = findViewById(R.id.btnGoToRegister);

        btnLogin.setOnClickListener(v -> loginUser());
        btnGoToRegister.setOnClickListener(v -> {
            Intent intent = new Intent(LoginActivity.this, RegisterActivity.class);
            startActivity(intent);
        });
    }

    private void loginUser() {
        String userId = etUserId.getText().toString();
        String password = etPassword.getText().toString();

        UserService apiService = RetrofitClient.getApiService();
        Call<User> call = apiService.loginUser(userId, password);
        call.enqueue(new Callback<User>() {
            @Override
            public void onResponse(Call<User> call, Response<User> response) {
                if (response.isSuccessful()) {
                    User user = response.body();
                    if (user != null) {
                        String role = user.getUserRole();
                        Toast.makeText(LoginActivity.this, "登录成功,角色: " + role, Toast.LENGTH_SHORT).show();
                        // 根据角色跳转到不同页面
                        Intent intent;
                        switch (role) {
                            case "学生":
                                intent = new Intent(LoginActivity.this, StudentActivity.class);
                                break;
                            case "老师":
                                intent = new Intent(LoginActivity.this, TeacherActivity.class);
                                break;
                            default:
                                intent = new Intent(LoginActivity.this, LoginActivity.class);
                                break;
                        }
                        startActivity(intent);
                    } else {
                        Toast.makeText(LoginActivity.this, "用户信息为空", Toast.LENGTH_SHORT).show();
                    }
                } else {
                    Toast.makeText(LoginActivity.this, "登录失败", Toast.LENGTH_SHORT).show();
                }
            }

            @Override
            public void onFailure(Call<User> call, Throwable t) {
                Toast.makeText(LoginActivity.this, "网络错误: " + t.getMessage(), Toast.LENGTH_SHORT).show();
            }
        });
    }
}


posted @ 2025-04-13 19:13  Look_Back  阅读(12)  评论(0)    收藏  举报