不良事件管理系统之安卓登录LoginActivity

山东大学项目实训

点击登录代码块:

public void LoginPost(View view){
    if(usernameEditText.getText()==null || "".contentEquals(usernameEditText.getText())){
        Toast.makeText(LoginActivity.this,"账号为空!",Toast.LENGTH_SHORT).show();
    }else  if(passwordEditText.getText()==null || "".contentEquals(passwordEditText.getText())){
        Toast.makeText(LoginActivity.this,"密码为空!",Toast.LENGTH_SHORT).show();
    }
    String username = usernameEditText.getText().toString().trim();
    String password = passwordEditText.getText().toString().trim();
    User user = new User(username,password);
    OkHttpClient client = new OkHttpClient();
    Gson gson = new Gson();
    String user1 = gson.toJson(user);
     final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
    RequestBody body = RequestBody.create(JSON,user1);
    String url = "http://43.138.24.19/user/login";

    final Request request =
            new Request.Builder()
           //.header("content-type","application/json")
            .url(url).post(body).build();

    Call call = client.newCall(request);


    call.enqueue(new Callback() {
        @Override
        public void onFailure(@NotNull Call call, @NotNull IOException e) {
            //Toast.makeText(getApplicationContext(),"登录失败",Toast.LENGTH_SHORT).show();
            Log.v("loginActivity", "");
            System.out.println(e);
        }


        @Override
        public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
            final String msg = response.body().string();
            Gson gson = new Gson();

            ResponseData data = gson.fromJson(msg, ResponseData.class);
            //data3 = gson.fromJson(data2,tokenInfo.class);
            if (data.getData() != null){
                String token = data.getData().getToken();
            String refresh_token = data.getData().getRefreshToken();
            Log.i("token", token);

            if (response.isSuccessful()) {

                editor.putString("token", token);
                editor.putString("refresh_token", refresh_token);
                editor.apply();
                   

                // Toast.makeText(getApplicationContext(),"msg",Toast.LENGTH_SHORT).show();
                Log.v("loginActivity", msg);
                String name2 = sharedPreferences.getString("token", "");
                Log.i("token", "token=" + name2);
                Intent intent = new Intent(LoginActivity.this, SlideActivity.class);
                startActivity(intent);

            }
        }else {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        Toast.makeText(getApplicationContext(),"登录失败",Toast.LENGTH_SHORT).show();
                    }
                });
            }
        }
    });

接收双token类

public class ResponseData <T>{
    public int code;
    public String message;
    public tokenInfo data;


    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }


    public tokenInfo getData() {
        return data;
    }

    public void setData(tokenInfo data) {
        this.data = data;
    }





}
public class tokenInfo {

    public String refreshToken;
    public String token;
    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }


    public String getRefreshToken() {
        return refreshToken;
    }

    public void setRefreshToken(String refreshToken) {
        this.refreshToken = refreshToken;
    }





}

登录界面xml

<androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:id="@+id/text1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="河东区妇幼保健院"
        android:textStyle="bold"
        android:textColor="@color/colorLightblue"
        android:gravity="center_horizontal"
        android:paddingTop="100dp"
        android:textSize="40sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"/>
    <EditText
        android:id="@+id/username"
        android:layout_width="326dp"
        android:layout_height="40dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="216dp"
        android:layout_marginEnd="24dp"
        android:background="@drawable/edittext_shape"
        android:hint="请输入工号:"
        android:maxEms="1"
        android:paddingLeft="10dp"
        android:selectAllOnFocus="true"
         android:singleLine="true"
        android:shape="rectangle"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/password"
        android:layout_width="326dp"
        android:layout_height="40dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="52dp"
        android:layout_marginEnd="24dp"
        android:background="@drawable/edittext_shape"
        android:hint="请输入密码:"
        android:singleLine="true"
        android:imeActionLabel="@string/action_sign_in_short"
        android:imeOptions="actionDone"
        android:inputType="textPassword"
        android:maxEms="1"
        android:paddingLeft="10dp"
        android:selectAllOnFocus="true"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/username" />

    <Button
        android:id="@+id/login"
        android:layout_width="272dp"
        android:layout_height="40dp"
        android:layout_gravity="start"
        android:layout_marginStart="48dp"
        android:layout_marginTop="16dp"
        android:layout_marginEnd="48dp"
        android:layout_marginBottom="64dp"
        android:background="@drawable/edittext_shape"
        android:enabled="true"
        android:text="登 录"
        android:onClick="LoginPost"
        android:textSize="20sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/password"
        app:layout_constraintVertical_bias="0.429" />

    <ProgressBar
        android:id="@+id/loading"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginStart="32dp"
        android:layout_marginTop="64dp"
        android:layout_marginEnd="32dp"
        android:layout_marginBottom="64dp"
        android:background="#FFFFFF"
        android:visibility="gone"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="@+id/password"
        app:layout_constraintStart_toStartOf="@+id/password"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.3" />
</androidx.constraintlayout.widget.ConstraintLayout>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值